Community
Participate
Working Groups
I am seeing this bug in I200404270800. The debugger hangs and doesn't appear to come back (of course, maybe I'm just impatient). It is reproducible all the time for me. I set a breakpoint within WorkbenchKeyboard.executeCommand, and my stack trace does not populate. When the system is hung, nothing responds. It is not possible to switch tabs in views. It appears to repaint, and it responds to using the window manager to close the workbench window (i.e., click on the "X"). The only way I've found to restore sanity is to shutdown, kill the debugging workbench manually, and restart Eclipse. This problem is preventing me from using the debugger in development. This problem did not occur in previous integration builds, but may be related to Bug 55997.
I haven't been able to reproduce this on Mac. What VM are you using? Have you tried using a different VM? Would it be possible to attach a thread dump from the hung system so that we can get an idea what the debugger is doing?
Sun JDK1.4.2_04 I'll try for a thread dump....
Full thread dump Java HotSpot(TM) Client VM (1.4.2_04-b05 mixed mode): "Worker-3" daemon prio=1 tid=0x467259e8 nid=0x5477 in Object.wait() [477c2000..477c289c] at java.lang.Object.wait(Native Method) - waiting on <0x50c51ec8> (a org.eclipse.core.internal.jobs.WorkerPool) at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:209) - locked <0x50c51ec8> (a org.eclipse.core.internal.jobs.WorkerPool) at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:236) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:59) "org.eclipse.jdt.debug: JDI Event Dispatcher" daemon prio=1 tid=0x467f2be8 nid=0x5477 in Object.wait() [4763f000..4763f89c] at java.lang.Object.wait(Native Method) - waiting on <0x52ac7188> (a org.eclipse.jdi.internal.connect.PacketReceiveManager) at java.lang.Object.wait(Object.java:429) at org.eclipse.jdi.internal.connect.PacketReceiveManager.waitForPacketAvailable(PacketReceiveManager.java:168) at org.eclipse.jdi.internal.connect.PacketReceiveManager.getCommand(PacketReceiveManager.java:93) - locked <0x52ac7188> (a org.eclipse.jdi.internal.connect.PacketReceiveManager) at org.eclipse.jdi.internal.MirrorImpl.getCommandVM(MirrorImpl.java:276) at org.eclipse.jdi.internal.event.EventQueueImpl.remove(EventQueueImpl.java:63) at org.eclipse.jdi.internal.event.EventQueueImpl.remove(EventQueueImpl.java:48) at org.eclipse.jdt.internal.debug.core.EventDispatcher.run(EventDispatcher.java:213) at java.lang.Thread.run(Thread.java:534) "Packet Send Manager" daemon prio=1 tid=0x088714b0 nid=0x5477 in Object.wait() [47741000..4774189c] at java.lang.Object.wait(Native Method) - waiting on <0x52ac7210> (a org.eclipse.jdi.internal.connect.PacketSendManager) at java.lang.Object.wait(Object.java:429) at org.eclipse.jdi.internal.connect.PacketSendManager.sendAvailablePackets(PacketSendManager.java:94) - locked <0x52ac7210> (a org.eclipse.jdi.internal.connect.PacketSendManager) at org.eclipse.jdi.internal.connect.PacketSendManager.run(PacketSendManager.java:54) at java.lang.Thread.run(Thread.java:534) "Packet Receive Manager" daemon prio=1 tid=0x08870ed0 nid=0x5477 runnable [476c0000..476c089c] at java.net.SocketInputStream.socketRead0(Native Method) at java.net.SocketInputStream.read(SocketInputStream.java:129) at java.net.SocketInputStream.read(SocketInputStream.java:182) at java.io.DataInputStream.readInt(DataInputStream.java:443) at org.eclipse.jdi.internal.jdwp.JdwpPacket.read(JdwpPacket.java:124) at org.eclipse.jdi.internal.connect.PacketReceiveManager.readAvailablePacket(PacketReceiveManager.java:224) at org.eclipse.jdi.internal.connect.PacketReceiveManager.run(PacketReceiveManager.java:70) at java.lang.Thread.run(Thread.java:534) "Console Polling Thread" prio=1 tid=0x08571418 nid=0x5477 waiting on condition [475be000..475be89c] at java.lang.Thread.sleep(Native Method) at org.eclipse.debug.internal.ui.views.console.ConsoleDocumentPartitioner.pollAndSleep(ConsoleDocumentPartitioner.java:563) at org.eclipse.debug.internal.ui.views.console.ConsoleDocumentPartitioner$1.run(ConsoleDocumentPartitioner.java:547) at java.lang.Thread.run(Thread.java:534) "Input Stream Monitor" daemon prio=1 tid=0x0809e628 nid=0x5477 in Object.wait() [4753d000..4753d89c] at java.lang.Object.wait(Native Method) - waiting on <0x52ab7990> (a java.lang.Object) at java.lang.Object.wait(Object.java:429) at org.eclipse.debug.internal.core.InputStreamMonitor.writeNext(InputStreamMonitor.java:124) - locked <0x52ab7990> (a java.lang.Object) at org.eclipse.debug.internal.core.InputStreamMonitor.write(InputStreamMonitor.java:99) at org.eclipse.debug.internal.core.InputStreamMonitor$1.run(InputStreamMonitor.java:75) at java.lang.Thread.run(Thread.java:534) "Output Stream Monitor" daemon prio=1 tid=0x088647a8 nid=0x5477 runnable [474bc000..474bc89c] at java.io.FileInputStream.readBytes(Native Method) at java.io.FileInputStream.read(FileInputStream.java:177) at org.eclipse.debug.internal.core.OutputStreamMonitor.read(OutputStreamMonitor.java:132) at org.eclipse.debug.internal.core.OutputStreamMonitor.access$1 (OutputStreamMonitor.java:124) at org.eclipse.debug.internal.core.OutputStreamMonitor$1.run(OutputStreamMonitor.java:177) at java.lang.Thread.run(Thread.java:534) "Output Stream Monitor" daemon prio=1 tid=0x08863250 nid=0x5477 runnable [4743b000..4743b89c] 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 <0x52ab6be0> (a java.io.BufferedInputStream) at java.io.FilterInputStream.read(FilterInputStream.java:90) at org.eclipse.debug.internal.core.OutputStreamMonitor.read(OutputStreamMonitor.java:132) at org.eclipse.debug.internal.core.OutputStreamMonitor.access$1 (OutputStreamMonitor.java:124) at org.eclipse.debug.internal.core.OutputStreamMonitor$1.run(OutputStreamMonitor.java:177) at java.lang.Thread.run(Thread.java:534) "process reaper" daemon prio=1 tid=0x088645d8 nid=0x5477 runnable [46ee1000..46ee189c] at java.lang.UNIXProcess.waitForProcessExit(Native Method) at java.lang.UNIXProcess.access$1500(UNIXProcess.java:20) at java.lang.UNIXProcess$2.run(UNIXProcess.java:127) "org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=1 tid=0x080d5128 nid=0x5477 in Object.wait() [46c22000..46c2289c] at java.lang.Object.wait(Native Method) - waiting on <0x51a8c398> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue) at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:161) - locked <0x51a8c398> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue) "Worker-2" daemon prio=1 tid=0x08526828 nid=0x5477 in Object.wait() [45e68000..45e6889c] at java.lang.Object.wait(Native Method) - waiting on <0x50c51ec8> (a org.eclipse.core.internal.jobs.WorkerPool) at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:209) - locked <0x50c51ec8> (a org.eclipse.core.internal.jobs.WorkerPool) at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:236) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:59) "Worker-1" daemon prio=1 tid=0x08521230 nid=0x5477 in Object.wait() [4572e000..4572e89c] at java.lang.Object.wait(Native Method) - waiting on <0x50c51ec8> (a org.eclipse.core.internal.jobs.WorkerPool) at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:209) - locked <0x50c51ec8> (a org.eclipse.core.internal.jobs.WorkerPool) at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:236) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:59) "Worker-0" daemon prio=1 tid=0x08521890 nid=0x5477 in Object.wait() [456ad000..456ad89c] at java.lang.Object.wait(Native Method) - waiting on <0x52ab66a8> (a java.lang.UNIXProcess) at java.lang.Object.wait(Object.java:429) at java.lang.UNIXProcess.waitFor(UNIXProcess.java:160) - locked <0x52ab66a8> (a java.lang.UNIXProcess) at org.eclipse.debug.core.model.RuntimeProcess$ProcessMonitorJob.run(RuntimeProcess.java:363) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:66) "Java indexing" daemon prio=1 tid=0x0852ce70 nid=0x5477 in Object.wait() [4548d000..4548d89c] at java.lang.Object.wait(Native Method) - waiting on <0x5163b410> (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:323) - locked <0x5163b410> (a org.eclipse.jdt.internal.core.search.indexing.IndexManager) at java.lang.Thread.run(Thread.java:534) "Start Level Event Dispatcher" daemon prio=1 tid=0x082436c0 nid=0x5477 in Object.wait() [44b9f000..44b9f89c] at java.lang.Object.wait(Native Method) - waiting on <0x50a24ed0> (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:149) - locked <0x50a24ed0> (a org.eclipse.osgi.framework.eventmgr.EventThread) at org.eclipse.osgi.framework.eventmgr.EventThread.run(EventThread.java:107) "Framework Event Dispatcher" daemon prio=1 tid=0x0823ffb0 nid=0x5477 in Object.wait() [44b1e000..44b1e89c] at java.lang.Object.wait(Native Method) - waiting on <0x50a24f88> (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:149) - locked <0x50a24f88> (a org.eclipse.osgi.framework.eventmgr.EventThread) at org.eclipse.osgi.framework.eventmgr.EventThread.run(EventThread.java:107) "Signal Dispatcher" daemon prio=1 tid=0x0808dde0 nid=0x5477 waiting on condition [0..0] "Finalizer" daemon prio=1 tid=0x08089768 nid=0x5477 in Object.wait() [44718000..4471889c] at java.lang.Object.wait(Native Method) - waiting on <0x509b99a0> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:111) - locked <0x509b99a0> (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=0x08088b78 nid=0x5477 in Object.wait() [44697000..4469789c] at java.lang.Object.wait(Native Method) - waiting on <0x509b9a08> (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 <0x509b9a08> (a java.lang.ref.Reference$Lock) "main" prio=1 tid=0x08052be8 nid=0x5477 runnable [bfff9000..bfffb4b8] at org.eclipse.swt.internal.gtk.OS.gtk_clipboard_wait_for_contents(Native Method) - locked <0x5fa2ae98> (a java.lang.Class) at org.eclipse.swt.dnd.Clipboard._getAvailableTypes(Clipboard.java:351) at org.eclipse.swt.dnd.Clipboard.getAvailableTypes(Clipboard.java:300) at org.eclipse.jdt.internal.ui.refactoring.reorg.PasteAction.canOperateOn(PasteAction.java:129) at org.eclipse.jdt.internal.ui.refactoring.reorg.PasteAction.selectionChanged(PasteAction.java:118) at org.eclipse.jdt.ui.actions.SelectionDispatchAction.dispatchSelectionChanged(SelectionDispatchAction.java:200) at org.eclipse.jdt.ui.actions.SelectionDispatchAction.selectionChanged(SelectionDispatchAction.java:195) at org.eclipse.jface.viewers.Viewer$2.run(Viewer.java:159) at org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatform.java:599) at org.eclipse.core.runtime.Platform.run(Platform.java:543) at org.eclipse.jface.viewers.Viewer.fireSelectionChanged(Viewer.java:157) at org.eclipse.jface.viewers.StructuredViewer.updateSelection(StructuredViewer.java:1310) at org.eclipse.jface.viewers.StructuredViewer.setSelection(StructuredViewer.java:1033) at org.eclipse.jdt.internal.ui.javaeditor.JavaOutlinePage.select(JavaOutlinePage.java:1143) at org.eclipse.jdt.internal.ui.javaeditor.JavaEditor.synchronizeOutlinePage(JavaEditor.java:2383) at org.eclipse.jdt.internal.ui.javaeditor.JavaEditor.synchronizeOutlinePage(JavaEditor.java:2370) at org.eclipse.jdt.internal.ui.javaeditor.JavaEditor.selectionChanged(JavaEditor.java:2451) at org.eclipse.jdt.internal.ui.javaeditor.JavaEditor$EditorSelectionChangedListener.selectionChanged(JavaEditor.java:288) at org.eclipse.jface.text.TextViewer.firePostSelectionChanged(TextViewer.java:2160) at org.eclipse.jface.text.TextViewer.firePostSelectionChanged(TextViewer.java:2113) at org.eclipse.jface.text.TextViewer$4.run(TextViewer.java:2092) at org.eclipse.swt.widgets.Display.timerProc(Display.java:2361) at org.eclipse.swt.internal.gtk.OS.gtk_clipboard_wait_for_contents(Native Method) - locked <0x5fa2ae98> (a java.lang.Class) at org.eclipse.swt.dnd.Clipboard._getAvailableTypes(Clipboard.java:351) at org.eclipse.swt.dnd.Clipboard.getAvailableTypes(Clipboard.java:300) at org.eclipse.jdt.internal.ui.refactoring.reorg.PasteAction.canOperateOn(PasteAction.java:129) at org.eclipse.jdt.internal.ui.refactoring.reorg.PasteAction.selectionChanged(PasteAction.java:118) at org.eclipse.jdt.ui.actions.SelectionDispatchAction.dispatchSelectionChanged(SelectionDispatchAction.java:200) at org.eclipse.jdt.ui.actions.SelectionDispatchAction.selectionChanged(SelectionDispatchAction.java:195) at org.eclipse.jface.viewers.Viewer$2.run(Viewer.java:159) at org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatform.java:599) at org.eclipse.core.runtime.Platform.run(Platform.java:543) at org.eclipse.jface.viewers.Viewer.fireSelectionChanged(Viewer.java:157) at org.eclipse.jface.viewers.StructuredViewer.updateSelection(StructuredViewer.java:1310) at org.eclipse.jface.viewers.StructuredViewer.setSelection(StructuredViewer.java:1033) at org.eclipse.jdt.internal.ui.javaeditor.JavaOutlinePage.select(JavaOutlinePage.java:1143) at org.eclipse.jdt.internal.ui.javaeditor.JavaEditor.adjustHighlightRange(JavaEditor.java:2627) at org.eclipse.ui.texteditor.AbstractTextEditor.selectAndReveal(AbstractTextEditor.java:4356) at org.eclipse.ui.texteditor.AbstractTextEditor.selectAndReveal(AbstractTextEditor.java:4330) at org.eclipse.debug.internal.ui.views.launch.LaunchView.positionEditor(LaunchView.java:779) at org.eclipse.debug.internal.ui.views.launch.LaunchView.openEditorForStackFrame(LaunchView.java:757) at org.eclipse.debug.internal.ui.views.launch.LaunchView.showEditorForCurrentSelection(LaunchView.java:645) at org.eclipse.debug.internal.ui.views.launch.LaunchView.selectionChanged(LaunchView.java:484) at org.eclipse.jface.viewers.Viewer$2.run(Viewer.java:159) at org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatform.java:599) at org.eclipse.core.runtime.Platform.run(Platform.java:543) at org.eclipse.jface.viewers.Viewer.fireSelectionChanged(Viewer.java:157) at org.eclipse.jface.viewers.StructuredViewer.updateSelection(StructuredViewer.java:1310) at org.eclipse.jface.viewers.StructuredViewer.setSelection(StructuredViewer.java:1033) at org.eclipse.debug.internal.ui.views.launch.LaunchView.autoExpand(LaunchView.java:1007) at org.eclipse.debug.internal.ui.views.launch.LaunchViewEventHandler.doHandleSuspendThreadEvent(LaunchViewEventHandler.java:224) at org.eclipse.debug.internal.ui.views.launch.LaunchViewEventHandler.doHandleSuspendEvent(LaunchViewEventHandler.java:184) at org.eclipse.debug.internal.ui.views.launch.LaunchViewEventHandler.doHandleDebugEvents(LaunchViewEventHandler.java:100) at org.eclipse.debug.internal.ui.views.AbstractDebugEventHandler$1.run(AbstractDebugEventHandler.java:70) at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35) at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:106) - locked <0x52e24108> (a org.eclipse.swt.widgets.RunnableLock) at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:1996) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:1786) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1353) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1324) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:240) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:140) at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:90) at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:283) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:240) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:117) 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:269) at org.eclipse.core.launcher.Main.run(Main.java:700) at org.eclipse.core.launcher.Main.main(Main.java:684) "VM Thread" prio=1 tid=0x08087858 nid=0x5477 runnable "VM Periodic Task Thread" prio=1 tid=0x080905d8 nid=0x5477 waiting on condition "Suspend Checker Thread" prio=1 tid=0x0808d410 nid=0x5477 runnable
Pressing "Ctrl+Shift+T" seems to restore some sanity, but oddities still happen. The keys work oddly, and keeps locking up. Looking at the thread dump, this might actually be a problem with SWT.
The "main" thread does seem unhappy. Moving to SWT for comment.
*** This bug has been marked as a duplicate of 44915 ***