Bug 61397 - UI seems to become "disconnected" from the application
Summary: UI seems to become "disconnected" from the application
Status: RESOLVED FIXED
Alias: None
Product: Platform
Classification: Eclipse Project
Component: SWT (show other bugs)
Version: 3.0   Edit
Hardware: PC Linux-GTK
: P3 major (vote)
Target Milestone: 3.0 M9   Edit
Assignee: Grant Gayed CLA
QA Contact:
URL:
Whiteboard:
Keywords: investigate, performance
Depends on:
Blocks:
 
Reported: 2004-05-07 11:00 EDT by Marco Qualizza CLA
Modified: 2004-05-17 09:23 EDT (History)
4 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Marco Qualizza CLA 2004-05-07 11:00:21 EDT
I do most of my development with the JDT, and thus that is where I've noticed
everything I'm going to report.  This *might* be a platform thing, I don't know.

Environment:
   Eclipse I200405060200-gtk
   gtk+ 2.4.0
   kde 3.2.1
   Gentoo 1.4.10

Symptoms:
   There are a number of things that happen while running Eclispe that make it
feel like the UI becomes "disconnected" from the underlying application.
1. Running JUnit tests.  If you watch the console, you'll see that the tests
terminate way before the UI starts reporting the test results.
2. Using the Java Editor, there are (quite often) instances where although the
editor will respond to my typing, it won't respond to mouse motions
(highlighting, etc).  Scroll bars will move, but the editor won't move with
them.  On the other hand, if you scroll in the editor with the mouse keys, the
scrollbars will sync.  The editor will continue with syntax highlighting, but
"semantic" highlighting and error/warning squiggles won't work.  After an
undetermined amount of time (sometimes minutes, other times I've had to restart
Eclipse), the UI will suddenly start responding again, and will react to all of
the clicks, motions, etc. that had been made while it was unresponsive.  Closing
Eclipse won't actually stop the processes -- I have to manually kill them.
3. When just starting Eclipse, the window appears and is all-grey.  It isn't
until I actually move the window that the contents appears.

I apologize if these are all different bugs, or are unrelated to the JDT (ie/
are part of Platform).
Comment 1 Dirk Baeumer CLA 2004-05-07 12:37:57 EDT
Regarding JUnit: we change the result presentation from Push to Poll. We are 
now polling in certain intervalls which avoid that the Ui get flooded with 
repaints event.


Opened separate bug for item 3 (61419). Moving to text to comment on item 2.
Comment 2 Marco Qualizza CLA 2004-05-07 13:07:07 EDT
Does that mean that item 1 is intentional?  If so, is there any need to update
the JUnit output as is currently done?  It's fairly slow...
Comment 3 Dani Megert CLA 2004-05-08 07:12:00 EDT
to be investigated during performance pass
Comment 4 Christof Marti CLA 2004-05-10 06:08:01 EDT
Investigating item 2.

Marco, is this a new problem starting with the I20040506 build or did you
observe this with older builds too? Did you have folding and/or spell-checking
enabled when the UI became unresponsive?
Comment 5 Marco Qualizza CLA 2004-05-10 09:18:26 EDT
I do have folding enabled, but not spell checking.  I'm pretty sure that this
happened before I20040506 -- but, since I'm not certain, I'll download an
earlier version and test it out...
Comment 6 Christof Marti CLA 2004-05-10 10:56:11 EDT
Even more intersting would be stacktraces from the running threads while you
observe the lockup. You can start Eclipse with the command line switch
-consolelog  (an additional console window will open) and get the stacktraces
during a lockup by pressing ctrl-break in the console.
Comment 7 Marco Qualizza CLA 2004-05-10 11:11:03 EDT
I'm sorry - I might be doing something wrong, but executing
/opt/eclipse/eclipse -consolelog -vm /usr/java/j2sdk1.4.2_03/bin/java -vmargs
-Xms128m -Xmx384m
from the command line doesn't open any extra windows...
Comment 8 Christof Marti CLA 2004-05-10 11:45:21 EDT
My description seems to be windows specific. Does ctrl-break in the console (in
which you started Eclipse) print the thread dump? Another possibility could be
to send a SIGHUP to the process. I'm not sure though, better save your work
before trying this.
Comment 9 Marco Qualizza CLA 2004-05-10 11:56:02 EDT
Thanks for the pointer.  I checked it out, and the unix solution is send QUIT,
or to hit <ctrl>\ in the window where the program started.  As soon as it locks
up again, I'll paste a stack trace. :-)
Comment 10 Marco Qualizza CLA 2004-05-10 12:38:32 EDT
Ok, this is the first time it happened to me this morning.  This happened while
I was typing:
getMockContext().stubs().method("getInterpreter").withNoArguments().will(
returnValue(mockInterpreter.proxy()) );

You know that box that appears when you are typing a new string, or method
parameters?  (It surrounds the text you type -- the same kind of thing that
appears when you do a quick-fix-rename...)... anyhow, there's one on screen,
surrounding
"getInterpreter").w

After approx. 2 minutes, it went away and Eclipse returned to normal.

Full thread dump Java HotSpot(TM) Client VM (1.4.2_03-b02 mixed mode):

"AutoAssist Delay" prio=1 tid=0x63b1b5c0 nid=0x1226 in Object.wait()
[63084000..630848b0]
        at java.lang.Object.wait(Native Method)
        at java.lang.Object.wait(Object.java:429)
        at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:152)
        - locked <0x45040048> (a org.eclipse.swt.widgets.RunnableLock)
        at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:25)
        at org.eclipse.swt.widgets.Display.syncExec(Display.java:2442)
        at
org.eclipse.jface.text.contentassist.ContentAssistant$AutoAssistListener.showAssist(ContentAssistant.java:319)
        at
org.eclipse.jface.text.contentassist.ContentAssistant$AutoAssistListener.run(ContentAssistant.java:246)
        at java.lang.Thread.run(Thread.java:534)

"Worker-17" prio=1 tid=0x0868e0d0 nid=0x11f9 in Object.wait() [633b4000..633b48b0]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x468b39e0> (a org.eclipse.core.internal.jobs.WorkerPool)
        at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:209)
        - locked <0x468b39e0> (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.internal.ui.text.JavaReconciler" daemon prio=1 tid=0x0878ee88
nid=0x105b in Object.wait() [62ede000..62ede8b0]
        at java.lang.Object.wait(Native Method)
        at
org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:161)
        - locked <0x483aaf68> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue)

"org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=1 tid=0x086849f0
nid=0x1057 in Object.wait() [62c07000..62c078b0]
        at java.lang.Object.wait(Native Method)
        at
org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:161)
        - locked <0x482019e0> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue)

"Java indexing" daemon prio=1 tid=0x08197fc8 nid=0xf58 in Object.wait()
[62809000..628098b0]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x46a0ac28> (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 <0x46a0ac28> (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=0x0823b448 nid=0xf40 in
Object.wait() [60f85000..60f858b0]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x464e02f0> (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 <0x464e02f0> (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=0x0823ca20 nid=0xf3f in
Object.wait() [60f04000..60f048b0]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x464e0340> (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 <0x464e0340> (a org.eclipse.osgi.framework.eventmgr.EventThread)
        at org.eclipse.osgi.framework.eventmgr.EventThread.run(EventThread.java:107)

"Signal Dispatcher" daemon prio=1 tid=0x0808f520 nid=0xf3a waiting on condition
[0..0]

"Finalizer" daemon prio=1 tid=0x0808bdd0 nid=0xf38 in Object.wait()
[60a86000..60a868b0]
        at java.lang.Object.wait(Native Method)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:111)
        - locked <0x464e04e0> (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=0x0808a318 nid=0xf37 in Object.wait()
[60a05000..60a058b0]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x464e0548> (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 <0x464e0548> (a java.lang.ref.Reference$Lock)

"main" prio=1 tid=0x080524d0 nid=0xf34 runnable [bfffa000..bfffb538]
        at
org.eclipse.swt.internal.gtk.OS.gtk_clipboard_wait_for_contents(Native Method)
        - locked <0x5cb88998> (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:604)
        at org.eclipse.core.runtime.Platform.run(Platform.java:545)
        at org.eclipse.jface.viewers.Viewer.fireSelectionChanged(Viewer.java:157)
        at
org.eclipse.jface.viewers.StructuredViewer.updateSelection(StructuredViewer.java:1292)
        at
org.eclipse.jface.viewers.StructuredViewer.setSelection(StructuredViewer.java:1015)
        at
org.eclipse.jdt.internal.ui.browsing.JavaBrowsingPart.setSelection(JavaBrowsingPart.java:1173)
        at
org.eclipse.jdt.internal.ui.browsing.JavaBrowsingPart.adjustInputAndSetSelection(JavaBrowsingPart.java:982)
        at
org.eclipse.jdt.internal.ui.browsing.JavaBrowsingPart.setSelectionFromEditor(JavaBrowsingPart.java:1148)
        at
org.eclipse.jdt.internal.ui.browsing.JavaBrowsingPart.selectionChanged(JavaBrowsingPart.java:682)
        at
org.eclipse.ui.internal.AbstractSelectionService$4.run(AbstractSelectionService.java:172)
        at
org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatform.java:604)
        at org.eclipse.core.runtime.Platform.run(Platform.java:545)
        at
org.eclipse.ui.internal.AbstractSelectionService.firePostSelection(AbstractSelectionService.java:170)
        at
org.eclipse.ui.internal.AbstractSelectionService$2.selectionChanged(AbstractSelectionService.java:76)
        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_main_iteration(Native Method)
        at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:1782)
        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:243)
        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:242)
        at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:119)
        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=0x080870b0 nid=0xf36 runnable

"VM Periodic Task Thread" prio=1 tid=0x08091c48 nid=0xf3c waiting on condition
"Suspend Checker Thread" prio=1 tid=0x0808ebb0 nid=0xf39 runnable
Comment 11 Marco Qualizza CLA 2004-05-10 12:50:48 EDT
Another one.  No box-thingy like last time.  code-assist doesn't work.

Full thread dump Java HotSpot(TM) Client VM (1.4.2_03-b02 mixed mode):

"Worker-23" prio=1 tid=0x64125010 nid=0x1351 in Object.wait() [628af000..628af8b0]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x468b39e0> (a org.eclipse.core.internal.jobs.WorkerPool)
        at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:209)
        - locked <0x468b39e0> (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-20" prio=1 tid=0x0897b300 nid=0x1299 in Object.wait() [62cd1000..62cd18b0]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x468b39e0> (a org.eclipse.core.internal.jobs.WorkerPool)
        at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:209)
        - locked <0x468b39e0> (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.internal.ui.text.JavaReconciler" daemon prio=1 tid=0x0878ee88
nid=0x105b in Object.wait() [62ede000..62ede8b0]
        at java.lang.Object.wait(Native Method)
        at
org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:161)
        - locked <0x483aaf68> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue)

"org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=1 tid=0x086849f0
nid=0x1057 in Object.wait() [62c07000..62c078b0]
        at java.lang.Object.wait(Native Method)
        at
org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:161)
        - locked <0x482019e0> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue)

"Java indexing" daemon prio=1 tid=0x08197fc8 nid=0xf58 in Object.wait()
[62809000..628098b0]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x46a0ac28> (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 <0x46a0ac28> (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=0x0823b448 nid=0xf40 in
Object.wait() [60f85000..60f858b0]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x464e02f0> (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 <0x464e02f0> (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=0x0823ca20 nid=0xf3f in
Object.wait() [60f04000..60f048b0]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x464e0340> (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 <0x464e0340> (a org.eclipse.osgi.framework.eventmgr.EventThread)
        at org.eclipse.osgi.framework.eventmgr.EventThread.run(EventThread.java:107)

"Signal Dispatcher" daemon prio=1 tid=0x0808f520 nid=0xf3a waiting on condition
[0..0]

"Finalizer" daemon prio=1 tid=0x0808bdd0 nid=0xf38 in Object.wait()
[60a86000..60a868b0]
        at java.lang.Object.wait(Native Method)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:111)
        - locked <0x464e04e0> (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=0x0808a318 nid=0xf37 in Object.wait()
[60a05000..60a058b0]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x464e0548> (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 <0x464e0548> (a java.lang.ref.Reference$Lock)

"main" prio=1 tid=0x080524d0 nid=0xf34 runnable [bfffa000..bfffb538]
        at
org.eclipse.swt.internal.gtk.OS.gtk_clipboard_wait_for_contents(Native Method)
        - locked <0x5cb88998> (a java.lang.Class)
        at org.eclipse.swt.dnd.Clipboard._getAvailableTypes(Clipboard.java:364)
        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:604)
        at org.eclipse.core.runtime.Platform.run(Platform.java:545)
        at org.eclipse.jface.viewers.Viewer.fireSelectionChanged(Viewer.java:157)
        at
org.eclipse.jface.viewers.StructuredViewer.updateSelection(StructuredViewer.java:1292)
        at
org.eclipse.jface.viewers.StructuredViewer.setSelection(StructuredViewer.java:1015)
        at
org.eclipse.jdt.internal.ui.browsing.JavaBrowsingPart.setSelection(JavaBrowsingPart.java:1173)
        at
org.eclipse.jdt.internal.ui.browsing.JavaBrowsingPart.adjustInputAndSetSelection(JavaBrowsingPart.java:980)
        at
org.eclipse.jdt.internal.ui.browsing.JavaBrowsingPart.setSelectionFromEditor(JavaBrowsingPart.java:1133)
        at
org.eclipse.jdt.internal.ui.browsing.JavaBrowsingPart.selectionChanged(JavaBrowsingPart.java:682)
        at
org.eclipse.ui.internal.AbstractSelectionService$4.run(AbstractSelectionService.java:172)
        at
org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatform.java:604)
        at org.eclipse.core.runtime.Platform.run(Platform.java:545)
        at
org.eclipse.ui.internal.AbstractSelectionService.firePostSelection(AbstractSelectionService.java:170)
        at
org.eclipse.ui.internal.AbstractSelectionService$2.selectionChanged(AbstractSelectionService.java:76)
        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_main_iteration(Native Method)
        at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:1782)
        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:243)
        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:242)
        at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:119)
        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=0x080870b0 nid=0xf36 runnable

"VM Periodic Task Thread" prio=1 tid=0x08091c48 nid=0xf3c waiting on condition
"Suspend Checker Thread" prio=1 tid=0x0808ebb0 nid=0xf39 runnable
Comment 12 Marco Qualizza CLA 2004-05-10 12:54:16 EDT
Let me know if you'd like any more stack traces or if there's any other way I
can help.
Comment 13 Marco Qualizza CLA 2004-05-10 13:11:47 EDT
I don't know if this is related, but it actually resulted in a complete deadlock:

I was typing:
AccessHelper.invokeMethod(new NormalGameState(getContext()), "interpret", new
Class[] {Class.class}})

My cursor is just in front of the last }.  There's a red squiggle under the . in
Class.class.  There's a thin green bar (the "this is where you'll tab to" bar)
at the very end of the line.  I was typing away, and realized that I'd hit an
extra closing brace, so I hit delete.

One thing I've forgotten to mention, which is prbably very significant, is that
I have my code-assist delay set to 0 and I have auto-assist on.

Full thread dump Java HotSpot(TM) Client VM (1.4.2_03-b02 mixed mode):

"Worker-6" prio=1 tid=0x086d9bb8 nid=0x14a9 in Object.wait() [63580000..635808b0]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x468b5490> (a org.eclipse.core.internal.jobs.WorkerPool)
        at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:209)
        - locked <0x468b5490> (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.internal.ui.text.JavaReconciler" daemon prio=1 tid=0x0817c568
nid=0x148c waiting for monitor entry [632a1000..632a18b0]
        at
org.eclipse.jdt.internal.ui.javaeditor.PartiallySynchronizedDocument.addPosition(PartiallySynchronizedDocument.java:110)
        - waiting to lock <0x478caa70> (a java.lang.Object)
        at
org.eclipse.jface.text.AbstractDocument.addPosition(AbstractDocument.java:324)
        at
org.eclipse.jface.text.source.AnnotationModel.addPosition(AnnotationModel.java:261)
        - locked <0x478b0b48> (a
org.eclipse.jdt.internal.ui.javaeditor.PartiallySynchronizedDocument)
        at
org.eclipse.jface.text.source.AnnotationModel.addAnnotation(AnnotationModel.java:225)
        at
org.eclipse.jface.text.source.AnnotationModel.replaceAnnotations(AnnotationModel.java:203)
        at
org.eclipse.jface.text.source.projection.ProjectionAnnotationModel.modifyAnnotations(ProjectionAnnotationModel.java:137)
        at
org.eclipse.jdt.internal.ui.text.folding.DefaultJavaFoldingStructureProvider.processDelta(DefaultJavaFoldingStructureProvider.java:453)
        at
org.eclipse.jdt.internal.ui.text.folding.DefaultJavaFoldingStructureProvider$ElementChangedListener.elementChanged(DefaultJavaFoldingStructureProvider.java:105)
        at
org.eclipse.jdt.internal.core.DeltaProcessor$2.run(DeltaProcessor.java:1459)
        at
org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatform.java:604)
        at org.eclipse.core.runtime.Platform.run(Platform.java:545)
        at
org.eclipse.jdt.internal.core.DeltaProcessor.notifyListeners(DeltaProcessor.java:1454)
        at
org.eclipse.jdt.internal.core.DeltaProcessor.fireReconcileDelta(DeltaProcessor.java:1321)
        at
org.eclipse.jdt.internal.core.DeltaProcessor.fire(DeltaProcessor.java:1279)
        at
org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:720)
        at
org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:739)
        at
org.eclipse.jdt.internal.core.CompilationUnit.reconcile(CompilationUnit.java:1099)
        at
org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:88)
        - locked <0x478b13a8> (a org.eclipse.jdt.internal.core.CompilationUnit)
        at
org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:129)
        at
org.eclipse.jdt.internal.ui.text.CompositeReconcilingStrategy.reconcile(CompositeReconcilingStrategy.java:86)
        at
org.eclipse.jdt.internal.ui.text.JavaCompositeReconcilingStrategy.reconcile(JavaCompositeReconcilingStrategy.java:96)
        at
org.eclipse.jface.text.reconciler.MonoReconciler.process(MonoReconciler.java:76)
        at
org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:189)

"org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=1 tid=0x08182bd8
nid=0x1475 in Object.wait() [62bca000..62bca8b0]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x46bc1de0> (a
org.eclipse.jface.text.reconciler.DirtyRegionQueue)
        at
org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:161)
        - locked <0x46bc1de0> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue)

"Java indexing" daemon prio=1 tid=0x0851e738 nid=0x1473 in Object.wait()
[6270c000..6270c8b0]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x469e98a0> (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 <0x469e98a0> (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=0x0823b448 nid=0x1470 in
Object.wait() [60f85000..60f858b0]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x464e02f0> (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 <0x464e02f0> (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=0x0823ca20 nid=0x146f in
Object.wait() [60f04000..60f048b0]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x464e0340> (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 <0x464e0340> (a org.eclipse.osgi.framework.eventmgr.EventThread)
        at org.eclipse.osgi.framework.eventmgr.EventThread.run(EventThread.java:107)

"Signal Dispatcher" daemon prio=1 tid=0x0808f520 nid=0x146a waiting on condition
[0..0]

"Finalizer" daemon prio=1 tid=0x0808bdd0 nid=0x1468 in Object.wait()
[60a86000..60a868b0]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x464e04e0> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:111)
        - locked <0x464e04e0> (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=0x0808a318 nid=0x1467 in Object.wait()
[60a05000..60a058b0]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x464e0548> (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 <0x464e0548> (a java.lang.ref.Reference$Lock)

"main" prio=1 tid=0x080524d0 nid=0x1464 waiting for monitor entry
[bfff9000..bfffbd38]
        at
org.eclipse.jdt.internal.ui.javaeditor.SemanticHighlightingPresenter.setCanceled(SemanticHighlightingPresenter.java:601)
        - waiting to lock <0x478b0b48> (a
org.eclipse.jdt.internal.ui.javaeditor.PartiallySynchronizedDocument)
        at
org.eclipse.jdt.internal.ui.javaeditor.SemanticHighlightingPresenter.documentChanged(SemanticHighlightingPresenter.java:574)
        at
org.eclipse.jface.text.AbstractDocument.doFireDocumentChanged2(AbstractDocument.java:673)
        at
org.eclipse.jface.text.AbstractDocument.doFireDocumentChanged(AbstractDocument.java:638)
        at
org.eclipse.jface.text.AbstractDocument.doFireDocumentChanged(AbstractDocument.java:623)
        at
org.eclipse.jface.text.AbstractDocument.fireDocumentChanged(AbstractDocument.java:698)
        at
org.eclipse.jface.text.AbstractDocument.replace(AbstractDocument.java:989)
        at
org.eclipse.jdt.internal.ui.javaeditor.PartiallySynchronizedDocument.replace(PartiallySynchronizedDocument.java:92)
        - locked <0x478caa70> (a java.lang.Object)
        at
org.eclipse.jface.text.DocumentCommand$Command.execute(DocumentCommand.java:88)
        at org.eclipse.jface.text.DocumentCommand.execute(DocumentCommand.java:429)
        at org.eclipse.jface.text.TextViewer.handleVerifyEvent(TextViewer.java:3240)
        at
org.eclipse.jface.text.source.projection.ProjectionViewer.handleVerifyEvent(ProjectionViewer.java:919)
        at
org.eclipse.jface.text.TextViewer$TextVerifyListener.verifyText(TextViewer.java:334)
        at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:193)
        at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:82)
        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:939)
        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:963)
        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:948)
        at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:818)
        at org.eclipse.swt.custom.StyledText.modifyContent(StyledText.java:5555)
        at org.eclipse.swt.custom.StyledText.sendKeyEvent(StyledText.java:6405)
        at org.eclipse.swt.custom.StyledText.doDelete(StyledText.java:2633)
        at org.eclipse.swt.custom.StyledText.invokeAction(StyledText.java:5469)
        at org.eclipse.jface.text.TextViewer.deleteText(TextViewer.java:3495)
        at org.eclipse.jface.text.TextViewer.doOperation(TextViewer.java:3390)
        at
org.eclipse.jface.text.source.SourceViewer.doOperation(SourceViewer.java:744)
        at
org.eclipse.jface.text.source.projection.ProjectionViewer.doOperation(ProjectionViewer.java:1088)
        at
org.eclipse.jdt.internal.ui.javaeditor.JavaSourceViewer.doOperation(JavaSourceViewer.java:148)
        at
org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitEditor$AdaptedSourceViewer.doOperation(CompilationUnitEditor.java:197)
        at
org.eclipse.ui.texteditor.TextOperationAction$1.run(TextOperationAction.java:122)
        at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:84)
        at
org.eclipse.ui.texteditor.TextOperationAction.run(TextOperationAction.java:120)
        at org.eclipse.jface.action.Action.runWithEvent(Action.java:881)
        at org.eclipse.ui.commands.ActionHandler.execute(ActionHandler.java:141)
        at org.eclipse.ui.internal.commands.Command.execute(Command.java:127)
        at
org.eclipse.ui.internal.keys.WorkbenchKeyboard.executeCommand(WorkbenchKeyboard.java:468)
        at
org.eclipse.ui.internal.keys.WorkbenchKeyboard.press(WorkbenchKeyboard.java:886)
        at
org.eclipse.ui.internal.keys.WorkbenchKeyboard.processKeyEvent(WorkbenchKeyboard.java:927)
        at
org.eclipse.ui.internal.keys.OutOfOrderListener.handleEvent(OutOfOrderListener.java:67)
        at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:82)
        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:939)
        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:963)
        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:948)
        at org.eclipse.swt.widgets.Control.sendKeyEvent(Control.java:2252)
        at org.eclipse.swt.widgets.Control.gtk_key_press_event(Control.java:1764)
        at org.eclipse.swt.widgets.Composite.gtk_key_press_event(Composite.java:441)
        at org.eclipse.swt.widgets.Widget.windowProc(Widget.java:1189)
        at org.eclipse.swt.widgets.Display.windowProc(Display.java:2517)
        at org.eclipse.swt.internal.gtk.OS.gtk_main_do_event(Native Method)
        at org.eclipse.swt.widgets.Display.eventProc(Display.java:759)
        at org.eclipse.swt.internal.gtk.OS.gtk_main_iteration(Native Method)
        at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:1782)
        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:243)
        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:242)
        at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:119)
        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=0x080870b0 nid=0x1466 runnable

"VM Periodic Task Thread" prio=1 tid=0x08091c48 nid=0x146c waiting on condition
"Suspend Checker Thread" prio=1 tid=0x0808ebb0 nid=0x1469 runnable

Found one Java-level deadlock:
=============================
"org.eclipse.jdt.internal.ui.text.JavaReconciler":
  waiting to lock monitor 0x0808af44 (object 0x478caa70, a java.lang.Object),
  which is held by "main"
"main":
  waiting to lock monitor 0x0808b0cc (object 0x478b0b48, a
org.eclipse.jdt.internal.ui.javaeditor.PartiallySynchronizedDocument),
  which is held by "org.eclipse.jdt.internal.ui.text.JavaReconciler"

Java stack information for the threads listed above:
===================================================
"org.eclipse.jdt.internal.ui.text.JavaReconciler":
        at
org.eclipse.jdt.internal.ui.javaeditor.PartiallySynchronizedDocument.addPosition(PartiallySynchronizedDocument.java:110)
        - waiting to lock <0x478caa70> (a java.lang.Object)
        at
org.eclipse.jface.text.AbstractDocument.addPosition(AbstractDocument.java:324)
        at
org.eclipse.jface.text.source.AnnotationModel.addPosition(AnnotationModel.java:261)
        - locked <0x478b0b48> (a
org.eclipse.jdt.internal.ui.javaeditor.PartiallySynchronizedDocument)
        at
org.eclipse.jface.text.source.AnnotationModel.addAnnotation(AnnotationModel.java:225)
        at
org.eclipse.jface.text.source.AnnotationModel.replaceAnnotations(AnnotationModel.java:203)
        at
org.eclipse.jface.text.source.projection.ProjectionAnnotationModel.modifyAnnotations(ProjectionAnnotationModel.java:137)
        at
org.eclipse.jdt.internal.ui.text.folding.DefaultJavaFoldingStructureProvider.processDelta(DefaultJavaFoldingStructureProvider.java:453)
        at
org.eclipse.jdt.internal.ui.text.folding.DefaultJavaFoldingStructureProvider$ElementChangedListener.elementChanged(DefaultJavaFoldingStructureProvider.java:105)
        at
org.eclipse.jdt.internal.core.DeltaProcessor$2.run(DeltaProcessor.java:1459)
        at
org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatform.java:604)
        at org.eclipse.core.runtime.Platform.run(Platform.java:545)
        at
org.eclipse.jdt.internal.core.DeltaProcessor.notifyListeners(DeltaProcessor.java:1454)
        at
org.eclipse.jdt.internal.core.DeltaProcessor.fireReconcileDelta(DeltaProcessor.java:1321)
        at
org.eclipse.jdt.internal.core.DeltaProcessor.fire(DeltaProcessor.java:1279)
        at
org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:720)
        at
org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:739)
        at
org.eclipse.jdt.internal.core.CompilationUnit.reconcile(CompilationUnit.java:1099)
        at
org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:88)
        - locked <0x478b13a8> (a org.eclipse.jdt.internal.core.CompilationUnit)
        at
org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:129)
        at
org.eclipse.jdt.internal.ui.text.CompositeReconcilingStrategy.reconcile(CompositeReconcilingStrategy.java:86)
        at
org.eclipse.jdt.internal.ui.text.JavaCompositeReconcilingStrategy.reconcile(JavaCompositeReconcilingStrategy.java:96)
        at
org.eclipse.jface.text.reconciler.MonoReconciler.process(MonoReconciler.java:76)
        at
org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:189)
"main":
        at
org.eclipse.jdt.internal.ui.javaeditor.SemanticHighlightingPresenter.setCanceled(SemanticHighlightingPresenter.java:601)
        - waiting to lock <0x478b0b48> (a
org.eclipse.jdt.internal.ui.javaeditor.PartiallySynchronizedDocument)
        at
org.eclipse.jdt.internal.ui.javaeditor.SemanticHighlightingPresenter.documentChanged(SemanticHighlightingPresenter.java:574)
        at
org.eclipse.jface.text.AbstractDocument.doFireDocumentChanged2(AbstractDocument.java:673)
        at
org.eclipse.jface.text.AbstractDocument.doFireDocumentChanged(AbstractDocument.java:638)
        at
org.eclipse.jface.text.AbstractDocument.doFireDocumentChanged(AbstractDocument.java:623)
        at
org.eclipse.jface.text.AbstractDocument.fireDocumentChanged(AbstractDocument.java:698)
        at
org.eclipse.jface.text.AbstractDocument.replace(AbstractDocument.java:989)
        at
org.eclipse.jdt.internal.ui.javaeditor.PartiallySynchronizedDocument.replace(PartiallySynchronizedDocument.java:92)
        - locked <0x478caa70> (a java.lang.Object)
        at
org.eclipse.jface.text.DocumentCommand$Command.execute(DocumentCommand.java:88)
        at org.eclipse.jface.text.DocumentCommand.execute(DocumentCommand.java:429)
        at org.eclipse.jface.text.TextViewer.handleVerifyEvent(TextViewer.java:3240)
        at
org.eclipse.jface.text.source.projection.ProjectionViewer.handleVerifyEvent(ProjectionViewer.java:919)
        at
org.eclipse.jface.text.TextViewer$TextVerifyListener.verifyText(TextViewer.java:334)
        at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:193)
        at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:82)
        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:939)
        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:963)
        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:948)
        at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:818)
        at org.eclipse.swt.custom.StyledText.modifyContent(StyledText.java:5555)
        at org.eclipse.swt.custom.StyledText.sendKeyEvent(StyledText.java:6405)
        at org.eclipse.swt.custom.StyledText.doDelete(StyledText.java:2633)
        at org.eclipse.swt.custom.StyledText.invokeAction(StyledText.java:5469)
        at org.eclipse.jface.text.TextViewer.deleteText(TextViewer.java:3495)
        at org.eclipse.jface.text.TextViewer.doOperation(TextViewer.java:3390)
        at
org.eclipse.jface.text.source.SourceViewer.doOperation(SourceViewer.java:744)
        at
org.eclipse.jface.text.source.projection.ProjectionViewer.doOperation(ProjectionViewer.java:1088)
        at
org.eclipse.jdt.internal.ui.javaeditor.JavaSourceViewer.doOperation(JavaSourceViewer.java:148)
        at
org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitEditor$AdaptedSourceViewer.doOperation(CompilationUnitEditor.java:197)
        at
org.eclipse.ui.texteditor.TextOperationAction$1.run(TextOperationAction.java:122)
        at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:84)
        at
org.eclipse.ui.texteditor.TextOperationAction.run(TextOperationAction.java:120)
        at org.eclipse.jface.action.Action.runWithEvent(Action.java:881)
        at org.eclipse.ui.commands.ActionHandler.execute(ActionHandler.java:141)
        at org.eclipse.ui.internal.commands.Command.execute(Command.java:127)
        at
org.eclipse.ui.internal.keys.WorkbenchKeyboard.executeCommand(WorkbenchKeyboard.java:468)
        at
org.eclipse.ui.internal.keys.WorkbenchKeyboard.press(WorkbenchKeyboard.java:886)
        at
org.eclipse.ui.internal.keys.WorkbenchKeyboard.processKeyEvent(WorkbenchKeyboard.java:927)
        at
org.eclipse.ui.internal.keys.OutOfOrderListener.handleEvent(OutOfOrderListener.java:67)
        at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:82)
        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:939)
        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:963)
        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:948)
        at org.eclipse.swt.widgets.Control.sendKeyEvent(Control.java:2252)
        at org.eclipse.swt.widgets.Control.gtk_key_press_event(Control.java:1764)
        at org.eclipse.swt.widgets.Composite.gtk_key_press_event(Composite.java:441)
        at org.eclipse.swt.widgets.Widget.windowProc(Widget.java:1189)
        at org.eclipse.swt.widgets.Display.windowProc(Display.java:2517)
        at org.eclipse.swt.internal.gtk.OS.gtk_main_do_event(Native Method)
        at org.eclipse.swt.widgets.Display.eventProc(Display.java:759)
        at org.eclipse.swt.internal.gtk.OS.gtk_main_iteration(Native Method)
        at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:1782)
        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:243)
        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:242)
        at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:119)
        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)

Found 1 deadlock.
Comment 14 Christof Marti CLA 2004-05-11 03:29:54 EDT
Thanks Marco, the deadlock from comment 13 is fixed in builds >I20040506 and
>N20040504.
Comment 15 Christof Marti CLA 2004-05-11 03:58:39 EDT
The stacktraces in comment 10 and comment 11 both show the main thread executing
OS.gtk_clipboard_wait_for_contents(..) during PasteAction.canOperateOn(..)
during a Members View's selection change event. This could be a platform
specific problem.
Comment 16 Christof Marti CLA 2004-05-11 03:59:43 EDT
Moving to Platform/SWT for comment.
Comment 17 Veronika Irvine CLA 2004-05-11 13:17:23 EDT
The OS.gtk_clipboard_wait_for_contents(..) issues sound like a duplicate of 
bug 44915 and should be fixed in any of the Integration builds of May 11.
Comment 18 Marco Qualizza CLA 2004-05-12 09:48:31 EDT
In risk of being overly optimistic, it looks like bug 44915 might have solved
this bug.  I haven't noticed this happening since I200405110800 (I've also tried
I200405111200, and am now running I200405120800).  I used to see this as often
as every five minutes (at its worst) to once an hour (at its best).
Comment 19 Grant Gayed CLA 2004-05-14 13:27:08 EDT
The fix for bug 44915 should address your stacks that contain 
gtk_clipboard_wait_for_contents .

This report has wandered through a few different problems over its life.  Can 
it now be closed (ie.- has everything been addressed either here or by some 
other report)?
Comment 20 Christof Marti CLA 2004-05-17 03:11:30 EDT
Ok to close then, other issues have been addressed or a corresponding PR has
been opened.
Comment 21 Grant Gayed CLA 2004-05-17 09:23:39 EDT
closing