Community
Participate
Working Groups
I think this is a different hang on shutdown from ones I've seen before. Build: eclipse-I200410190941 GTK-Path: /devel/gtk+-2.4.10 Full thread dump Java HotSpot(TM) Client VM (1.4.2_03-b02 mixed mode): "System Bundle Shutdown" prio=1 tid=0x09200e40 nid=0x6c37 in Object.wait() [5bee7000..5bee7854] at java.lang.Object.wait(Native Method) - waiting on <0x460eb348> (a java.lang.Thread) at java.lang.Thread.join(Thread.java:1001) - locked <0x460eb348> (a java.lang.Thread) at java.lang.Thread.join(Thread.java:1054) at org.eclipse.jdt.internal.core.search.processing.JobManager.shutdown(JobManager.java:423) at org.eclipse.jdt.internal.core.JavaModelManager.shutdown(JavaModelManager.java:1911) at org.eclipse.jdt.core.JavaCore.stop(JavaCore.java:3872) at org.eclipse.osgi.framework.internal.core.BundleContextImpl$2.run(BundleContextImpl.java:994) at java.security.AccessController.doPrivileged(Native Method) at org.eclipse.osgi.framework.internal.core.BundleContextImpl.stop(BundleContextImpl.java:990) at org.eclipse.osgi.framework.internal.core.BundleHost.stopWorker(BundleHost.java:502) at org.eclipse.osgi.framework.internal.core.AbstractBundle.stop(AbstractBundle.java:437) at org.eclipse.core.runtime.adaptor.BundleStopper.basicStopBundles(BundleStopper.java:73) at org.eclipse.core.runtime.adaptor.BundleStopper.stopBundles(BundleStopper.java:62) at org.eclipse.core.runtime.adaptor.EclipseAdaptor.frameworkStopping(EclipseAdaptor.java:551) at org.eclipse.osgi.framework.internal.core.Framework.shutdown(Framework.java:457) - locked <0x45b33b50> (a org.eclipse.osgi.framework.internal.core.Framework) at org.eclipse.osgi.framework.internal.core.SystemBundle$1.run(SystemBundle.java:182) at java.lang.Thread.run(Thread.java:534) "Worker-107" prio=1 tid=0x0916f4d0 nid=0x6c37 in Object.wait() [5c59c000..5c59c854] at java.lang.Object.wait(Native Method) at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:166) - locked <0x45cefd70> (a org.eclipse.core.internal.jobs.WorkerPool) at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:193) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:59) "Worker-103" prio=1 tid=0x0929f638 nid=0x6c37 in Object.wait() [5b1eb000..5b1eb854] at java.lang.Object.wait(Native Method) at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:166) - locked <0x45cefd70> (a org.eclipse.core.internal.jobs.WorkerPool) at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:193) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:59) "Worker-100" prio=1 tid=0x092b77c8 nid=0x6c37 in Object.wait() [5bccd000..5bccd854] at java.lang.Object.wait(Native Method) at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:166) - locked <0x45cefd70> (a org.eclipse.core.internal.jobs.WorkerPool) at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:193) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:59) "Java indexing" daemon prio=1 tid=0x085162c0 nid=0x6c37 in Object.wait() [5aa5e000..5aa5e854] at java.lang.Object.wait(Native Method) - waiting on <0x460b2580> (a org.eclipse.jdt.internal.core.search.indexing.IndexManager) at java.lang.Object.wait(Object.java:429) at org.eclipse.jdt.internal.core.search.processing.JobManager.run(JobManager.java:345) - locked <0x460b2580> (a org.eclipse.jdt.internal.core.search.indexing.IndexManager) at java.lang.Thread.run(Thread.java:534) "Reference Cleaner - 2" prio=1 tid=0x0819b130 nid=0x6c37 in Object.wait() [59fbc000..59fbc854] at java.lang.Object.wait(Native Method) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:111) - locked <0x4606efd0> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:127) at org.eclipse.jface.action.ActionContributionItem$ImageCache$ReferenceCleanerThread.run(ActionContributionItem.java:216) "Reference Cleaner - 1" prio=1 tid=0x0819ada8 nid=0x6c37 in Object.wait() [59f3b000..59f3b854] at java.lang.Object.wait(Native Method) - waiting on <0x4606f040> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:111) - locked <0x4606f040> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:127) at org.eclipse.jface.action.ActionContributionItem$ImageCache$ReferenceCleanerThread.run(ActionContributionItem.java:216) "Start Level Event Dispatcher" daemon prio=1 tid=0x0825d690 nid=0x6c37 in Object.wait() [590d5000..590d5854] at java.lang.Object.wait(Native Method) - waiting on <0x45b6d810> (a org.eclipse.osgi.framework.eventmgr.EventThread) at java.lang.Object.wait(Object.java:429) at org.eclipse.osgi.framework.eventmgr.EventThread.getNextEvent(EventThread.java:162) - locked <0x45b6d810> (a org.eclipse.osgi.framework.eventmgr.EventThread) at org.eclipse.osgi.framework.eventmgr.EventThread.run(EventThread.java:100) "Framework Event Dispatcher" daemon prio=1 tid=0x0825e578 nid=0x6c37 in Object.wait() [59054000..59054854] at java.lang.Object.wait(Native Method) - waiting on <0x45b5d938> (a org.eclipse.osgi.framework.eventmgr.EventThread) at java.lang.Object.wait(Object.java:429) at org.eclipse.osgi.framework.eventmgr.EventThread.getNextEvent(EventThread.java:162) - locked <0x45b5d938> (a org.eclipse.osgi.framework.eventmgr.EventThread) at org.eclipse.osgi.framework.eventmgr.EventThread.run(EventThread.java:100) "Signal Dispatcher" daemon prio=1 tid=0x0809d780 nid=0x6c37 waiting on condition [0..0] "Finalizer" daemon prio=1 tid=0x08088918 nid=0x6c37 in Object.wait() [589da000..589da854] at java.lang.Object.wait(Native Method) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:111) - locked <0x45af9750> (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=1 tid=0x08087d28 nid=0x6c37 in Object.wait() [58959000..58959854] at java.lang.Object.wait(Native Method) at java.lang.Object.wait(Object.java:429) at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:115) - locked <0x45af97b8> (a java.lang.ref.Reference$Lock) "main" prio=1 tid=0x08052538 nid=0x6c37 in Object.wait() [bfffc000..bfffcb98] at java.lang.Object.wait(Native Method) - waiting on <0x4496e058> (a org.eclipse.core.runtime.adaptor.Semaphore) at java.lang.Object.wait(Object.java:429) at org.eclipse.core.runtime.adaptor.Semaphore.acquire(Semaphore.java:33) - locked <0x4496e058> (a org.eclipse.core.runtime.adaptor.Semaphore) at org.eclipse.core.runtime.adaptor.EclipseStarter.stopSystemBundle(EclipseStarter.java:920) at org.eclipse.core.runtime.adaptor.EclipseStarter.shutdown(EclipseStarter.java:296) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:144) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at org.eclipse.core.launcher.Main.basicRun(Main.java:185) at org.eclipse.core.launcher.Main.run(Main.java:704) at org.eclipse.core.launcher.Main.main(Main.java:688) "VM Thread" prio=1 tid=0x08086a08 nid=0x6c37 runnable "VM Periodic Task Thread" prio=1 tid=0x0809ff90 nid=0x6c37 waiting on condition "Suspend Checker Thread" prio=1 tid=0x0809cde0 nid=0x6c37 runnable
Once again adding the Thread Dudes for comment.
I agree this one looks different. Shutdown is being blocked because JDT core shutdown is waiting for its indexer thread to complete. I'm not sure what's stopping the Java indexing thread from completing.
Is this still happening in the latest IBuild?
I suggest moving this one to JDT Core since the shutdown is blocked by the JDT indexing thread, which appears to be idling.
Moving to JDT ...
*** This bug has been marked as a duplicate of 68937 ***