This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.
In the mentioned method you do basically: doc.readLock(); try { ... }catch(Exception) { resultSet.finish(); }finally{ doc.readUnlock(); } this is deadlock prone since the resultSet.finish() may directly attempt to get writeLock() for the document when there is just one item and the instant substitution is enabled. See the following stacktrace. You shouldn't call the resultSet.finish() under doc.readLock(). "AWT-EventQueue-2" prio=10 tid=0x087ff400 nid=0x1ecf in Object.wait() [0x85f6b000..0x85f6c1e0] [ideTestRunner] java.lang.Thread.State: WAITING (on object monitor) [ideTestRunner] at java.lang.Object.wait(Native Method) [ideTestRunner] - waiting on <0x8ba55e78> (a org.netbeans.modules.editor.NbEditorDocument) [ideTestRunner] at java.lang.Object.wait(Object.java:485) [ideTestRunner] at javax.swing.text.AbstractDocument.writeLock(AbstractDocument.java:1329) [ideTestRunner] - locked <0x8ba55e78> (a org.netbeans.modules.editor.NbEditorDocument) [ideTestRunner] at org.netbeans.editor.BaseDocument.extWriteLock(BaseDocument.java:1368) [ideTestRunner] - locked <0x8ba55e78> (a org.netbeans.modules.editor.NbEditorDocument) [ideTestRunner] at org.netbeans.editor.BaseDocument.atomicLock(BaseDocument.java:1403) [ideTestRunner] - locked <0x8ba55e78> (a org.netbeans.modules.editor.NbEditorDocument) [ideTestRunner] at org.netbeans.editor.ext.html.HTMLCompletionQuery$HTMLResultItem.replaceText(HTMLCompletionQuery.java:545) [ideTestRunner] at org.netbeans.editor.ext.html.HTMLCompletionQuery$TagItem.substituteText(HTMLCompletionQuery.java:771) [ideTestRunner] at org.netbeans.editor.ext.html.HTMLCompletionQuery$HTMLResultItem.defaultAction(HTMLCompletionQuery.java:540) [ideTestRunner] at org.netbeans.editor.ext.html.HTMLCompletionQuery$HTMLResultItem.instantSubstitution(HTMLCompletionQuery.java:514) [ideTestRunner] at org.netbeans.modules.editor.completion.CompletionImpl$6.run(CompletionImpl.java:803) [ideTestRunner] at org.netbeans.modules.editor.completion.CompletionImpl.runInAWT(CompletionImpl.java:1325) [ideTestRunner] at org.netbeans.modules.editor.completion.CompletionImpl.requestShowCompletionPane(CompletionImpl.java:827) [ideTestRunner] at org.netbeans.modules.editor.completion.CompletionImpl.finishNotify(CompletionImpl.java:1245) [ideTestRunner] at org.netbeans.modules.editor.completion.CompletionResultSetImpl.finish(CompletionResultSetImpl.java:235) [ideTestRunner] at org.netbeans.spi.editor.completion.CompletionResultSet.finish(CompletionResultSet.java:204) [ideTestRunner] at org.netbeans.modules.languages.features.CompletionProviderImpl$CompletionResult.finish(CompletionProviderImpl.java:521) [ideTestRunner] at org.netbeans.modules.languages.features.CompletionProviderImpl$CompletionTaskImpl.addParserTags(CompletionProviderImpl.java:309) [ideTestRunner] at org.netbeans.modules.languages.features.CompletionProviderImpl$CompletionTaskImpl.compute(CompletionProviderImpl.java:223) [ideTestRunner] at org.netbeans.modules.languages.features.CompletionProviderImpl$CompletionTaskImpl.query(CompletionProviderImpl.java:167) [ideTestRunner] at org.netbeans.modules.editor.completion.CompletionImpl.queryResultSets(CompletionImpl.java:1431) [ideTestRunner] at org.netbeans.modules.editor.completion.CompletionImpl.completionQuery(CompletionImpl.java:570) [ideTestRunner] at org.netbeans.modules.editor.completion.CompletionImpl.showCompletion(CompletionImpl.java:726) [ideTestRunner] at org.netbeans.modules.editor.completion.CompletionImpl.access$2200(CompletionImpl.java:76) [ideTestRunner] at org.netbeans.modules.editor.completion.CompletionImpl$CompletionShowAction.actionPerformed(CompletionImpl.java:1351) [ideTestRunner] at org.netbeans.modules.editor.completion.CompletionImpl.dispatchKeyEvent(CompletionImpl.java:496) [ideTestRunner] at org.netbeans.modules.editor.completion.CompletionImpl.keyPressed(CompletionImpl.java:325) [ideTestRunner] at java.awt.AWTEventMulticaster.keyPressed(AWTEventMulticaster.java:233) ...
this issue blocks running qa-functional completion tests, please fix asap -> increasing priority
Fixed. /cvs/languages/engine/src/org/netbeans/modules/languages/features/CompletionProviderImpl.java new revision: 1.33; previous revision: 1.32
*** Issue 114212 has been marked as a duplicate of this issue. ***
Still reproducible, see Issue 114212 , reopen.
Fixed for resultSet.finish() called in addParserTags() method. /cvs/languages/engine/src/org/netbeans/modules/languages/features/CompletionProviderImpl.java new revision: 1.35; previous revision: 1.34