Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 313749

Summary: Deadlock after terminating launch target
Product: [WebTools] JSDT Reporter: Michael Schneider <michschn>
Component: DebugAssignee: Project Inbox <jsdt.debug-inbox>
Status: NEW --- QA Contact: Simon Kaegi <simon_kaegi>
Severity: normal    
Priority: P3 CC: jamesblackburn+eclipse, thatnitind
Version: 3.2   
Target Milestone: ---   
Hardware: PC   
OS: Windows 7   
Whiteboard:
Bug Depends on: 249951    
Bug Blocks:    

Description Michael Schneider CLA 2010-05-20 11:24:20 EDT
This happened on HEAD

1) I had a java target launched
2) I attached the JavaScript debugger
3) i did some debugging, let it run
4) it looked like the launch target hit an endless loop (which it did not in previous runs, without the javascript debugger attached)
5) I terminated the Java process

The java launch target was shown as terminated, the javascript debugging target was still shown as running. Attaching thread dump of the target
Comment 1 Michael Schneider CLA 2010-05-20 11:24:29 EDT
6056 javaw.exe ( Progress Information ) session:1 threads:46 parent:5432
2010-05-20 17:18:57
Full thread dump Java HotSpot(TM) Client VM (16.3-b01 mixed mode):

"StackTrace Remote Thread" prio=6 tid=0x3517cc00 nid=0xff0 waiting on condition [0x00000000]
   java.lang.Thread.State: RUNNABLE

"ModalContext" prio=6 tid=0x399c3400 nid=0x1f80 in Object.wait() [0x36f3f000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	at org.eclipse.core.internal.jobs.ThreadJob.waitForRun(ThreadJob.java:269)
	- locked <0x0e844790> (a java.lang.Object)
	at org.eclipse.core.internal.jobs.ThreadJob.joinRun(ThreadJob.java:199)
	at org.eclipse.core.internal.jobs.ImplicitJobs.begin(ImplicitJobs.java:92)
	at org.eclipse.core.internal.jobs.JobManager.beginRule(JobManager.java:285)
	at org.eclipse.core.internal.resources.WorkManager.checkIn(WorkManager.java:117)
	at org.eclipse.core.internal.resources.Workspace.prepareOperation(Workspace.java:1914)
	at org.eclipse.core.internal.resources.SaveManager.save(SaveManager.java:1092)
	at org.eclipse.core.internal.resources.Workspace.save(Workspace.java:2006)
	at org.eclipse.ui.internal.ide.application.IDEWorkbenchAdvisor$4.run(IDEWorkbenchAdvisor.java:491)
	at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121)

"Worker-46" prio=6 tid=0x398df400 nid=0x140 in Object.wait() [0x3b74f000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:185)
	- locked <0x0e78d080> (a org.eclipse.core.internal.jobs.WorkerPool)
	at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:217)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:50)

"Worker-45" prio=6 tid=0x398dec00 nid=0x1b30 in Object.wait() [0x3b6ff000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	at org.eclipse.core.internal.jobs.ThreadJob.waitForRun(ThreadJob.java:269)
	- locked <0x0e844790> (a java.lang.Object)
	at org.eclipse.core.internal.jobs.ThreadJob.joinRun(ThreadJob.java:199)
	at org.eclipse.core.internal.jobs.ImplicitJobs.begin(ImplicitJobs.java:92)
	at org.eclipse.core.internal.jobs.JobManager.beginRule(JobManager.java:285)
	at org.eclipse.core.internal.utils.StringPoolJob.run(StringPoolJob.java:99)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)

"Worker-44" prio=6 tid=0x398de800 nid=0x11b0 waiting for monitor entry [0x3b6af000]
   java.lang.Thread.State: BLOCKED (on object monitor)
	at org.eclipse.wst.jsdt.debug.internal.core.model.JavaScriptDebugTarget.breakpointChanged(JavaScriptDebugTarget.java:827)
	- waiting to lock <0x18bd9e88> (a org.eclipse.wst.jsdt.debug.internal.core.model.JavaScriptDebugTarget)
	at org.eclipse.debug.internal.core.BreakpointManager$BreakpointNotifier.run(BreakpointManager.java:926)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
	at org.eclipse.debug.internal.core.BreakpointManager$BreakpointNotifier.notify(BreakpointManager.java:946)
	at org.eclipse.debug.internal.core.BreakpointManager.fireUpdate(BreakpointManager.java:860)
	at org.eclipse.debug.internal.core.BreakpointManager.access$3(BreakpointManager.java:850)
	at org.eclipse.debug.internal.core.BreakpointManager$BreakpointManagerVisitor.update(BreakpointManager.java:719)
	at org.eclipse.debug.internal.core.BreakpointManager.resourceChanged(BreakpointManager.java:655)
	at org.eclipse.core.internal.events.NotificationManager$2.run(NotificationManager.java:291)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
	at org.eclipse.core.internal.events.NotificationManager.notify(NotificationManager.java:285)
	at org.eclipse.core.internal.events.NotificationManager.broadcastChanges(NotificationManager.java:149)
	at org.eclipse.core.internal.resources.Workspace.broadcastBuildEvent(Workspace.java:311)
	at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:143)
	at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:238)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)

"Worker-39" prio=6 tid=0x398dc800 nid=0x251c in Object.wait() [0x3b51f000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:185)
	- locked <0x0e78d080> (a org.eclipse.core.internal.jobs.WorkerPool)
	at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:217)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:50)

"Worker-35" prio=6 tid=0x39c23c00 nid=0x20c4 in Object.wait() [0x3b3df000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:185)
	- locked <0x0e78d080> (a org.eclipse.core.internal.jobs.WorkerPool)
	at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:217)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:50)

"Worker-29" prio=6 tid=0x399c3000 nid=0x17f8 in Object.wait() [0x3aedf000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:185)
	- locked <0x0e78d080> (a org.eclipse.core.internal.jobs.WorkerPool)
	at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:217)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:50)

"Worker-21" prio=6 tid=0x3614f800 nid=0x1794 in Object.wait() [0x3af7f000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:185)
	- locked <0x0e78d080> (a org.eclipse.core.internal.jobs.WorkerPool)
	at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:217)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:50)

"JavaScriptDebugModel.EventDispatcher" daemon prio=6 tid=0x399c2400 nid=0x1430 in Object.wait() [0x3823f000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	at org.eclipse.core.internal.jobs.Semaphore.acquire(Semaphore.java:38)
	- locked <0x19569e68> (a org.eclipse.core.internal.jobs.Semaphore)
	at org.eclipse.core.internal.jobs.OrderedLock.doAcquire(OrderedLock.java:168)
	at org.eclipse.core.internal.jobs.OrderedLock.acquire(OrderedLock.java:105)
	at org.eclipse.core.internal.jobs.OrderedLock.acquire(OrderedLock.java:82)
	at org.eclipse.core.internal.resources.WorkManager.checkIn(WorkManager.java:118)
	at org.eclipse.core.internal.resources.Workspace.prepareOperation(Workspace.java:1914)
	at org.eclipse.core.internal.resources.Marker.setAttribute(Marker.java:233)
	at org.eclipse.core.internal.resources.Marker.setAttribute(Marker.java:222)
	at org.eclipse.wst.jsdt.debug.internal.core.breakpoints.JavaScriptBreakpoint.decrementInstallCount(JavaScriptBreakpoint.java:308)
	at org.eclipse.wst.jsdt.debug.internal.core.breakpoints.JavaScriptBreakpoint.deregisterRequest(JavaScriptBreakpoint.java:401)
	at org.eclipse.wst.jsdt.debug.internal.core.breakpoints.JavaScriptBreakpoint.removeFromTarget(JavaScriptBreakpoint.java:205)
	at org.eclipse.wst.jsdt.debug.internal.core.model.JavaScriptDebugTarget.removeAllBreakpoints(JavaScriptDebugTarget.java:422)
	- locked <0x18bd9e88> (a org.eclipse.wst.jsdt.debug.internal.core.model.JavaScriptDebugTarget)
	at org.eclipse.wst.jsdt.debug.internal.core.model.JavaScriptDebugTarget.cleanup(JavaScriptDebugTarget.java:200)
	at org.eclipse.wst.jsdt.debug.internal.core.model.JavaScriptDebugTarget.terminate(JavaScriptDebugTarget.java:639)
	at org.eclipse.wst.jsdt.debug.internal.core.model.EventDispatcher.run(EventDispatcher.java:100)
	at java.lang.Thread.run(Thread.java:619)

"[ThreadPool Manager] - Idle Thread" daemon prio=6 tid=0x36089800 nid=0x1ad8 in Object.wait() [0x3a88f000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	at java.lang.Object.wait(Object.java:485)
	at org.eclipse.equinox.internal.util.impl.tpt.threadpool.Executor.run(Executor.java:106)
	- locked <0x156280d8> (a org.eclipse.equinox.internal.util.impl.tpt.threadpool.Executor)

"MultiThreadedHttpConnectionManager cleanup" daemon prio=6 tid=0x3517ec00 nid=0x24b0 in Object.wait() [0x3986f000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	- waiting on <0x1220e078> (a java.lang.ref.ReferenceQueue$Lock)
	at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118)
	- locked <0x1220e078> (a java.lang.ref.ReferenceQueue$Lock)
	at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:134)
	at org.apache.commons.httpclient.MultiThreadedHttpConnectionManager$ReferenceQueueThread.run(MultiThreadedHttpConnectionManager.java:1122)

"Worker-12" prio=6 tid=0x35179000 nid=0x27f0 in Object.wait() [0x3962f000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:185)
	- locked <0x0e78d080> (a org.eclipse.core.internal.jobs.WorkerPool)
	at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:217)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:50)

"Worker-9" prio=6 tid=0x3517c000 nid=0x1bf8 in Object.wait() [0x3587f000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	at org.eclipse.core.internal.jobs.Semaphore.acquire(Semaphore.java:38)
	- locked <0x19569ff0> (a org.eclipse.core.internal.jobs.Semaphore)
	at org.eclipse.core.internal.jobs.OrderedLock.doAcquire(OrderedLock.java:168)
	at org.eclipse.core.internal.jobs.OrderedLock.acquire(OrderedLock.java:105)
	at org.eclipse.core.internal.jobs.OrderedLock.acquire(OrderedLock.java:82)
	at org.eclipse.core.internal.resources.WorkManager.checkIn(WorkManager.java:118)
	at org.eclipse.core.internal.resources.Workspace.prepareOperation(Workspace.java:1914)
	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1970)
	at org.eclipse.debug.core.model.Breakpoint.setAttribute(Breakpoint.java:190)
	at org.eclipse.jdt.internal.debug.core.breakpoints.JavaBreakpoint.decrementInstallCount(JavaBreakpoint.java:794)
	at org.eclipse.jdt.internal.debug.core.breakpoints.JavaBreakpoint.deregisterRequest(JavaBreakpoint.java:262)
	at org.eclipse.jdt.internal.debug.core.breakpoints.JavaBreakpoint.removeRequests(JavaBreakpoint.java:712)
	at org.eclipse.jdt.internal.debug.core.breakpoints.JavaBreakpoint.removeFromTarget(JavaBreakpoint.java:655)
	at org.eclipse.jdt.internal.debug.core.model.JDIDebugTarget.removeAllBreakpoints(JDIDebugTarget.java:1476)
	at org.eclipse.jdt.internal.debug.core.model.JDIDebugTarget.cleanup(JDIDebugTarget.java:1433)
	at org.eclipse.jdt.internal.debug.core.model.JDIDebugTarget.terminated(JDIDebugTarget.java:1398)
	at org.eclipse.jdt.internal.debug.core.model.JDIDebugTarget.handleVMDisconnect(JDIDebugTarget.java:953)
	at org.eclipse.jdt.internal.debug.core.EventDispatcher.dispatch(EventDispatcher.java:165)
	at org.eclipse.jdt.internal.debug.core.EventDispatcher.access$0(EventDispatcher.java:104)
	at org.eclipse.jdt.internal.debug.core.EventDispatcher$1.run(EventDispatcher.java:250)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)

"Worker-5" prio=6 tid=0x3517a800 nid=0x1ecc in Object.wait() [0x34bff000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:185)
	- locked <0x0e78d080> (a org.eclipse.core.internal.jobs.WorkerPool)
	at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:217)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:50)

"JavaScript indexing" daemon prio=4 tid=0x35179c00 nid=0x2680 in Object.wait() [0x3726f000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	- waiting on <0x12e241e0> (a org.eclipse.wst.jsdt.internal.core.search.indexing.IndexManager)
	at java.lang.Object.wait(Object.java:485)
	at org.eclipse.wst.jsdt.internal.core.search.processing.JobManager.run(JobManager.java:370)
	- locked <0x12e241e0> (a org.eclipse.wst.jsdt.internal.core.search.indexing.IndexManager)
	at java.lang.Thread.run(Thread.java:619)

"Java indexing" daemon prio=4 tid=0x35179800 nid=0xbdc in Object.wait() [0x3721f000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	- waiting on <0x1217c7b8> (a org.eclipse.jdt.internal.core.search.indexing.IndexManager)
	at java.lang.Object.wait(Object.java:485)
	at org.eclipse.jdt.internal.core.search.processing.JobManager.run(JobManager.java:381)
	- locked <0x1217c7b8> (a org.eclipse.jdt.internal.core.search.indexing.IndexManager)
	at java.lang.Thread.run(Thread.java:619)

"Thread-4" prio=6 tid=0x35178c00 nid=0x1ac0 runnable [0x36e6f000]
   java.lang.Thread.State: RUNNABLE
	at sun.nio.ch.WindowsSelectorImpl$SubSelector.poll0(Native Method)
	at sun.nio.ch.WindowsSelectorImpl$SubSelector.poll(WindowsSelectorImpl.java:273)
	at sun.nio.ch.WindowsSelectorImpl$SubSelector.access$400(WindowsSelectorImpl.java:255)
	at sun.nio.ch.WindowsSelectorImpl.doSelect(WindowsSelectorImpl.java:136)
	at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:69)
	- locked <0x11e5cfe8> (a sun.nio.ch.Util$1)
	- locked <0x11e5cff8> (a java.util.Collections$UnmodifiableSet)
	- locked <0x11e5cf70> (a sun.nio.ch.WindowsSelectorImpl)
	at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:80)
	at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:84)
	at com.ibm.team.filesystem.client.internal.http.HttpServer.run(HttpServer.java:175)
	at com.ibm.team.filesystem.client.internal.daemon.FSDaemon.start(FSDaemon.java:219)
	at com.ibm.team.filesystem.client.restproxy.Discovery2$1.run(Discovery2.java:653)
	at java.lang.Thread.run(Thread.java:619)

"Collaboration Service Job Manager" prio=6 tid=0x35178400 nid=0x14a0 in Object.wait() [0x362ff000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	- waiting on <0x11e5d0d8> (a com.ibm.team.collaboration.internal.core.service.DefaultCollaborationService$CollaborationServiceJobQueue)
	at java.lang.Object.wait(Object.java:485)
	at com.ibm.team.collaboration.internal.core.service.DefaultCollaborationService$CollaborationServiceJobQueue.dequeue(DefaultCollaborationService.java:308)
	- locked <0x11e5d0d8> (a com.ibm.team.collaboration.internal.core.service.DefaultCollaborationService$CollaborationServiceJobQueue)
	at com.ibm.team.collaboration.internal.core.service.DefaultCollaborationService$1$1.run(DefaultCollaborationService.java:824)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
	at com.ibm.team.collaboration.internal.core.service.DefaultCollaborationService$1.run(DefaultCollaborationService.java:817)

"Worker-0" prio=6 tid=0x3507fc00 nid=0x544 in Object.wait() [0x355ff000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:185)
	- locked <0x0e78d080> (a org.eclipse.core.internal.jobs.WorkerPool)
	at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:217)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:50)

"[Timer] - Main Queue Handler" daemon prio=6 tid=0x34e9d800 nid=0x26a8 in Object.wait() [0x3531f000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	at org.eclipse.equinox.internal.util.impl.tpt.timer.TimerImpl.run(TimerImpl.java:141)
	- locked <0x0e6a9c10> (a java.lang.Object)
	at java.lang.Thread.run(Thread.java:619)

"Bundle File Closer" daemon prio=6 tid=0x34eb6c00 nid=0x1988 in Object.wait() [0x352cf000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	at java.lang.Object.wait(Object.java:485)
	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.getNextEvent(EventManager.java:397)
	- locked <0x0e6a9b98> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:333)

"Worker-JM" prio=6 tid=0x341f2800 nid=0x16e8 in Object.wait() [0x34e7f000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	at org.eclipse.core.internal.jobs.InternalWorker.run(InternalWorker.java:58)
	- locked <0x0e6a9c78> (a java.util.ArrayList)

"Framework Event Dispatcher" daemon prio=6 tid=0x3417d000 nid=0xdd4 in Object.wait() [0x34d1f000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	at java.lang.Object.wait(Object.java:485)
	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.getNextEvent(EventManager.java:397)
	- locked <0x0e6a97b8> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:333)

"Start Level Event Dispatcher" daemon prio=6 tid=0x34160000 nid=0x15e0 in Object.wait() [0x34ccf000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	- waiting on <0x0e6a9b20> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
	at java.lang.Object.wait(Object.java:485)
	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.getNextEvent(EventManager.java:397)
	- locked <0x0e6a9b20> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:333)

"State Data Manager" daemon prio=6 tid=0x340fe800 nid=0x838 waiting on condition [0x3470f000]
   java.lang.Thread.State: TIMED_WAITING (sleeping)
	at java.lang.Thread.sleep(Native Method)
	at org.eclipse.osgi.internal.baseadaptor.StateManager.run(StateManager.java:319)
	at java.lang.Thread.run(Thread.java:619)

"OSGi Console" prio=6 tid=0x340f4400 nid=0x46c waiting on condition [0x343ef000]
   java.lang.Thread.State: TIMED_WAITING (sleeping)
	at java.lang.Thread.sleep(Native Method)
	at org.eclipse.osgi.framework.internal.core.FrameworkConsole.runConsole(FrameworkConsole.java:127)
	at org.eclipse.osgi.framework.internal.core.FrameworkConsole.run(FrameworkConsole.java:106)
	at java.lang.Thread.run(Thread.java:619)

"Low Memory Detector" daemon prio=6 tid=0x018ef800 nid=0xe18 runnable [0x00000000]
   java.lang.Thread.State: RUNNABLE

"CompilerThread0" daemon prio=10 tid=0x018e5400 nid=0x1fac waiting on condition [0x00000000]
   java.lang.Thread.State: RUNNABLE

"JDWP Event Helper Thread" daemon prio=6 tid=0x018da800 nid=0x1b74 runnable [0x00000000]
   java.lang.Thread.State: RUNNABLE

"JDWP Transport Listener: dt_socket" daemon prio=6 tid=0x018d8000 nid=0x740 runnable [0x00000000]
   java.lang.Thread.State: RUNNABLE

"Attach Listener" daemon prio=10 tid=0x018cc000 nid=0xbfc runnable [0x00000000]
   java.lang.Thread.State: RUNNABLE

"Signal Dispatcher" daemon prio=10 tid=0x018c9000 nid=0x2310 runnable [0x00000000]
   java.lang.Thread.State: RUNNABLE

"Finalizer" daemon prio=8 tid=0x0189e000 nid=0xc10 in Object.wait() [0x33d6f000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118)
	- locked <0x0e4a0508> (a java.lang.ref.ReferenceQueue$Lock)
	at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:134)
	at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)

"Reference Handler" daemon prio=10 tid=0x01899400 nid=0xae4 in Object.wait() [0x33d1f000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	at java.lang.Object.wait(Object.java:485)
	at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)
	- locked <0x0e4a0528> (a java.lang.ref.Reference$Lock)

"main" prio=6 tid=0x01979400 nid=0xdc runnable [0x0038d000]
   java.lang.Thread.State: RUNNABLE
	at org.eclipse.swt.internal.win32.OS.WaitMessage(Native Method)
	at org.eclipse.swt.widgets.Display.sleep(Display.java:4553)
	at org.eclipse.jface.operation.ModalContext$ModalContextThread.block(ModalContext.java:174)
	at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:388)
	at org.eclipse.jface.dialogs.ProgressMonitorDialog.run(ProgressMonitorDialog.java:507)
	at org.eclipse.ui.internal.progress.ProgressMonitorJobsDialog.run(ProgressMonitorJobsDialog.java:275)
	at org.eclipse.ui.internal.ide.application.IDEWorkbenchAdvisor.disconnectFromWorkspace(IDEWorkbenchAdvisor.java:498)
	at org.eclipse.ui.internal.ide.application.IDEWorkbenchAdvisor.postShutdown(IDEWorkbenchAdvisor.java:331)
	at org.eclipse.ui.internal.Workbench.shutdown(Workbench.java:2743)
	at org.eclipse.ui.internal.Workbench.busyClose(Workbench.java:943)
	at org.eclipse.ui.internal.Workbench.access$15(Workbench.java:860)
	at org.eclipse.ui.internal.Workbench$23.run(Workbench.java:1104)
	at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
	at org.eclipse.ui.internal.Workbench.close(Workbench.java:1102)
	at org.eclipse.ui.internal.Workbench.close(Workbench.java:1074)
	at org.eclipse.ui.internal.WorkbenchWindow.busyClose(WorkbenchWindow.java:731)
	at org.eclipse.ui.internal.WorkbenchWindow.access$0(WorkbenchWindow.java:710)
	at org.eclipse.ui.internal.WorkbenchWindow$5.run(WorkbenchWindow.java:826)
	at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
	at org.eclipse.ui.internal.WorkbenchWindow.close(WorkbenchWindow.java:824)
	at org.eclipse.jface.window.Window.handleShellCloseEvent(Window.java:741)
	at org.eclipse.jface.window.Window$3.shellClosed(Window.java:687)
	at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:98)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1052)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1076)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1061)
	at org.eclipse.swt.widgets.Decorations.closeWidget(Decorations.java:308)
	at org.eclipse.swt.widgets.Decorations.WM_CLOSE(Decorations.java:1665)
	at org.eclipse.swt.widgets.Control.windowProc(Control.java:4161)
	at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:341)
	at org.eclipse.swt.widgets.Decorations.windowProc(Decorations.java:1598)
	at org.eclipse.swt.widgets.Shell.windowProc(Shell.java:2038)
	at org.eclipse.swt.widgets.Display.windowProc(Display.java:4873)
	at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
	at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2454)
	at org.eclipse.swt.widgets.Shell.callWindowProc(Shell.java:497)
	at org.eclipse.swt.widgets.Control.windowProc(Control.java:4250)
	at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:341)
	at org.eclipse.swt.widgets.Decorations.windowProc(Decorations.java:1598)
	at org.eclipse.swt.widgets.Shell.windowProc(Shell.java:2038)
	at org.eclipse.swt.widgets.Display.windowProc(Display.java:4873)
	at org.eclipse.swt.internal.win32.OS.DispatchMessageW(Native Method)
	at org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java:2459)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3655)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2416)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2380)
	at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2229)
	at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:504)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:497)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:115)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:369)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
	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:597)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:619)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:574)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1406)
	at org.eclipse.equinox.launcher.Main.main(Main.java:1382)

"VM Thread" prio=10 tid=0x01896400 nid=0x2484 runnable 

"VM Periodic Task Thread" prio=10 tid=0x018f2800 nid=0x1a84 waiting on condition
Comment 2 James Blackburn CLA 2011-05-03 15:53:49 EDT
Fixing bug 249951 would fix this.