Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 55714 - Eclipse locks up, and needs to be hard killed
Summary: Eclipse locks up, and needs to be hard killed
Status: RESOLVED DUPLICATE of bug 44915
Alias: None
Product: Platform
Classification: Eclipse Project
Component: SWT (show other bugs)
Version: 3.0   Edit
Hardware: PC Linux-GTK
: P1 critical (vote)
Target Milestone: 3.0 M9   Edit
Assignee: Veronika Irvine CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-03-23 12:24 EST by Douglas Pollock CLA
Modified: 2004-04-08 13:36 EDT (History)
10 users (show)

See Also:


Attachments
crap. (16.79 KB, text/plain)
2004-03-23 14:55 EST, Chris McLaren CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Douglas Pollock CLA 2004-03-23 12:24:58 EST
The symptoms are that -- after some action is initiated -- the Eclipse 
workbench windows stop repainting and stop responding to mouse and keyboard 
events.  This is somewhat indicative of a problem within the event loop (either 
something pinning the event loop, or something causing repeated exceptions in 
the event loop).  When this happens, Eclipse needs to be hard killed (i.e., 
SIGKILL). 
 
Two of the three Platform UI developers (Chris McLaren and Douglas Pollock) who 
regularly use Linux-GTK have experienced this frequently starting with 
yesterday morning's warm-up build (I200403220800).  The one developer who has 
not seen this yet (Billy Biggs) does not have commit rights (i.e., perhaps CVS 
related?). 
 
Stefan Xenos (a Windows XP guy) has seen similar "lock-ups", but his machine 
eventually comes back to life after a long wait (in the order of minutes).  
I've also seen my machine come back to life after a really long time (similar 
magnitude).  I have not always been patient enough to wait ten minutes to see 
if it comes back, so I'm not sure if it always comes back to life.
Comment 1 Marco Qualizza CLA 2004-03-23 13:01:07 EST
I've also seen some lock-ups, but they've been short-lived (1 min tops, I
think).  But I'm also on a fast box...
I20040323
GTK2 running on KDE 3.2.1 (Gentoo)
P4-3.06GHz HT
Comment 2 Travis Hume CLA 2004-03-23 13:23:22 EST
While testing with yesterdays warm-up build I was seeing this behaviour when
opening large projects.  The UI would stop responding and painting.  I
eventually comes back.  I didn't use the build a lot though because of other
keybinding problems that made it unuseable.
Comment 3 Chris McLaren CLA 2004-03-23 13:29:51 EST
possible steps to reproduce (note: could be red herring)

last night i had at least 6 full freezes within an hour. i was doing mass search
and replace of path names related to changes in the latest 3.0 icons drops. i
would search for some string, page through all the matching files, search and
replaces, save all, repeat. usually there were about 10-15 files touched in each
pass. 

the freezes, i believe, all occurred at the 'save all'. i started (finally) to
ctrl+s, close, ctrl+s, close, individual editors and didn't encounter any
freezes.  i also think i froze doing a close all, where i was asked to save all
the editors and i close 'yes'..

ALSO: if you encounter this problem (on linux), please try to kill the process
with (i think) kill -HUP (or -3) to get a thread dump. 'kill -l' shows various
options, kevin haaland thinks 'kill -11' is the way to go to get the thread dump
and also thinks it varies by VM. you will probably eventually have to really
kill it with 'kill -9'.
Comment 4 Luc Bourlier CLA 2004-03-23 13:55:39 EST
May be what you see is bug 55714.
Team is doing an operation in the UI thread on marker changes, the UI is blocked
until the operation finishes (it may be long if a lot of marker are
created/deleted).
Comment 5 Douglas Pollock CLA 2004-03-23 14:04:39 EST
Regarding Comment #4:  Talking with Jean-Michel, it seems likely that it is the 
Team problem.  We'll keep this open until we can get a stable build to play 
around with for a while. 
Comment 6 Jan Schulz CLA 2004-03-23 14:10:44 EST
use 'kill -QUIT <pid of eclipse JVM>' to get thread dump.
Comment 7 Chris McLaren CLA 2004-03-23 14:54:33 EST
i had a full freeze. can't give you steps, but i can give you this.. see attached..
Comment 8 Chris McLaren CLA 2004-03-23 14:55:16 EST
Created attachment 8801 [details]
crap.
Comment 9 Douglas Pollock CLA 2004-03-23 15:07:56 EST
Steve: I believe this is the bug Chris wanted you to comment on.  See the last  
comment (segfault).  
Comment 10 Douglas Pollock CLA 2004-03-23 15:43:38 EST
I'm still experiencing these exceptionally long lock-ups (on the UI thread) 
while performing CVS operations (e.g., update all).  This is in I200403231208. 
 
Jean-Michel: can you comment? 
Comment 11 Jean-Michel Lemieux CLA 2004-03-23 16:26:57 EST
There was a bug 55605 on team that could have a side effect of locking up the 
ui. It would help to have the stack trace to confirm though. Anyway, there is 
a fix for the team problem in the I20040322:4pm build.
Comment 12 Steve Northover CLA 2004-03-23 18:18:11 EST
I thought that "Unexpected Signal : 11" is SIGQUIT so there isn't really a 
segment fault?  It looks to me that GTK is locked up in gtk_main_iteration().  
Chris, were the windows no longer painting or was is just that Eclipse was not 
responding? (ie. you select a menu item, the menu goes away and nothing 
happens)
Comment 13 Douglas Pollock CLA 2004-03-24 08:47:15 EST
Steve: In the summary it describes the visual effects.  Eclipse does fail to 
repaint (meaning something is interferring with the event loop -- locking, long 
running task on the event loop, exceptions occurring repeatedly during 
repaints).  Also note the possible interaction with Bug 55605. 
 
What could have caused a segmentation fault in the event loop? 
 
bash-2.05b$ kill -l 
 1) SIGHUP       2) SIGINT       3) SIGQUIT      4) SIGILL 
 5) SIGTRAP      6) SIGABRT      7) SIGBUS       8) SIGFPE 
 9) SIGKILL     10) SIGUSR1     11) SIGSEGV     12) SIGUSR2 
13) SIGPIPE     14) SIGALRM     15) SIGTERM     17) SIGCHLD 
18) SIGCONT     19) SIGSTOP     20) SIGTSTP     21) SIGTTIN 
22) SIGTTOU     23) SIGURG      24) SIGXCPU     25) SIGXFSZ 
26) SIGVTALRM   27) SIGPROF     28) SIGWINCH    29) SIGIO 
30) SIGPWR      31) SIGSYS      33) SIGRTMIN    34) SIGRTMIN+1 
35) SIGRTMIN+2  36) SIGRTMIN+3  37) SIGRTMIN+4  38) SIGRTMIN+5 
39) SIGRTMIN+6  40) SIGRTMIN+7  41) SIGRTMIN+8  42) SIGRTMIN+9 
43) SIGRTMIN+10 44) SIGRTMIN+11 45) SIGRTMIN+12 46) SIGRTMIN+13 
47) SIGRTMIN+14 48) SIGRTMIN+15 49) SIGRTMAX-15 50) SIGRTMAX-14 
51) SIGRTMAX-13 52) SIGRTMAX-12 53) SIGRTMAX-11 54) SIGRTMAX-10 
55) SIGRTMAX-9  56) SIGRTMAX-8  57) SIGRTMAX-7  58) SIGRTMAX-6 
59) SIGRTMAX-5  60) SIGRTMAX-4  61) SIGRTMAX-3  62) SIGRTMAX-2 
63) SIGRTMAX-1  64) SIGRTMAX 
 
Comment 14 Martin van den Bemt CLA 2004-03-24 09:12:44 EST
This behaviour seems a lot like the behaviour I had in eclipse 2.1 under windows
XP (now using linux btw). Turning off Team label decorations improved it a lot,
but still some lockups were experienced. Never had the problem in 2.1 under
linux though (although label decorations seem to slow down eclipse).
Don't know if it is related in anyway, but just thought I mentioned it..
Comment 15 Steve Northover CLA 2004-03-24 09:32:49 EST
Thanks for the SIG list.  The "GP in event dispatch" generally happens when 
memory is corrupted during the last event dispatch (possibly the last few 
dispatches) and the corruption is only noticed when the next event is 
dispatched.  This is further complicated by the SWT "asyncExec/syncExec" story 
that allows arbitrary code to execute between dispatches.

The problem is common on GTK and Motif.  It generally doesn't happen on 
Windows (usually, you GP right away at the spot that caused the damage).

The memory corruption can be SWT's fault, the VM's fault but usually the 
operating systems is to blame. These problems are pretty hard to track 
but "par for the course" late in the release cycle when everyone is changing 
everything. The approach that is usually taken is to wait for things to 
stabilize and look for a repeatable case.
Comment 16 Tod Creasey CLA 2004-03-24 11:51:01 EST
is this related to Bug 55635?
Comment 17 Douglas Pollock CLA 2004-03-24 11:52:55 EST
Thanks, Tod.  It's possible.  I'll annotate Bug 55635. 
Comment 18 John Arthorne CLA 2004-03-24 12:17:09 EST
Everyone, please attach a stack trace if you get any deadlocks using the M8 test
candidate, and tell us what platform).  That is the only way to diagnose
deadlocks or bottlenecks.
Comment 19 Brian Stiles CLA 2004-04-05 23:03:16 EDT
I'm experiencing something similar.  Sometimes, while debugging a plugin, when I
hit a break point Eclipse will stop responding.  UI in the debugger workbench
paints, but buttons/menus don't actually do anything.

Here are two interesting observations.  It seems that the problem occurs (most
frequently, at least) when I start debugging in a non-Debug perspective and
hitting the breakpoint causes Eclipse to ask me if I want to switch to the Debug
perspective.  And, if I click the window-frame close button, Eclipse usually
seems to continue operating for the duration that the exit confirmation dialog
is displayed.  In other words, if Eclipse seems to be hung, I can click the
close button in the upper right corner of the window, the exit confirmation
dialog pops up, and Eclipse "starts running" again.
Comment 20 Brian Stiles CLA 2004-04-07 14:25:21 EDT
Though I didn't explicitly state it in my previous comment, my platform matches
that of the bug description.  Linux, GTK, 3.0 M8.  Additionally, if it is
helpful, I'm running Debian/testing, Openbox window manager, with Xinerama on
two monitors.  Using the workaround I noted, I do not have to kill Eclipse and
so do not have a stack trace.

This problem occurs pretty frequently, so if there's anything I can do to
capture more debugging information, please let me know.
Comment 21 Douglas Pollock CLA 2004-04-07 14:33:38 EDT
You can get a stack trace even without killing Eclipse.  If it is launched from 
the command-line, then you can get a stack trace by executing "kill -3 <eclipse 
jvm pid>".  I have found that sometimes it is easier if the VM is launched by 
hand (i.e., not using the "eclipse" executable wrapper). 
Comment 22 Brian Stiles CLA 2004-04-07 18:23:31 EDT
Following are two stacktraces.  The first was taken when the debugger was in a
"hung" state.  I was debugging a plugin at the time.  The debuggee was
suspended, as expected.  The debugger workspace was in the process of displaying
the stack in the Debug view.  The stack elements in the thread tree were
displayed, but rather than class/method/line number, each element displayed
"...".  The second stack trace captures the state after I had clicked the window
close button and the exit confirmation dialog was showing.  As I said before,
when I do that, the debugger "unfreezes" and continues.

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

"Worker-5" prio=1 tid=0x08b90058 nid=0x2aea in Object.wait() [be3ff000..be3ff8d0]
	at java.lang.Object.wait(Native Method)
	at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:184)
	- locked <0x47091328> (a org.eclipse.core.internal.jobs.WorkerPool)
	at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:210)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)

"org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=1 tid=0x08b81d78
nid=0x2ab9 in Object.wait() [bbbff000..bbbff8d0]
	at java.lang.Object.wait(Native Method)
	at
org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:161)
	- locked <0x4a402920> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue)

"org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=1 tid=0x08b7d6f0
nid=0x2ab8 in Object.wait() [bbdff000..bbdff8d0]
	at java.lang.Object.wait(Native Method)
	at
org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:161)
	- locked <0x4a3bc1b0> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue)

"org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=1 tid=0x08b77090
nid=0x2ab7 in Object.wait() [bbfff000..bbfff8d0]
	at java.lang.Object.wait(Native Method)
	at
org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:161)
	- locked <0x4a379618> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue)

"org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=1 tid=0x08b6fd98
nid=0x2ab6 in Object.wait() [bc3ff000..bc3ff8d0]
	at java.lang.Object.wait(Native Method)
	at
org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:161)
	- locked <0x4a2fe158> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue)

"org.eclipse.jdt.debug: JDI Event Dispatcher" prio=1 tid=0x0876d968 nid=0x2a6e
in Object.wait() [bcdff000..bcdff8d0]
	at java.lang.Object.wait(Native Method)
	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 <0x49e95fd8> (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" prio=1 tid=0x08bc7680 nid=0x2a6c in Object.wait()
[bc9ff000..bc9ff8d0]
	at java.lang.Object.wait(Native Method)
	at java.lang.Object.wait(Object.java:429)
	at
org.eclipse.jdi.internal.connect.PacketSendManager.sendAvailablePackets(PacketSendManager.java:94)
	- locked <0x49e96140> (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" prio=1 tid=0x08b66bd0 nid=0x2a6b runnable
[bcbff000..bcbff8d0]
	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=0x0899e440 nid=0x2a63 waiting on condition
[bcfff000..bcfff8d0]
	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" prio=1 tid=0x08a322d0 nid=0x2a62 in Object.wait()
[bd1ff000..bd1ff8d0]
	at java.lang.Object.wait(Native Method)
	- waiting on <0x49e962f8> (a java.lang.Object)
	at java.lang.Object.wait(Object.java:429)
	at
org.eclipse.debug.internal.core.InputStreamMonitor.writeNext(InputStreamMonitor.java:124)
	- locked <0x49e962f8> (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" prio=1 tid=0x08b64790 nid=0x2a61 runnable
[bd3ff000..bd3ff8d0]
	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" prio=1 tid=0x0899dc78 nid=0x2a60 runnable
[bd5ff000..bd5ff8d0]
	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 <0x49e9a448> (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=0x089b39c0 nid=0x2a5e runnable
[be9ff000..be9ff8d0]
	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)

"Worker-4" prio=1 tid=0x0894f250 nid=0x2a05 in Object.wait() [bc7ff000..bc7ff8d0]
	at java.lang.Object.wait(Native Method)
	- waiting on <0x49e9a4e0> (a java.lang.UNIXProcess)
	at java.lang.Object.wait(Object.java:429)
	at java.lang.UNIXProcess.waitFor(UNIXProcess.java:160)
	- locked <0x49e9a4e0> (a java.lang.UNIXProcess)
	at
org.eclipse.debug.core.model.RuntimeProcess$ProcessMonitorJob.run(RuntimeProcess.java:350)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:62)

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

"Java2D Disposer" daemon prio=1 tid=0x08a1a3e0 nid=0x29e4 in Object.wait()
[bc1ff000..bc1ff8d0]
	at java.lang.Object.wait(Native Method)
	- waiting on <0x48df4778> (a java.lang.ref.ReferenceQueue$Lock)
	at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:111)
	- locked <0x48df4778> (a java.lang.ref.ReferenceQueue$Lock)
	at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:127)
	at sun.java2d.Disposer.run(Disposer.java:100)
	at java.lang.Thread.run(Thread.java:534)

"AWT-Motif" daemon prio=1 tid=0x08a27c38 nid=0x29e2 runnable [bc5ff000..bc5ff8d0]
	at sun.awt.motif.MToolkit.run(Native Method)
	at java.lang.Thread.run(Thread.java:534)

"StarTeam Keep Alive" prio=1 tid=0x08742c38 nid=0x298a in Object.wait()
[bdbff000..bdbff8d0]
	at java.lang.Object.wait(Native Method)
	- waiting on <0x4814b5a0> (a
com.borland.team.starteam.ui.internal.preferences.ConnectionPreferences$1)
	at
com.borland.team.starteam.ui.internal.preferences.ConnectionPreferences$1.run(ConnectionPreferences.java:65)
	- locked <0x4814b5a0> (a
com.borland.team.starteam.ui.internal.preferences.ConnectionPreferences$1)
	at java.lang.Thread.run(Thread.java:534)

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

"Worker-1" prio=1 tid=0x0859adc0 nid=0x2988 in Object.wait() [bdfff000..bdfff8d0]
	at java.lang.Object.wait(Native Method)
	at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:184)
	- locked <0x47091328> (a org.eclipse.core.internal.jobs.WorkerPool)
	at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:210)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)

"Java indexing" daemon prio=1 tid=0x0845de68 nid=0x297d in Object.wait()
[be1ff000..be1ff8d0]
	at java.lang.Object.wait(Native Method)
	- waiting on <0x475a0a60> (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:327)
	- locked <0x475a0a60> (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=0x081764a0 nid=0x297a in
Object.wait() [be5ff000..be5ff8d0]
	at java.lang.Object.wait(Native Method)
	- waiting on <0x46f69d78> (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:167)
	- locked <0x46f69d78> (a org.eclipse.osgi.framework.eventmgr.EventThread)
	at org.eclipse.osgi.framework.eventmgr.EventThread.run(EventThread.java:118)

"Framework Event Dispatcher" daemon prio=1 tid=0x081429b8 nid=0x2979 in
Object.wait() [be7ff000..be7ff8d0]
	at java.lang.Object.wait(Native Method)
	- waiting on <0x46f5af98> (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:167)
	- locked <0x46f5af98> (a org.eclipse.osgi.framework.eventmgr.EventThread)
	at org.eclipse.osgi.framework.eventmgr.EventThread.run(EventThread.java:118)

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

"Finalizer" daemon prio=1 tid=0x0808b220 nid=0x2972 in Object.wait()
[bf3ff000..bf3ff8d0]
	at java.lang.Object.wait(Native Method)
	at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:111)
	- locked <0x46ecabc8> (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=0x0808a668 nid=0x2971 in Object.wait()
[bf5ff000..bf5ff8d0]
	at java.lang.Object.wait(Native Method)
	- waiting on <0x46ecac30> (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 <0x46ecac30> (a java.lang.ref.Reference$Lock)

"main" prio=1 tid=0x08052768 nid=0x296d in Object.wait() [bfffb000..bfffd748]
	at java.lang.Object.wait(Native Method)
	at org.eclipse.swt.widgets.Display.sleep(Display.java:2222)
	- locked <0x64bfb1c0> (a java.lang.Class)
	at org.eclipse.jface.window.Window.runEventLoop(Window.java:671)
	at org.eclipse.jface.window.Window.open(Window.java:650)
	at
org.eclipse.ui.internal.ide.dialogs.MessageDialogWithToggle.openConfirm(MessageDialogWithToggle.java:143)
	at
org.eclipse.ui.internal.ide.IDEWorkbenchAdvisor.preWindowShellClose(IDEWorkbenchAdvisor.java:268)
	at
org.eclipse.ui.internal.WorkbenchWindow.canHandleShellCloseEvent(WorkbenchWindow.java:449)
	at org.eclipse.jface.window.Window$2.shellClosed(Window.java:545)
	at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:158)
	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.Shell.closeWidget(Shell.java:451)
	at org.eclipse.swt.widgets.Shell.gtk_delete_event(Shell.java:686)
	at org.eclipse.swt.widgets.Widget.windowProc(Widget.java:1181)
	at org.eclipse.swt.widgets.Display.windowProc(Display.java:2450)
	at org.eclipse.swt.internal.gtk.OS.gtk_main_do_event(Native Method)
	at org.eclipse.swt.widgets.Display.eventProc(Display.java:736)
	at org.eclipse.swt.internal.gtk.OS.gtk_clipboard_wait_for_contents(Native Method)
	- locked <0x64bfb1c0> (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:128)
	at
org.eclipse.jdt.internal.ui.refactoring.reorg.PasteAction.selectionChanged(PasteAction.java:117)
	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:610)
	at org.eclipse.core.runtime.Platform.run(Platform.java:521)
	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.handleInvalidSelection(StructuredViewer.java:634)
	at
org.eclipse.jface.viewers.StructuredViewer.preservingSelection(StructuredViewer.java:822)
	at
org.eclipse.jface.viewers.AbstractTreeViewer.inputChanged(AbstractTreeViewer.java:798)
	at org.eclipse.jface.viewers.ContentViewer.setInput(ContentViewer.java:238)
	at org.eclipse.jface.viewers.StructuredViewer.setInput(StructuredViewer.java:1004)
	at
org.eclipse.jdt.internal.ui.browsing.JavaBrowsingPart.setViewerInput(JavaBrowsingPart.java:758)
	at
org.eclipse.jdt.internal.ui.browsing.JavaBrowsingPart.setInput(JavaBrowsingPart.java:744)
	at
org.eclipse.jdt.internal.ui.browsing.JavaBrowsingPart.adjustInputAndSetSelection(JavaBrowsingPart.java:974)
	at
org.eclipse.jdt.internal.ui.browsing.JavaBrowsingPart.setSelectionFromEditor(JavaBrowsingPart.java:1133)
	at
org.eclipse.jdt.internal.ui.browsing.JavaBrowsingPart.setSelectionFromEditor(JavaBrowsingPart.java:1116)
	at
org.eclipse.jdt.internal.ui.browsing.JavaBrowsingPart.setSelectionFromEditor(JavaBrowsingPart.java:1102)
	at
org.eclipse.jdt.internal.ui.browsing.JavaBrowsingPart.access$0(JavaBrowsingPart.java:1100)
	at
org.eclipse.jdt.internal.ui.browsing.JavaBrowsingPart$1.partBroughtToTop(JavaBrowsingPart.java:154)
	at org.eclipse.ui.internal.PartListenerList2$2.run(PartListenerList2.java:65)
	at
org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatform.java:610)
	at org.eclipse.core.runtime.Platform.run(Platform.java:521)
	at
org.eclipse.ui.internal.PartListenerList2.firePartBroughtToTop(PartListenerList2.java:63)
	at
org.eclipse.ui.internal.WorkbenchPage.firePartBroughtToTop(WorkbenchPage.java:1311)
	at org.eclipse.ui.internal.WorkbenchPage.bringToTop(WorkbenchPage.java:599)
	at
org.eclipse.debug.internal.ui.views.launch.LaunchView.openEditor(LaunchView.java:979)
	at
org.eclipse.debug.internal.ui.views.launch.LaunchView.openEditorForStackFrame(LaunchView.java:811)
	at
org.eclipse.debug.internal.ui.views.launch.LaunchView.showEditorForCurrentSelection(LaunchView.java:710)
	at
org.eclipse.debug.internal.ui.views.launch.LaunchView.selectionChanged(LaunchView.java:506)
	at org.eclipse.jface.viewers.Viewer$2.run(Viewer.java:159)
	at
org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatform.java:610)
	at org.eclipse.core.runtime.Platform.run(Platform.java:521)
	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:1133)
	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 <0x4a2fe350> (a org.eclipse.swt.widgets.RunnableLock)
	at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:1930)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:1729)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1562)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1536)
	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:277)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:239)
	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:267)
	at org.eclipse.core.launcher.Main.run(Main.java:692)
	at org.eclipse.core.launcher.Main.main(Main.java:676)

"VM Thread" prio=1 tid=0x08087400 nid=0x2970 runnable 

"VM Periodic Task Thread" prio=1 tid=0x08091e50 nid=0x2976 waiting on condition 
"Suspend Checker Thread" prio=1 tid=0x0808edb0 nid=0x2973 runnable 



---



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

"org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=1 tid=0x08b81d78
nid=0x2ab9 in Object.wait() [bbbff000..bbbff8d0]
	at java.lang.Object.wait(Native Method)
	at
org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:161)
	- locked <0x4a402920> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue)

"org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=1 tid=0x08b7d6f0
nid=0x2ab8 in Object.wait() [bbdff000..bbdff8d0]
	at java.lang.Object.wait(Native Method)
	at
org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:161)
	- locked <0x4a3bc1b0> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue)

"org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=1 tid=0x08b77090
nid=0x2ab7 in Object.wait() [bbfff000..bbfff8d0]
	at java.lang.Object.wait(Native Method)
	at
org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:161)
	- locked <0x4a379618> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue)

"org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=1 tid=0x08b6fd98
nid=0x2ab6 in Object.wait() [bc3ff000..bc3ff8d0]
	at java.lang.Object.wait(Native Method)
	at
org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:161)
	- locked <0x4a2fe158> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue)

"org.eclipse.jdt.debug: JDI Event Dispatcher" prio=1 tid=0x0876d968 nid=0x2a6e
in Object.wait() [bcdff000..bcdff8d0]
	at java.lang.Object.wait(Native Method)
	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 <0x49e95fd8> (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" prio=1 tid=0x08bc7680 nid=0x2a6c in Object.wait()
[bc9ff000..bc9ff8d0]
	at java.lang.Object.wait(Native Method)
	at java.lang.Object.wait(Object.java:429)
	at
org.eclipse.jdi.internal.connect.PacketSendManager.sendAvailablePackets(PacketSendManager.java:94)
	- locked <0x49e96140> (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" prio=1 tid=0x08b66bd0 nid=0x2a6b runnable
[bcbff000..bcbff8d0]
	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=0x0899e440 nid=0x2a63 waiting on condition
[bcfff000..bcfff8d0]
	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" prio=1 tid=0x08a322d0 nid=0x2a62 in Object.wait()
[bd1ff000..bd1ff8d0]
	at java.lang.Object.wait(Native Method)
	- waiting on <0x49e962f8> (a java.lang.Object)
	at java.lang.Object.wait(Object.java:429)
	at
org.eclipse.debug.internal.core.InputStreamMonitor.writeNext(InputStreamMonitor.java:124)
	- locked <0x49e962f8> (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" prio=1 tid=0x08b64790 nid=0x2a61 runnable
[bd3ff000..bd3ff8d0]
	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" prio=1 tid=0x0899dc78 nid=0x2a60 runnable
[bd5ff000..bd5ff8d0]
	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 <0x49e9a448> (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=0x089b39c0 nid=0x2a5e runnable
[be9ff000..be9ff8d0]
	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)

"Worker-4" prio=1 tid=0x0894f250 nid=0x2a05 in Object.wait() [bc7ff000..bc7ff8d0]
	at java.lang.Object.wait(Native Method)
	- waiting on <0x49e9a4e0> (a java.lang.UNIXProcess)
	at java.lang.Object.wait(Object.java:429)
	at java.lang.UNIXProcess.waitFor(UNIXProcess.java:160)
	- locked <0x49e9a4e0> (a java.lang.UNIXProcess)
	at
org.eclipse.debug.core.model.RuntimeProcess$ProcessMonitorJob.run(RuntimeProcess.java:350)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:62)

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

"Java2D Disposer" daemon prio=1 tid=0x08a1a3e0 nid=0x29e4 in Object.wait()
[bc1ff000..bc1ff8d0]
	at java.lang.Object.wait(Native Method)
	- waiting on <0x48df4778> (a java.lang.ref.ReferenceQueue$Lock)
	at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:111)
	- locked <0x48df4778> (a java.lang.ref.ReferenceQueue$Lock)
	at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:127)
	at sun.java2d.Disposer.run(Disposer.java:100)
	at java.lang.Thread.run(Thread.java:534)

"AWT-Motif" daemon prio=1 tid=0x08a27c38 nid=0x29e2 runnable [bc5ff000..bc5ff8d0]
	at sun.awt.motif.MToolkit.run(Native Method)
	at java.lang.Thread.run(Thread.java:534)

"StarTeam Keep Alive" prio=1 tid=0x08742c38 nid=0x298a in Object.wait()
[bdbff000..bdbff8d0]
	at java.lang.Object.wait(Native Method)
	- waiting on <0x4814b5a0> (a
com.borland.team.starteam.ui.internal.preferences.ConnectionPreferences$1)
	at
com.borland.team.starteam.ui.internal.preferences.ConnectionPreferences$1.run(ConnectionPreferences.java:65)
	- locked <0x4814b5a0> (a
com.borland.team.starteam.ui.internal.preferences.ConnectionPreferences$1)
	at java.lang.Thread.run(Thread.java:534)

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

"Worker-1" prio=1 tid=0x0859adc0 nid=0x2988 in Object.wait() [bdfff000..bdfff8d0]
	at java.lang.Object.wait(Native Method)
	at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:184)
	- locked <0x47091328> (a org.eclipse.core.internal.jobs.WorkerPool)
	at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:210)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)

"Java indexing" daemon prio=1 tid=0x0845de68 nid=0x297d in Object.wait()
[be1ff000..be1ff8d0]
	at java.lang.Object.wait(Native Method)
	- waiting on <0x475a0a60> (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:327)
	- locked <0x475a0a60> (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=0x081764a0 nid=0x297a in
Object.wait() [be5ff000..be5ff8d0]
	at java.lang.Object.wait(Native Method)
	- waiting on <0x46f69d78> (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:167)
	- locked <0x46f69d78> (a org.eclipse.osgi.framework.eventmgr.EventThread)
	at org.eclipse.osgi.framework.eventmgr.EventThread.run(EventThread.java:118)

"Framework Event Dispatcher" daemon prio=1 tid=0x081429b8 nid=0x2979 in
Object.wait() [be7ff000..be7ff8d0]
	at java.lang.Object.wait(Native Method)
	- waiting on <0x46f5af98> (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:167)
	- locked <0x46f5af98> (a org.eclipse.osgi.framework.eventmgr.EventThread)
	at org.eclipse.osgi.framework.eventmgr.EventThread.run(EventThread.java:118)

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

"Finalizer" daemon prio=1 tid=0x0808b220 nid=0x2972 in Object.wait()
[bf3ff000..bf3ff8d0]
	at java.lang.Object.wait(Native Method)
	at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:111)
	- locked <0x46ecabc8> (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=0x0808a668 nid=0x2971 in Object.wait()
[bf5ff000..bf5ff8d0]
	at java.lang.Object.wait(Native Method)
	- waiting on <0x46ecac30> (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 <0x46ecac30> (a java.lang.ref.Reference$Lock)

"main" prio=1 tid=0x08052768 nid=0x296d runnable [bfffc000..bfffd748]
	at org.eclipse.swt.internal.gtk.OS.gtk_clipboard_wait_for_contents(Native Method)
	- locked <0x64bfb1c0> (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:128)
	at
org.eclipse.jdt.internal.ui.refactoring.reorg.PasteAction.selectionChanged(PasteAction.java:117)
	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:610)
	at org.eclipse.core.runtime.Platform.run(Platform.java:521)
	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.handleInvalidSelection(StructuredViewer.java:634)
	at
org.eclipse.jface.viewers.StructuredViewer.preservingSelection(StructuredViewer.java:822)
	at
org.eclipse.jface.viewers.AbstractTreeViewer.inputChanged(AbstractTreeViewer.java:798)
	at org.eclipse.jface.viewers.ContentViewer.setInput(ContentViewer.java:238)
	at org.eclipse.jface.viewers.StructuredViewer.setInput(StructuredViewer.java:1004)
	at
org.eclipse.jdt.internal.ui.browsing.JavaBrowsingPart.setViewerInput(JavaBrowsingPart.java:758)
	at
org.eclipse.jdt.internal.ui.browsing.JavaBrowsingPart.setInput(JavaBrowsingPart.java:744)
	at
org.eclipse.jdt.internal.ui.browsing.JavaBrowsingPart.adjustInputAndSetSelection(JavaBrowsingPart.java:974)
	at
org.eclipse.jdt.internal.ui.browsing.JavaBrowsingPart.setSelectionFromEditor(JavaBrowsingPart.java:1133)
	at
org.eclipse.jdt.internal.ui.browsing.JavaBrowsingPart.setSelectionFromEditor(JavaBrowsingPart.java:1116)
	at
org.eclipse.jdt.internal.ui.browsing.JavaBrowsingPart.setSelectionFromEditor(JavaBrowsingPart.java:1102)
	at
org.eclipse.jdt.internal.ui.browsing.JavaBrowsingPart.access$0(JavaBrowsingPart.java:1100)
	at
org.eclipse.jdt.internal.ui.browsing.JavaBrowsingPart$1.partBroughtToTop(JavaBrowsingPart.java:154)
	at org.eclipse.ui.internal.PartListenerList2$2.run(PartListenerList2.java:65)
	at
org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatform.java:610)
	at org.eclipse.core.runtime.Platform.run(Platform.java:521)
	at
org.eclipse.ui.internal.PartListenerList2.firePartBroughtToTop(PartListenerList2.java:63)
	at
org.eclipse.ui.internal.WorkbenchPage.firePartBroughtToTop(WorkbenchPage.java:1311)
	at org.eclipse.ui.internal.WorkbenchPage.bringToTop(WorkbenchPage.java:599)
	at
org.eclipse.debug.internal.ui.views.launch.LaunchView.openEditor(LaunchView.java:979)
	at
org.eclipse.debug.internal.ui.views.launch.LaunchView.openEditorForStackFrame(LaunchView.java:811)
	at
org.eclipse.debug.internal.ui.views.launch.LaunchView.showEditorForCurrentSelection(LaunchView.java:710)
	at
org.eclipse.debug.internal.ui.views.launch.LaunchView.selectionChanged(LaunchView.java:506)
	at org.eclipse.jface.viewers.Viewer$2.run(Viewer.java:159)
	at
org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatform.java:610)
	at org.eclipse.core.runtime.Platform.run(Platform.java:521)
	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:1133)
	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 <0x4a2fe350> (a org.eclipse.swt.widgets.RunnableLock)
	at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:1930)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:1729)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1562)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1536)
	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:277)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:239)
	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:267)
	at org.eclipse.core.launcher.Main.run(Main.java:692)
	at org.eclipse.core.launcher.Main.main(Main.java:676)

"VM Thread" prio=1 tid=0x08087400 nid=0x2970 runnable 

"VM Periodic Task Thread" prio=1 tid=0x08091e50 nid=0x2976 waiting on condition 
"Suspend Checker Thread" prio=1 tid=0x0808edb0 nid=0x2973 runnable 
Comment 23 John Arthorne CLA 2004-04-07 18:33:51 EDT
This latest stack looks similar to:
 Bug 44915 Clipboard getAvailableTypes runs the event loop on GTK

Also of interest, he seems to have an AWT event loop running alongside SWT:

"AWT-Motif" daemon prio=1 tid=0x08a27c38 nid=0x29e2 runnable [bc5ff000..bc5ff8d0]
	at sun.awt.motif.MToolkit.run(Native Method)
	at java.lang.Thread.run(Thread.java:534)
Comment 24 Brian Stiles CLA 2004-04-07 18:58:25 EDT
Bug 44915 definitely sounds similar to my experience.  However, as far as I
know, I am doing nothing (at least intentionally) to interact with the clipboard.

Also, I'm not quite sure what the AWT thread is doing in there.  I suspect that
since some of my plugin code makes use of non UI Swing classes  like
SwingConstants (maybe more) that the AWT thread is getting created as a
side-effect.  If this seems to be of critical importance, let me know and I'll
investigate further, but there isn't any Swing/AWT UI being mixed in.
Comment 25 Steve Northover CLA 2004-04-08 13:32:06 EDT
It's the free GTK event loop buring us again.  I found it in both stacks.  
PasteAction.canOperateOn() is calling it.
Comment 26 Steve Northover CLA 2004-04-08 13:36:10 EDT
We have no solution for this.
Comment 27 Steve Northover CLA 2004-04-08 13:36:54 EDT

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