Bug 76704 - Hang on shutdown
Summary: Hang on shutdown
Status: RESOLVED DUPLICATE of bug 68937
Alias: None
Product: JDT
Classification: Eclipse Project
Component: Core (show other bugs)
Version: 3.0   Edit
Hardware: PC Linux-GTK
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: JDT-Core-Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-10-20 15:31 EDT by Billy Biggs CLA
Modified: 2004-10-28 12:43 EDT (History)
3 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Billy Biggs CLA 2004-10-20 15:31:38 EDT
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
Comment 1 Kim Horne CLA 2004-10-21 10:27:25 EDT
Once again adding the Thread Dudes for comment.
Comment 2 John Arthorne CLA 2004-10-21 10:31:33 EDT
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.
Comment 3 Kim Horne CLA 2004-10-28 09:15:13 EDT
Is this still happening in the latest IBuild?
Comment 4 John Arthorne CLA 2004-10-28 10:08:32 EDT
I suggest moving this one to JDT Core since the shutdown is blocked by the JDT
indexing thread, which appears to be idling.
Comment 5 Billy Biggs CLA 2004-10-28 10:22:57 EDT
Moving to JDT ...
Comment 6 Frederic Fusier CLA 2004-10-28 12:43:30 EDT

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