Bug 37259 - Deadlock in autocomplete
Summary: Deadlock in autocomplete
Status: RESOLVED DUPLICATE of bug 43922
Alias: None
Product: JDT
Classification: Eclipse Project
Component: Core (show other bugs)
Version: 2.1   Edit
Hardware: PC Windows 2000
: P3 major (vote)
Target Milestone: 3.0 M4   Edit
Assignee: Frederic Fusier CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2003-05-06 07:41 EDT by Nikolay Metchev CLA
Modified: 2004-02-06 14:03 EST (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Nikolay Metchev CLA 2003-05-06 07:41:53 EDT
Eclipse deadlocked here is the stack trace. I happend to have a prompt open so 
I could "Ctrl+Break":
I am using 2.1.1

Full thread dump Java HotSpot(TM) Client VM (1.4.2-beta-b19 mixed mode):

"org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x26c5eb48 n
id=0x858 in Object.wait() [280af000..280afd94]
        at java.lang.Object.wait(Native Method)
        at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread
.run(AbstractReconciler.java:161)
        - locked <0x12f00ef0> (a org.eclipse.jface.text.reconciler.DirtyRegionQu
eue)

"Text Viewer Hover Presenter" daemon prio=2 tid=0x2493abf8 nid=0x86c runnable [2
803f000..2803fd94]
        at java.util.zip.ZipFile.getNextEntry(Native Method)
        at java.util.zip.ZipFile.access$400(ZipFile.java:26)
        at java.util.zip.ZipFile$2.nextElement(ZipFile.java:313)
        - locked <0x12d63c00> (a java.util.zip.ZipFile)
        at org.eclipse.jdt.internal.core.SourceMapper.computeAllRootPaths(Source
Mapper.java:377)
        at org.eclipse.jdt.internal.core.SourceMapper.findSource(SourceMapper.ja
va:793)
        at org.eclipse.jdt.internal.core.SourceMapper.findSource(SourceMapper.ja
va:768)
        at org.eclipse.jdt.internal.core.ClassFile.openBuffer(ClassFile.java:390
)
        at org.eclipse.jdt.internal.core.Openable.getBuffer(Openable.java:193)
        at org.eclipse.jdt.internal.corext.javadoc.JavaDocAccess.getJavaDoc(Java
DocAccess.java:44)
        at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo
(JavadocHover.java:62)
        at org.eclipse.jdt.internal.ui.text.java.hover.AbstractJavaEditorTextHov
er.getHoverInfo(AbstractJavaEditorTextHover.java:98)
        at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverIn
fo(BestMatchHover.java:137)
        at org.eclipse.jdt.internal.ui.text.java.hover.JavaEditorTextHoverProxy.
getHoverInfo(JavaEditorTextHoverProxy.java:72)
        at org.eclipse.jface.text.TextViewerHoverManager$2.run(TextViewerHoverMa
nager.java:110)

"Console Polling Thread" prio=5 tid=0x2473de38 nid=0x69c waiting on condition [2
7f2f000..27f2fd94]
        at java.lang.Thread.sleep(Native Method)
        at org.eclipse.debug.internal.ui.views.console.ConsoleDocumentPartitione
r.pollAndSleep(ConsoleDocumentPartitioner.java:528)
        at org.eclipse.debug.internal.ui.views.console.ConsoleDocumentPartitione
r$1.run(ConsoleDocumentPartitioner.java:512)
        at java.lang.Thread.run(Thread.java:534)

"Process Monitor" prio=5 tid=0x24940b40 nid=0x8b8 runnable [27eef000..27eefd94]
        at java.lang.Win32Process.waitFor(Native Method)
        at org.eclipse.debug.internal.core.ProcessMonitor.monitorProcess(Process
Monitor.java:51)
        at org.eclipse.debug.internal.core.ProcessMonitor.access$0(ProcessMonito
r.java:48)
        at org.eclipse.debug.internal.core.ProcessMonitor$1.run(ProcessMonitor.j
ava:68)
        at java.lang.Thread.run(Thread.java:534)

"Input Stream Monitor" prio=5 tid=0x248f1cf8 nid=0x788 in Object.wait() [27eaf00
0..27eafd94]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x128c3130> (a java.lang.Object)
        at java.lang.Object.wait(Object.java:429)
        at org.eclipse.debug.internal.core.InputStreamMonitor.writeNext(InputStr
eamMonitor.java:124)
        - locked <0x128c3130> (a java.lang.Object)
        at org.eclipse.debug.internal.core.InputStreamMonitor.write(InputStreamM
onitor.java:99)
        at org.eclipse.debug.internal.core.InputStreamMonitor$1.run(InputStreamM
onitor.java:75)
        at java.lang.Thread.run(Thread.java:534)

"Output Stream Monitor" prio=5 tid=0x26c00668 nid=0x6e0 runnable [27e6f000..27e6
fd94]
        at java.io.FileInputStream.readBytes(Native Method)
        at java.io.FileInputStream.read(FileInputStream.java:177)
        at org.eclipse.debug.internal.core.OutputStreamMonitor.read(OutputStream
Monitor.java:132)
        at org.eclipse.debug.internal.core.OutputStreamMonitor.access$1(OutputSt
reamMonitor.java:124)
        at org.eclipse.debug.internal.core.OutputStreamMonitor$1.run(OutputStrea
mMonitor.java:177)
        at java.lang.Thread.run(Thread.java:534)

"Output Stream Monitor" prio=5 tid=0x247414a0 nid=0x4ec runnable [27e2f000..27e2
fd94]
        at java.io.FileInputStream.readBytes(Native Method)
        at java.io.FileInputStream.read(FileInputStream.java:194)
        at java.io.BufferedInputStream.read1(BufferedInputStream.java:220)
        at java.io.BufferedInputStream.read(BufferedInputStream.java:277)
        - locked <0x128c7280> (a java.io.BufferedInputStream)
        at java.io.FilterInputStream.read(FilterInputStream.java:90)
        at org.eclipse.debug.internal.core.OutputStreamMonitor.read(OutputStream
Monitor.java:132)
        at org.eclipse.debug.internal.core.OutputStreamMonitor.access$1(OutputSt
reamMonitor.java:124)
        at org.eclipse.debug.internal.core.OutputStreamMonitor$1.run(OutputStrea
mMonitor.java:177)
        at java.lang.Thread.run(Thread.java:534)

"org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x247c36f8 n
id=0x590 runnable [2749f000..2749fd94]
        at java.lang.Object.wait(Native Method)
        at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread
.run(AbstractReconciler.java:161)
        - locked <0x12267638> (a org.eclipse.jface.text.reconciler.DirtyRegionQu
eue)

"Decoration" daemon prio=2 tid=0x245efe90 nid=0x764 in Object.wait() [2531f000..
2531fd94]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x11adfc98> (a org.eclipse.ui.internal.decorators.Decorati
onScheduler)
        at java.lang.Object.wait(Object.java:429)
        at org.eclipse.ui.internal.decorators.DecorationScheduler.next(Decoratio
nScheduler.java:214)
        - locked <0x11adfc98> (a org.eclipse.ui.internal.decorators.DecorationSc
heduler)
        at org.eclipse.ui.internal.decorators.DecorationScheduler$2.run(Decorati
onScheduler.java:240)
        at java.lang.Thread.run(Thread.java:534)

"org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x2467de88 n
id=0x5a0 runnable [2516f000..2516fd94]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x11a970f0> (a org.eclipse.jface.text.reconciler.DirtyRegi
onQueue)
        at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread
.run(AbstractReconciler.java:161)
        - locked <0x11a970f0> (a org.eclipse.jface.text.reconciler.DirtyRegionQu
eue)

"Java indexing" daemon prio=4 tid=0x24353a00 nid=0xa5c waiting on condition [251
2f000..2512fd94]
        at java.lang.Thread.sleep(Native Method)
        at org.eclipse.jdt.internal.core.search.processing.JobManager.run(JobMan
ager.java:349)
        at java.lang.Thread.run(Thread.java:534)

"Signal Dispatcher" daemon prio=10 tid=0x00921ac0 nid=0xa08 waiting on condition
 [0..0]

"Finalizer" daemon prio=9 tid=0x0091ece8 nid=0x8cc in Object.wait() [2422f000..2
422fd94]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x113cb060> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:111)
        - locked <0x113cb060> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:127)
        at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)

"Reference Handler" daemon prio=10 tid=0x0091d860 nid=0x574 in Object.wait() [24
1ef000..241efd94]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x113cb0c8> (a java.lang.ref.Reference$Lock)
        at java.lang.Object.wait(Object.java:429)
        at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:115)
        - locked <0x113cb0c8> (a java.lang.ref.Reference$Lock)

"main" prio=5 tid=0x00235948 nid=0x27c runnable [6e000..6fc3c]
        at java.util.zip.ZipFile.getNextEntry(Native Method)
        at java.util.zip.ZipFile.access$400(ZipFile.java:26)
        at java.util.zip.ZipFile$2.nextElement(ZipFile.java:313)
        - locked <0x102e0138> (a java.util.zip.ZipFile)
        at org.eclipse.jdt.internal.core.SourceMapper.computeAllRootPaths(Source
Mapper.java:377)
        at org.eclipse.jdt.internal.core.SourceMapper.findSource(SourceMapper.ja
va:793)
        at org.eclipse.jdt.internal.core.SourceMapper.findSource(SourceMapper.ja
va:768)
        at org.eclipse.jdt.internal.core.BinaryMethod.getParameterNames(BinaryMe
thod.java:173)
        at org.eclipse.jdt.internal.core.CompletionRequestorWrapper.findMethodPa
rameterNames(CompletionRequestorWrapper.java:322)
        at org.eclipse.jdt.internal.core.CompletionRequestorWrapper.acceptMethod
(CompletionRequestorWrapper.java:174)
        at org.eclipse.jdt.internal.codeassist.CompletionEngine.findLocalMethods
(CompletionEngine.java:2071)
        at org.eclipse.jdt.internal.codeassist.CompletionEngine.findMethods(Comp
letionEngine.java:2432)
        at org.eclipse.jdt.internal.codeassist.CompletionEngine.findVariablesAnd
Methods(CompletionEngine.java:2900)
        at org.eclipse.jdt.internal.codeassist.CompletionEngine.complete(Complet
ionEngine.java:445)
        at org.eclipse.jdt.internal.codeassist.CompletionEngine.complete(Complet
ionEngine.java:949)
        at org.eclipse.jdt.internal.core.Openable.codeComplete(Openable.java:125
)
        at org.eclipse.jdt.internal.core.CompilationUnit.codeComplete(Compilatio
nUnit.java:94)
        at org.eclipse.jdt.internal.ui.text.java.ParameterGuesser$VariableCollec
tor.collect(ParameterGuesser.java:110)
        at org.eclipse.jdt.internal.ui.text.java.ParameterGuesser.guessParameter
Name(ParameterGuesser.java:216)
        at org.eclipse.jdt.internal.ui.text.java.ParameterGuessingProposal.guess
Parameters(ParameterGuessingProposal.java:186)
        at org.eclipse.jdt.internal.ui.text.java.ParameterGuessingProposal.compu
teGuessingCompletion(ParameterGuessingProposal.java:208)
        at org.eclipse.jdt.internal.ui.text.java.ParameterGuessingProposal.apply
(ParameterGuessingProposal.java:116)
        at org.eclipse.jdt.internal.ui.text.java.JavaCompletionProposal.apply(Ja
vaCompletionProposal.java:503)
        at org.eclipse.jface.text.contentassist.CompletionProposalPopup.insertPr
oposal(CompletionProposalPopup.java:333)
        at org.eclipse.jface.text.contentassist.CompletionProposalPopup.selectPr
oposalWithMask(CompletionProposalPopup.java:302)
        at org.eclipse.jface.text.contentassist.CompletionProposalPopup.verifyKe
y(CompletionProposalPopup.java:573)
        at org.eclipse.jface.text.contentassist.ContentAssistant$InternalListene
r.verifyKey(ContentAssistant.java:605)
        at org.eclipse.jface.text.TextViewer$VerifyKeyListenersManager.verifyKey
(TextViewer.java:368)
        at org.eclipse.swt.custom.StyledTextListener.handleEvent(StyledTextListe
ner.java:55)
        at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:81)
        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:840)
        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:865)
        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:849)
        at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:656)
        at org.eclipse.swt.custom.StyledText.handleKeyDown(StyledText.java:5214)

        at org.eclipse.swt.custom.StyledText$8.handleEvent(StyledText.java:4963)

        at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:81)
        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:840)
        at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:1838)
        at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:1545)
        at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1402)
        at org.eclipse.ui.internal.Workbench.run(Workbench.java:1385)
        at org.eclipse.core.internal.boot.InternalBootLoader.run(InternalBootLoa
der.java:845)
        at org.eclipse.core.boot.BootLoader.run(BootLoader.java:461)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:324)
        at org.eclipse.core.launcher.Main.basicRun(Main.java:291)
        at org.eclipse.core.launcher.Main.run(Main.java:747)
        at org.eclipse.core.launcher.Main.main(Main.java:583)

"VM Thread" prio=5 tid=0x0095d110 nid=0x940 runnable

"VM Periodic Task Thread" prio=10 tid=0x0023ead8 nid=0x600 waiting on condition

"Suspend Checker Thread" prio=10 tid=0x00921170 nid=0x71c runnable
Comment 1 Nikolay Metchev CLA 2003-05-06 08:11:50 EDT
further to my original bug report:
After killing eclipse I couldn't get it to run again (it kept on deadlocking). 
But I noticed that I had a residiual process from the previous session. After 
killing that process as well eclipse recovered. It appeared to possible have 
something to do with a lock on one of the files on the file system!
Comment 2 Frederic Fusier CLA 2003-10-08 06:24:28 EDT

*** This bug has been marked as a duplicate of 43922 ***