Bug 55986 - Series of Reconciler Threads deadlocks UI on Content Assist
Summary: Series of Reconciler Threads deadlocks UI on Content Assist
Status: RESOLVED DUPLICATE of bug 55867
Alias: None
Product: JDT
Classification: Eclipse Project
Component: Text (show other bugs)
Version: 3.0   Edit
Hardware: PC Windows XP
: P3 major (vote)
Target Milestone: ---   Edit
Assignee: JDT-Text-Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-03-24 14:09 EST by Kim Horne CLA
Modified: 2004-03-24 14:22 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 Kim Horne CLA 2004-03-24 14:09:02 EST
20040324

The Reconciler is running a series of Threads is my workbench many of which are
locked. When I attempt to use Content Assist in the UI it gets locked in the UI
Thread apparently also waiting for the lock.

Here is the trace

"Worker-12" prio=5 tid=0x172C4830 nid=0xafc in Object.wait() [189af000..189afd8c
]
        at java.lang.Object.wait(Native Method)
        - waiting on <041712B0> (a org.eclipse.core.internal.jobs.WorkerPool)
        at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:184)
        - locked <041712B0> (a org.eclipse.core.internal.jobs.WorkerPool)
        at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:21
0)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)

"Worker-11" prio=5 tid=0x17D74388 nid=0x6a4 in Object.wait() [188ef000..188efd8c
]
        at java.lang.Object.wait(Native Method)
        - waiting on <041712B0> (a org.eclipse.core.internal.jobs.WorkerPool)
        at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:184)
        - locked <041712B0> (a org.eclipse.core.internal.jobs.WorkerPool)
        at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:21
0)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)

"org.eclipse.pde.internal.ui.editor.manifest.NotifyingReconciler" daemon prio=2
tid=0x17CF1318 nid=0xba4 in Object.wait() [1896f000..1896fd8c]
        at java.lang.Object.wait(Native Method)
        - waiting on <0650D410> (a org.eclipse.jface.text.reconciler.DirtyRegion
Queue)
        at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread
.run(AbstractReconciler.java:161)
        - locked <0650D410> (a org.eclipse.jface.text.reconciler.DirtyRegionQueu
e)

"org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x17D0E898 n
id=0xe64 in Object.wait() [1892f000..1892fd8c]
        at java.lang.Object.wait(Native Method)
        - waiting on <063D8DB8> (a org.eclipse.jface.text.reconciler.DirtyRegion
Queue)
        at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread
.run(AbstractReconciler.java:161)
        - locked <063D8DB8> (a org.eclipse.jface.text.reconciler.DirtyRegionQueu
e)

"Worker-10" prio=5 tid=0x17CD8CF8 nid=0x248 in Object.wait() [1888f000..1888fd8c
]
        at java.lang.Object.wait(Native Method)
        - waiting on <041712B0> (a org.eclipse.core.internal.jobs.WorkerPool)
        at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:184)
        - locked <041712B0> (a org.eclipse.core.internal.jobs.WorkerPool)
        at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:21
0)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)

"Worker-9" prio=5 tid=0x17D5B910 nid=0x9c8 in Object.wait() [186cf000..186cfd8c]

        at java.lang.Object.wait(Native Method)
        - waiting on <041712B0> (a org.eclipse.core.internal.jobs.WorkerPool)
        at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:184)
        - locked <041712B0> (a org.eclipse.core.internal.jobs.WorkerPool)
        at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:21
0)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)

"Worker-8" prio=5 tid=0x172AEEC0 nid=0xf40 in Object.wait() [1866f000..1866fd8c]

        at java.lang.Object.wait(Native Method)
        - waiting on <041712B0> (a org.eclipse.core.internal.jobs.WorkerPool)
        at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:184)
        - locked <041712B0> (a org.eclipse.core.internal.jobs.WorkerPool)
        at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:21
0)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)

"Worker-7" prio=5 tid=0x1721D638 nid=0xcb8 in Object.wait() [1860f000..1860fd8c]

        at java.lang.Object.wait(Native Method)
        - waiting on <041712B0> (a org.eclipse.core.internal.jobs.WorkerPool)
        at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:184)
        - locked <041712B0> (a org.eclipse.core.internal.jobs.WorkerPool)
        at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:21
0)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)

"org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x17026C48 n
id=0x3fc runnable [17b7f000..17b7fd8c]
        at java.lang.Object.wait(Native Method)
        - waiting on <053FE9F0> (a org.eclipse.jface.text.reconciler.DirtyRegion
Queue)
        at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread
.run(AbstractReconciler.java:161)
        - locked <053FE9F0> (a org.eclipse.jface.text.reconciler.DirtyRegionQueu
e)

"Worker-6" prio=5 tid=0x16E459F8 nid=0xe14 in Object.wait() [17aef000..17aefd8c]

        at java.lang.Object.wait(Native Method)
        - waiting on <041712B0> (a org.eclipse.core.internal.jobs.WorkerPool)
        at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:184)
        - locked <041712B0> (a org.eclipse.core.internal.jobs.WorkerPool)
        at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:21
0)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)

"Worker-5" prio=5 tid=0x16E49900 nid=0xf84 in Object.wait() [17a5f000..17a5fd8c]

        at java.lang.Object.wait(Native Method)
        - waiting on <041712B0> (a org.eclipse.core.internal.jobs.WorkerPool)
        at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:184)
        - locked <041712B0> (a org.eclipse.core.internal.jobs.WorkerPool)
        at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:21
0)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)

"org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x17033148 n
id=0xa30 runnable [17ccf000..17ccfd8c]
        at java.lang.Object.wait(Native Method)
        - waiting on <05286190> (a org.eclipse.jface.text.reconciler.DirtyRegion
Queue)
        at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread
.run(AbstractReconciler.java:161)
        - locked <05286190> (a org.eclipse.jface.text.reconciler.DirtyRegionQueu
e)

"org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x17034D40 n
id=0xfc8 runnable [17c8f000..17c8fd8c]
        at java.lang.Object.wait(Native Method)
        - waiting on <050AFFD0> (a org.eclipse.jface.text.reconciler.DirtyRegion
Queue)
        at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread
.run(AbstractReconciler.java:161)
        - locked <050AFFD0> (a org.eclipse.jface.text.reconciler.DirtyRegionQueu
e)

"Worker-1" prio=5 tid=0x16FD9E50 nid=0x874 in Object.wait() [17a9f000..17a9fd8c]

        at java.lang.Object.wait(Native Method)
        - waiting on <041712B0> (a org.eclipse.core.internal.jobs.WorkerPool)
        at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:184)
        - locked <041712B0> (a org.eclipse.core.internal.jobs.WorkerPool)
        at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:21
0)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)

"Java indexing" daemon prio=4 tid=0x16FF6470 nid=0xed0 in Object.wait() [17a1f00
0..17a1fd8c]
        at java.lang.Object.wait(Native Method)
        - waiting on <0471FC08> (a org.eclipse.jdt.internal.core.search.indexing
.IndexManager)
        at java.lang.Object.wait(Object.java:426)
        at org.eclipse.jdt.internal.core.search.processing.JobManager.run(JobMan
ager.java:327)
        - locked <0471FC08> (a org.eclipse.jdt.internal.core.search.indexing.Ind
exManager)
        at java.lang.Thread.run(Thread.java:536)

"Start Level Event Dispatcher" daemon prio=5 tid=0x00A4AEB8 nid=0xaf8 in Object.
wait() [1734f000..1734fd8c]
        at java.lang.Object.wait(Native Method)
        - waiting on <03E67018> (a org.eclipse.osgi.framework.eventmgr.EventThre
ad)
        at java.lang.Object.wait(Object.java:426)
        at org.eclipse.osgi.framework.eventmgr.EventThread.getNextEvent(EventThr
ead.java:167)
        - locked <03E67018> (a org.eclipse.osgi.framework.eventmgr.EventThread)
        at org.eclipse.osgi.framework.eventmgr.EventThread.run(EventThread.java:
118)

"Framework Event Dispatcher" daemon prio=5 tid=0x00A54120 nid=0x470 in Object.wa
it() [16f0f000..16f0fd8c]
        at java.lang.Object.wait(Native Method)
        - waiting on <03E5EC78> (a org.eclipse.osgi.framework.eventmgr.EventThre
ad)
        at java.lang.Object.wait(Object.java:426)
        at org.eclipse.osgi.framework.eventmgr.EventThread.getNextEvent(EventThr
ead.java:167)
        - locked <03E5EC78> (a org.eclipse.osgi.framework.eventmgr.EventThread)
        at org.eclipse.osgi.framework.eventmgr.EventThread.run(EventThread.java:
118)

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

"Finalizer" daemon prio=9 tid=0x0003E748 nid=0xeb8 in Object.wait() [16bcf000..1
6bcfd8c]
        at java.lang.Object.wait(Native Method)
        - waiting on <03E244F0> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:111)
        - locked <03E244F0> (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=0x0003D318 nid=0x448 in Object.wait() [95
f000..95fd8c]
        at java.lang.Object.wait(Native Method)
        - waiting on <03E24558> (a java.lang.ref.Reference$Lock)
        at java.lang.Object.wait(Object.java:426)
        at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:113)
        - locked <03E24558> (a java.lang.ref.Reference$Lock)

"main" prio=7 tid=0x00034BD8 nid=0xe38 in Object.wait() [7e000..7fc40]
        at java.lang.Object.wait(Native Method)
        - waiting on <047D3168> (a java.lang.Object)
        at java.lang.Object.wait(Object.java:426)
        at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider.getAST(ASTProvider
.java:327)
        - locked <047D3168> (a java.lang.Object)
        at org.eclipse.jdt.internal.ui.text.correction.AssistContext.getASTRoot(
AssistContext.java:67)
        at org.eclipse.jdt.internal.ui.text.correction.LocalCorrectionsSubProces
sor.addCorrectAccessToStaticProposals(LocalCorrectionsSubProcessor.java:424)
        at org.eclipse.jdt.internal.ui.text.correction.QuickFixProcessor.process
(QuickFixProcessor.java:267)
        at org.eclipse.jdt.internal.ui.text.correction.QuickFixProcessor.getCorr
ections(QuickFixProcessor.java:172)
        at org.eclipse.jdt.internal.ui.text.correction.JavaCorrectionProcessor.c
ollectCorrections(JavaCorrectionProcessor.java:246)
        at org.eclipse.jdt.internal.ui.text.correction.JavaCorrectionProcessor.p
rocessProblemAnnotations(JavaCorrectionProcessor.java:234)
        at org.eclipse.jdt.internal.ui.text.correction.JavaCorrectionProcessor.c
omputeCompletionProposals(JavaCorrectionProcessor.java:192)
        at org.eclipse.jface.text.contentassist.ContentAssistant.computeCompleti
onProposals(ContentAssistant.java:1447)
        at org.eclipse.jface.text.contentassist.CompletionProposalPopup.computeP
roposals(CompletionProposalPopup.java:238)
        at org.eclipse.jface.text.contentassist.CompletionProposalPopup.access$7
(CompletionProposalPopup.java:234)
        at org.eclipse.jface.text.contentassist.CompletionProposalPopup$1.run(Co
mpletionProposalPopup.java:194)
        at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:84)

        at org.eclipse.jface.text.contentassist.CompletionProposalPopup.showProp
osals(CompletionProposalPopup.java:189)
        at org.eclipse.jface.text.contentassist.ContentAssistant.showPossibleCom
pletions(ContentAssistant.java:1298)
        at org.eclipse.jdt.internal.ui.text.correction.JavaCorrectionAssistant.s
howPossibleCompletions(JavaCorrectionAssistant.java:160)
        at org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitEditor$AdaptedS
ourceViewer.doOperation(CompilationUnitEditor.java:172)
        at org.eclipse.jdt.internal.ui.javaeditor.JavaSelectMarkerRulerAction.ru
n(JavaSelectMarkerRulerAction.java:66)
        at org.eclipse.ui.texteditor.AbstractRulerActionDelegate.run(AbstractRul
erActionDelegate.java:98)
        at org.eclipse.ui.internal.PluginAction.runWithEvent(PluginAction.java:2
69)
        at org.eclipse.ui.internal.PluginAction.run(PluginAction.java:231)
        at org.eclipse.ui.texteditor.AbstractTextEditor$10.triggerAction(Abstrac
tTextEditor.java:1865)
        at org.eclipse.ui.texteditor.AbstractTextEditor$10.mouseUp(AbstractTextE
ditor.java:1872)
        at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:
136)
        at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:82)
        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:769)
        at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:2584)
        at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2262)
        at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1541)
        at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1515)
        at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.jav
a:257)
        at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:139)
        at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:90
)
        at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformAct
ivator.java:288)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.ja
va:232)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.ja
va:116)
        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:315)
        at org.eclipse.core.launcher.Main.run(Main.java:740)
        at org.eclipse.core.launcher.Main.main(Main.java:724)

"VM Thread" prio=5 tid=0x009E5090 nid=0xdd0 runnable

"VM Periodic Task Thread" prio=10 tid=0x009E6D40 nid=0xb94 waiting on condition

"Suspend Checker Thread" prio=10 tid=0x009E7690 nid=0x8f8 runnable
Comment 1 John Arthorne CLA 2004-03-24 14:22:52 EST

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