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.

Bug 224938

Summary: Deadlock AWT-EventQueue-0 <-> Code Completion
Product: java Reporter: 280Z28
Component: EditorAssignee: Dusan Balek <dbalek>
Status: VERIFIED FIXED    
Severity: normal CC: aldobrucale, cyhelsky, mmirilovic, sreimers
Priority: P2    
Version: 7.3   
Hardware: PC   
OS: Windows 7   
Issue Type: DEFECT Exception Reporter:

Description 280Z28 2013-01-16 02:31:38 UTC
Here are the thread stacks:

Java-level deadlock has been detected
 
This means that some threads are blocked waiting to enter a synchronization block or
waiting to reenter a synchronization block after an Object.wait() call, where each thread
owns one monitor while trying to obtain another monitor already held by another thread.
 
Deadlock:


AWT-EventQueue-0 is waiting to lock java.util.concurrent.locks.ReentrantLock$FairSync@78a07411 which is held by Code Completion
Code Completion is waiting to lock org.netbeans.modules.editor.completion.CompletionImpl@59bc1e2d which is held by AWT-EventQueue-0




Thread stacks


AWT-EventQueue-0 [WAITING]
sun.misc.Unsafe.park(native method)
java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:834)
java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:867)
java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1197)
java.util.concurrent.locks.ReentrantLock$FairSync.lock(ReentrantLock.java:229)
java.util.concurrent.locks.ReentrantLock.lock(ReentrantLock.java:290)
org.netbeans.modules.parsing.impl.TaskProcessor.runUserTask(TaskProcessor.java:190)
org.netbeans.modules.parsing.api.ParserManager.parse(ParserManager.java:104)
org.netbeans.modules.editor.java.LazyTypeCompletionItem.accept(LazyTypeCompletionItem.java:116)
org.netbeans.modules.editor.completion.CompletionImpl$1.accept(CompletionImpl.java:142)
org.netbeans.modules.editor.completion.CompletionImpl.requestShowCompletionPane(CompletionImpl.java:956)
org.netbeans.modules.editor.completion.CompletionImpl.finishNotify(CompletionImpl.java:1453)
org.netbeans.modules.editor.completion.CompletionResultSetImpl.finish(CompletionResultSetImpl.java:274)
org.netbeans.spi.editor.completion.CompletionResultSet.finish(CompletionResultSet.java:245)
org.netbeans.modules.editor.java.JavaCompletionProvider$JavaCompletionQuery.filter(JavaCompletionProvider.java:417)
org.netbeans.spi.editor.completion.support.AsyncCompletionTask.refreshImpl(AsyncCompletionTask.java:198)
org.netbeans.spi.editor.completion.support.AsyncCompletionTask.refresh(AsyncCompletionTask.java:149)
org.netbeans.modules.editor.completion.CompletionImpl.refreshResultSets(CompletionImpl.java:1670)
org.netbeans.modules.editor.completion.CompletionImpl.access$2800(CompletionImpl.java:110)
org.netbeans.modules.editor.completion.CompletionImpl$Result.invokeRefresh(CompletionImpl.java:1790)
org.netbeans.modules.editor.completion.CompletionImpl.completionRefresh(CompletionImpl.java:741)
org.netbeans.modules.editor.completion.CompletionImpl.caretUpdate(CompletionImpl.java:374)
javax.swing.text.JTextComponent.fireCaretUpdate(JTextComponent.java:407)
javax.swing.text.JTextComponent$MutableCaretEvent.fire(JTextComponent.java:4417)
javax.swing.text.JTextComponent$MutableCaretEvent.stateChanged(JTextComponent.java:4439)
org.netbeans.editor.BaseCaret$5.run(BaseCaret.java:958)
java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251)
java.awt.EventQueue.dispatchEventImpl(EventQueue.java:721)
java.awt.EventQueue.access$200(EventQueue.java:103)
java.awt.EventQueue$3.run(EventQueue.java:682)
java.awt.EventQueue$3.run(EventQueue.java:680)
java.security.AccessController.doPrivileged(native method)
java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
java.awt.EventQueue.dispatchEvent(EventQueue.java:691)
org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:159)
java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
java.awt.EventDispatchThread.run(EventDispatchThread.java:91)


Code Completion [BLOCKED; waiting to lock org.netbeans.modules.editor.completion.CompletionImpl@59bc1e2d]
org.netbeans.modules.editor.completion.CompletionImpl.documentationCancel(CompletionImpl.java:1183)
org.netbeans.modules.editor.completion.CompletionImpl.hideDocumentation(CompletionImpl.java:1200)
org.netbeans.modules.editor.completion.CompletionImpl.hideDocumentation(CompletionImpl.java:1196)
org.netbeans.api.editor.completion.Completion.hideDocumentation(Completion.java:124)
org.netbeans.modules.editor.java.JavaCompletionProvider$JavaCompletionQuery$5.call(JavaCompletionProvider.java:607)
org.netbeans.modules.editor.java.JavaCompletionProvider$JavaCompletionQuery$5.call(JavaCompletionProvider.java:600)
org.netbeans.modules.java.source.JavadocHelper.doGetJavadoc(JavadocHelper.java:320)
org.netbeans.modules.java.source.JavadocHelper.getJavadoc(JavadocHelper.java:237)
org.netbeans.modules.java.source.JavadocHelper.getJavadoc(JavadocHelper.java:216)
org.netbeans.api.java.source.ui.ElementJavadoc.<init>(ElementJavadoc.java:346)
org.netbeans.api.java.source.ui.ElementJavadoc.create(ElementJavadoc.java:158)
org.netbeans.modules.editor.java.JavaCompletionDoc.create(JavaCompletionDoc.java:90)
org.netbeans.modules.editor.java.JavaCompletionProvider$JavaCompletionQuery.resolveDocumentation(JavaCompletionProvider.java:600)
org.netbeans.modules.editor.java.JavaCompletionProvider$JavaCompletionQuery.run(JavaCompletionProvider.java:431)
org.netbeans.modules.editor.java.JavaCompletionProvider$JavaCompletionQuery$Task.run(JavaCompletionProvider.java:5217)
org.netbeans.modules.parsing.impl.TaskProcessor.callUserTask(TaskProcessor.java:584)
org.netbeans.modules.parsing.api.ParserManager$UserTaskAction.run(ParserManager.java:153)
org.netbeans.modules.parsing.api.ParserManager$UserTaskAction.run(ParserManager.java:137)
org.netbeans.modules.parsing.impl.TaskProcessor$2.call(TaskProcessor.java:201)
org.netbeans.modules.parsing.impl.TaskProcessor$2.call(TaskProcessor.java:198)
org.netbeans.modules.masterfs.filebasedfs.utils.FileChangedManager.priorityIO(FileChangedManager.java:176)
org.netbeans.modules.masterfs.providers.ProvidedExtensions.priorityIO(ProvidedExtensions.java:360)
org.netbeans.modules.parsing.impl.Utilities.runPriorityIO(Utilities.java:74)
org.netbeans.modules.parsing.impl.TaskProcessor.runUserTask(TaskProcessor.java:198)
org.netbeans.modules.parsing.api.ParserManager.parse(ParserManager.java:104)
org.netbeans.modules.editor.java.JavaCompletionProvider$JavaCompletionQuery.query(JavaCompletionProvider.java:297)
org.netbeans.spi.editor.completion.support.AsyncCompletionTask.run(AsyncCompletionTask.java:223)
org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:1454)
org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:2048)
Comment 1 Dusan Balek 2013-01-16 16:38:59 UTC
Fixed in jet-main.

http://hg.netbeans.org/jet-main/rev/e895c098916c
Comment 2 Quality Engineering 2013-01-17 02:49:39 UTC
Integrated into 'main-golden', will be available in build *201301170001* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress)
Changeset: http://hg.netbeans.org/main-golden/rev/e895c098916c
User: Dusan Balek <dbalek@netbeans.org>
Log: Issue #224938: Deadlock AWT-EventQueue-0 <-> Code Completion - fixed.
Comment 3 Jan Lahoda 2013-01-17 14:25:37 UTC
The patch seem fine to me.
Comment 4 Jiri Prox 2013-01-17 15:26:50 UTC
verified in trunk
Comment 5 Jan Lahoda 2013-01-18 16:44:09 UTC
release73:
http://hg.netbeans.org/releases/rev/8f9f0168714b
Comment 6 Quality Engineering 2013-01-19 00:03:00 UTC
Integrated into 'releases', will be available in build *201301182100* or newer. Wait for official and publicly available build.
Changeset: http://hg.netbeans.org/releases/rev/8f9f0168714b
User: Dusan Balek <dbalek@netbeans.org>
Log: Issue #224938: Deadlock AWT-EventQueue-0 <-> Code Completion - fixed.
Comment 7 Jiri Prox 2013-01-25 10:39:50 UTC
v.
Comment 8 Dusan Balek 2013-01-28 16:19:12 UTC
*** Bug 225412 has been marked as a duplicate of this bug. ***
Comment 9 Dusan Balek 2013-01-28 16:19:48 UTC
*** Bug 225235 has been marked as a duplicate of this bug. ***
Comment 10 Dusan Balek 2013-02-08 11:37:37 UTC
*** Bug 225882 has been marked as a duplicate of this bug. ***