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

Bug 55997

Summary: Debugger hangs
Product: [Eclipse Project] Platform Reporter: Wassim Melhem <wassim.melhem>
Component: DebugAssignee: Platform-Debug-Inbox <platform-debug-inbox>
Status: RESOLVED WONTFIX QA Contact:
Severity: normal    
Priority: P3 CC: douglas.pollock
Version: 3.0   
Target Milestone: ---   
Hardware: PC   
OS: Windows XP   
Whiteboard:
Attachments:
Description Flags
ThreadDump
none
Log file none

Description Wassim Melhem CLA 2004-03-24 14:39:01 EST
Build: I-200403240800

1. Fresh workspace.
2. check out org.eclipse.osgi, org.eclipse.pde.core and org.eclipse.pde.ui 
from HEAD.
3. Open ManifestEditor.java (from the pde.ui plug-in) and put a breakpoint on 
line 382.
4. Launch a runtime workbench.
5. Using the PDE Search, search for all references/declarations of extension 
point "org.eclipse.ui.actionSets" in all workspace/external plug-ins.
6. Of the hits found in the Search view, double-click on one of the extensions 
coming from org.eclipse.debug.ui.

7. You will now hit a breakpoint.
Start stepping.  Once you hit line 388.  The debugger will freeze.  You cannot 
proceed.
Comment 1 Darin Swanson CLA 2004-03-24 14:41:06 EST
Can you provide a thread dump?
Is it reproduceable?
Comment 2 Wassim Melhem CLA 2004-03-24 14:53:16 EST
I could reproduce it on cue.  It's pretty nasty.
How do I produce a thread dump?
Comment 3 Darin Swanson CLA 2004-03-24 14:57:17 EST
Just checking but there is nothing in the .log?
Is Eclipse locked up or just the debugger?

Start Eclipse using java.exe instead of javaw.exe
Hit Ctrl-break in the console window
Comment 4 Wassim Melhem CLA 2004-03-24 15:05:23 EST
The log had many TimeOut exception entries which I see every once in a while, 
but they are harmless (I think).  There is another type of log entry that was 
in my log and repeated several times.  I will paste one of each for reference 
below.

As for hanging, Eclipse hangs.  The debugger hangs.  The runtime workbench 
obviously hangs for a few minutes.  After that, the debugger comes back to 
life and gives me an error message saying that some operation has timed out.

!MESSAGE Internal error logged from JDI Debug: 
!STACK 0
org.eclipse.jdi.TimeoutException
	at org.eclipse.jdi.internal.connect.PacketReceiveManager.getReply
(PacketReceiveManager.java:149)
	at org.eclipse.jdi.internal.connect.PacketReceiveManager.getReply
(PacketReceiveManager.java:158)
	at org.eclipse.jdi.internal.MirrorImpl.requestVM(MirrorImpl.java:173)
	at org.eclipse.jdi.internal.MirrorImpl.requestVM(MirrorImpl.java:191)
	at org.eclipse.jdi.internal.MirrorImpl.requestVM(MirrorImpl.java:206)
	at org.eclipse.jdi.internal.ThreadReferenceImpl.frameCount
(ThreadReferenceImpl.java:147)
	at 
org.eclipse.jdt.internal.debug.core.model.JDIThread.getUnderlyingFrameCount
(JDIThread.java:628)
	at 
org.eclipse.jdt.internal.debug.core.model.JDIThread.computeStackFrames
(JDIThread.java:415)
	at 
org.eclipse.jdt.internal.debug.core.model.JDIThread.computeStackFrames
(JDIThread.java:514)
	at org.eclipse.jdt.internal.debug.core.model.JDIStackFrame.exists
(JDIStackFrame.java:908)
	at 
org.eclipse.jdt.internal.debug.core.model.JDIStackFrame.canStepReturn
(JDIStackFrame.java:197)
	at 
org.eclipse.debug.internal.ui.actions.StepReturnActionDelegate.checkCapability
(StepReturnActionDelegate.java:23)
	at 
org.eclipse.debug.internal.ui.actions.StepActionDelegate.isEnabledFor
(StepActionDelegate.java:34)
	at 
org.eclipse.debug.internal.ui.actions.AbstractDebugActionDelegate.getEnableStat
eForSelection(AbstractDebugActionDelegate.java:310)
	at 
org.eclipse.debug.internal.ui.actions.AbstractDebugActionDelegate.update
(AbstractDebugActionDelegate.java:151)
	at 
org.eclipse.debug.internal.ui.actions.AbstractListenerActionDelegate.doHandleDe
bugEvent(AbstractListenerActionDelegate.java:74)
	at 
org.eclipse.debug.internal.ui.actions.AbstractListenerActionDelegate$1.run
(AbstractListenerActionDelegate.java:54)
	at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages
(Synchronizer.java:106)
	at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:2561)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2266)
	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.java: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
(PlatformActivator.java:288)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run
(EclipseStarter.java:232)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run
(EclipseStarter.java:116)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	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)



!ENTRY org.eclipse.jdt.debug 4 120 Mar 24, 2004 14:27:00.613
!MESSAGE Internal error logged from JDI Debug: 
!STACK 0
com.sun.jdi.IncompatibleThreadStateException: Thread was not suspended
	at org.eclipse.jdi.internal.ThreadReferenceImpl.frameCount
(ThreadReferenceImpl.java:152)
	at 
org.eclipse.jdt.internal.debug.core.model.JDIThread.getUnderlyingFrameCount
(JDIThread.java:628)
	at 
org.eclipse.jdt.internal.debug.core.model.JDIThread.computeStackFrames
(JDIThread.java:415)
	at 
org.eclipse.jdt.internal.debug.core.model.JDIThread.computeStackFrames
(JDIThread.java:514)
	at org.eclipse.jdt.internal.debug.core.model.JDIStackFrame.exists
(JDIStackFrame.java:908)
	at org.eclipse.jdt.internal.debug.core.model.JDIStackFrame.canStepOver
(JDIStackFrame.java:185)
	at 
org.eclipse.debug.internal.ui.actions.StepOverActionDelegate.checkCapability
(StepOverActionDelegate.java:23)
	at 
org.eclipse.debug.internal.ui.actions.StepActionDelegate.isEnabledFor
(StepActionDelegate.java:34)
	at 
org.eclipse.debug.internal.ui.actions.AbstractDebugActionDelegate.getEnableStat
eForSelection(AbstractDebugActionDelegate.java:310)
	at 
org.eclipse.debug.internal.ui.actions.AbstractDebugActionDelegate.update
(AbstractDebugActionDelegate.java:151)
	at 
org.eclipse.debug.internal.ui.actions.AbstractListenerActionDelegate.doHandleDe
bugEvent(AbstractListenerActionDelegate.java:74)
	at 
org.eclipse.debug.internal.ui.actions.AbstractListenerActionDelegate$1.run
(AbstractListenerActionDelegate.java:54)
	at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages
(Synchronizer.java:106)
	at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:2561)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2266)
	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.java: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
(PlatformActivator.java:288)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run
(EclipseStarter.java:232)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run
(EclipseStarter.java:116)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	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)
Comment 5 Kevin Barnes CLA 2004-03-24 15:05:42 EST
Tried to reproduce, it didn't lock for me, but it was very busy doing 
something. It eventually came back....
Also noted that after it came back and I double clicked on other actionsets 
the debugger stepped quite happily. Could this be the Debug plugin loading?
Comment 6 Darin Swanson CLA 2004-03-24 15:08:02 EST
Kevin if you could capture the thread dump while it is "very busy" we could 
determine the culprit.
Comment 7 Wassim Melhem CLA 2004-03-24 15:12:40 EST
Kev I don't think it is the plug-in initalizing.  It happens to me every 
single time.  Make sure you double-click on an extension whose plugin.xml is 
NOT in your workspace.
Comment 8 Wassim Melhem CLA 2004-03-24 15:19:15 EST
Full thread dump Java HotSpot(TM) Client VM (1.4.2-b28 mixed mode):

"Worker-5" prio=5 tid=0x030ccd60 nid=0x7e0 in Object.wait() [49cf000..49cfd94]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x1064cd58> (a org.eclipse.core.internal.jobs.WorkerPool)
        at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:184)
        - locked <0x1064cd58> (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-4" prio=5 tid=0x030523b0 nid=0xd28 in Object.wait() [498f000..498fd94]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x1064cd58> (a org.eclipse.core.internal.jobs.WorkerPool)
        at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:184)
        - locked <0x1064cd58> (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-3" prio=5 tid=0x03145b28 nid=0x798 in Object.wait() [494f000..494fd94]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x1064cd58> (a org.eclipse.core.internal.jobs.WorkerPool)
        at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:184)
        - locked <0x1064cd58> (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.debug: JDI Event Dispatcher" prio=5 tid=0x0304fdb0 nid=0x320 
in
 Object.wait() [488f000..488fd94]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x119b04c0> (a 
org.eclipse.jdi.internal.connect.PacketRece
iveManager)
        at java.lang.Object.wait(Unknown Source)
        at 
org.eclipse.jdi.internal.connect.PacketReceiveManager.waitForPacketAv
ailable(PacketReceiveManager.java:168)
        at org.eclipse.jdi.internal.connect.PacketReceiveManager.getCommand
(Pack
etReceiveManager.java:93)
        - locked <0x119b04c0> (a 
org.eclipse.jdi.internal.connect.PacketReceiveM
anager)
        at org.eclipse.jdi.internal.MirrorImpl.getCommandVM
(MirrorImpl.java:276)

        at org.eclipse.jdi.internal.event.EventQueueImpl.remove
(EventQueueImpl.j
ava:63)
        at org.eclipse.jdi.internal.event.EventQueueImpl.remove
(EventQueueImpl.j
ava:48)
        at org.eclipse.jdt.internal.debug.core.EventDispatcher.run
(EventDispatch
er.java:213)
        at java.lang.Thread.run(Unknown Source)

"Packet Send Manager" prio=5 tid=0x02d65928 nid=0x954 in Object.wait() 
[490f000.
.490fd94]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x119b0608> (a 
org.eclipse.jdi.internal.connect.PacketSend
Manager)
        at java.lang.Object.wait(Unknown Source)
        at 
org.eclipse.jdi.internal.connect.PacketSendManager.sendAvailablePacke
ts(PacketSendManager.java:94)
        - locked <0x119b0608> (a 
org.eclipse.jdi.internal.connect.PacketSendMana
ger)
        at org.eclipse.jdi.internal.connect.PacketSendManager.run
(PacketSendMana
ger.java:54)
        at java.lang.Thread.run(Unknown Source)

"Packet Receive Manager" prio=5 tid=0x02d657c8 nid=0xa2c runnable 
[48cf000..48cf
d94]
        at java.net.SocketInputStream.socketRead0(Native Method)
        at java.net.SocketInputStream.read(Unknown Source)
        at java.net.SocketInputStream.read(Unknown Source)
        at java.io.DataInputStream.readInt(Unknown Source)
        at org.eclipse.jdi.internal.jdwp.JdwpPacket.read(JdwpPacket.java:124)
        at 
org.eclipse.jdi.internal.connect.PacketReceiveManager.readAvailablePa
cket(PacketReceiveManager.java:224)
        at org.eclipse.jdi.internal.connect.PacketReceiveManager.run
(PacketRecei
veManager.java:70)
        at java.lang.Thread.run(Unknown Source)

"Console Polling Thread" prio=7 tid=0x04018ca8 nid=0xd60 waiting on condition 
[4
84f000..484fd94]
        at java.lang.Thread.sleep(Native Method)
        at 
org.eclipse.debug.internal.ui.views.console.ConsoleDocumentPartitione
r.pollAndSleep(ConsoleDocumentPartitioner.java:563)
        at 
org.eclipse.debug.internal.ui.views.console.ConsoleDocumentPartitione
r$1.run(ConsoleDocumentPartitioner.java:547)
        at java.lang.Thread.run(Unknown Source)

"Input Stream Monitor" prio=5 tid=0x031cc718 nid=0xd14 in Object.wait() 
[400f000
..400fd94]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x119aaa00> (a java.lang.Object)
        at java.lang.Object.wait(Unknown Source)
        at org.eclipse.debug.internal.core.InputStreamMonitor.writeNext
(InputStr
eamMonitor.java:124)
        - locked <0x119aaa00> (a java.lang.Object)
        at org.eclipse.debug.internal.core.InputStreamMonitor.write
(InputStreamM
onitor.java:99)
        at org.eclipse.debug.internal.core.InputStreamMonitor$1.run
(InputStreamM
onitor.java:75)
        at java.lang.Thread.run(Unknown Source)

"Output Stream Monitor" prio=5 tid=0x031cbfb0 nid=0xd6c runnable 
[3fcf000..3fcfd
94]
        at java.io.FileInputStream.readBytes(Native Method)
        at java.io.FileInputStream.read(Unknown Source)
        at org.eclipse.debug.internal.core.OutputStreamMonitor.read
(OutputStream
Monitor.java:132)
        at org.eclipse.debug.internal.core.OutputStreamMonitor.access$1
(OutputSt
reamMonitor.java:124)
        at org.eclipse.debug.internal.core.OutputStreamMonitor$1.run
(OutputStrea
mMonitor.java:177)
        at java.lang.Thread.run(Unknown Source)

"Output Stream Monitor" prio=5 tid=0x031ca4a0 nid=0xd3c runnable 
[3f8f000..3f8fd
94]
        at java.io.FileInputStream.readBytes(Native Method)
        at java.io.FileInputStream.read(Unknown Source)
        at java.io.BufferedInputStream.read1(Unknown Source)
        at java.io.BufferedInputStream.read(Unknown Source)
        - locked <0x119aaac8> (a java.io.BufferedInputStream)
        at java.io.FilterInputStream.read(Unknown Source)
        at org.eclipse.debug.internal.core.OutputStreamMonitor.read
(OutputStream
Monitor.java:132)
        at org.eclipse.debug.internal.core.OutputStreamMonitor.access$1
(OutputSt
reamMonitor.java:124)
        at org.eclipse.debug.internal.core.OutputStreamMonitor$1.run
(OutputStrea
mMonitor.java:177)
        at java.lang.Thread.run(Unknown Source)

"Worker-2" prio=5 tid=0x00a60370 nid=0x134 in Object.wait() [3d4f000..3d4fd94]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x1064cd58> (a org.eclipse.core.internal.jobs.WorkerPool)
        at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:184)
        - locked <0x1064cd58> (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=0x02d70cc0 
n
id=0xa30 runnable [3c3f000..3c3fd94]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x10d2cf40> (a 
org.eclipse.jface.text.reconciler.DirtyRegi
onQueue)
        at 
org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread
.run(AbstractReconciler.java:161)
        - locked <0x10d2cf40> (a 
org.eclipse.jface.text.reconciler.DirtyRegionQu
eue)

"Worker-1" prio=5 tid=0x02d18658 nid=0xff8 in Object.wait() [3bff000..3bffd94]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x1064cd58> (a org.eclipse.core.internal.jobs.WorkerPool)
        at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:184)
        - locked <0x1064cd58> (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-0" prio=5 tid=0x02cf88d8 nid=0xe0c runnable [3bbf000..3bbfd94]
        at java.lang.Win32Process.waitFor(Native Method)
        at org.eclipse.debug.core.model.RuntimeProcess$ProcessMonitorJob.run
(Run
timeProcess.java:350)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:62)

"Java indexing" daemon prio=4 tid=0x02fa3348 nid=0xfec in Object.wait() 
[3b7f000
..3b7fd94]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x109aadf8> (a 
org.eclipse.jdt.internal.core.search.indexi
ng.IndexManager)
        at java.lang.Object.wait(Unknown Source)
        at org.eclipse.jdt.internal.core.search.processing.JobManager.run
(JobMan
ager.java:327)
        - locked <0x109aadf8> (a 
org.eclipse.jdt.internal.core.search.indexing.I
ndexManager)
        at java.lang.Thread.run(Unknown Source)

"Start Level Event Dispatcher" daemon prio=5 tid=0x02cda948 nid=0xd08 in 
Object.
wait() [2eff000..2effd94]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x1056ff70> (a 
org.eclipse.osgi.framework.eventmgr.EventTh
read)
        at java.lang.Object.wait(Unknown Source)
        at org.eclipse.osgi.framework.eventmgr.EventThread.getNextEvent
(EventThr
ead.java:167)
        - locked <0x1056ff70> (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=0x02ce3ea0 nid=0xfac in 
Object.wa
it() [2ebf000..2ebfd94]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x10560d28> (a 
org.eclipse.osgi.framework.eventmgr.EventTh
read)
        at java.lang.Object.wait(Unknown Source)
        at org.eclipse.osgi.framework.eventmgr.EventThread.getNextEvent
(EventThr
ead.java:167)
        - locked <0x10560d28> (a 
org.eclipse.osgi.framework.eventmgr.EventThread
)
        at org.eclipse.osgi.framework.eventmgr.EventThread.run
(EventThread.java:
118)

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

"Finalizer" daemon prio=9 tid=0x009bbd60 nid=0xc84 in Object.wait() 
[2b5f000..2b
5fd94]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x104fb5b8> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(Unknown Source)
        - locked <0x104fb5b8> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(Unknown Source)
        at java.lang.ref.Finalizer$FinalizerThread.run(Unknown Source)

"Reference Handler" daemon prio=10 tid=0x009ba930 nid=0xbd8 in Object.wait() 
[2b
1f000..2b1fd94]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x104fb620> (a java.lang.ref.Reference$Lock)
        at java.lang.Object.wait(Unknown Source)
        at java.lang.ref.Reference$ReferenceHandler.run(Unknown Source)
        - locked <0x104fb620> (a java.lang.ref.Reference$Lock)

"main" prio=7 tid=0x000352b8 nid=0xee0 runnable [7f000..7fc3c]
        at org.eclipse.swt.internal.win32.OS.WaitMessage(Native Method)
        at org.eclipse.swt.widgets.Display.sleep(Display.java:2888)
        at org.eclipse.ui.application.WorkbenchAdvisor.eventLoopIdle
(WorkbenchAd
visor.java:349)
        at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1542)
        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(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        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=0x009f7668 nid=0x140 runnable

"VM Periodic Task Thread" prio=10 tid=0x0003ff00 nid=0x51c waiting on condition

"Suspend Checker Thread" prio=10 tid=0x009be1e0 nid=0x804 runnable
Comment 9 Kevin Barnes CLA 2004-03-24 15:25:12 EST
Created attachment 8849 [details]
ThreadDump

This time I actually got an error message - Step over failed. Thread dump says
main thread is blocked on PacketSendManager.sendPacket()


My log is full of:
"com.sun.jdi.IncompatibleThreadStateException: Thread was not suspended"
and 
"!MESSAGE org.eclipse.jdi.TimeoutException occurred determining if object has
been garbage collected.
!STACK 0
org.eclipse.jdi.TimeoutException"
Comment 10 Kevin Barnes CLA 2004-03-24 15:25:56 EST
Created attachment 8850 [details]
Log file
Comment 11 Kevin Barnes CLA 2004-03-24 16:13:53 EST
This is related to Bug# 55976  
Comment 12 Darin Swanson CLA 2004-03-24 16:16:57 EST
Sorry I don't see the connection? No in-place editor here.
Comment 13 Kevin Barnes CLA 2004-03-24 17:08:33 EST
You're right, it was wishful thinking. It looked like both were having 
problems in EditorManager.openEditorFromDescriptor(), but after that call they 
go different directions.
Comment 14 Darin Wright CLA 2004-03-24 22:15:09 EST
(from Kevin Barnes)

Spent some more time on this bug tonight. I modified your DocumentModel.load()
method because it seemed to be taking a long time to return when I was 
stepping through the code. What I learned from this was that stepping is 
really slowing things down. For example the load method took 220,937ms to 
return when stepping, but the same test with the Thread running took only 
3500ms. Obviously this is really bad. 

The theory I have is that load() makes a lot of fast returning methods calls. 
This would lead to a lot of socket I/O between the host and the target, and it 
would probably lead to a lot of juggling of locks in our PacketManager classes 
that manage the I/O. 
Comment 15 Darin Wright CLA 2004-03-25 14:26:35 EST
Appears to be an issue with the target VM. With Sun JDK1.4.2, the target VM 
eats up 99% of the CPU for a long time as we step over the line of code 
(minutes). Using SC1.4, the step takes about 8 seconds. Not sure why, but 
could be some sublte locking/debug interaction on the target VM.
Comment 16 Douglas Pollock CLA 2004-04-27 12:26:52 EDT
This may be related to Bug 60136. 
Comment 17 Darin Wright CLA 2004-05-31 16:09:49 EDT
Wassim do you know how line 382 in the "old" manifest editor maps to the new 
manifest editor. Since the class has changed packages, etc., I'm not sure how 
to reproduce this problem anymore.
Comment 18 Wassim Melhem CLA 2004-05-31 16:18:45 EDT
That is the main reason why we rewrote the editors from scratch: to not 
encounter this bug :-)

Seriously though, the piece of code where the debugger was hanging has been 
removed.

I'm sure Doug has a reproducible scenario of his own though.
Comment 19 Darin Wright CLA 2004-06-02 11:18:54 EDT
Currently marking as won't fix. When we investigate this, we found the problem 
previously was VM specific, and the bug Doug mentioned is a different 
(resolved) problem.
Comment 20 Øystein Amundsen CLA 2007-01-10 05:32:19 EST
This bug might be in relation to Bug 170068: https://bugs.eclipse.org/bugs/show_bug.cgi?id=170068