Community
Participate
Working Groups
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.
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
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.
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'.
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).
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.
use 'kill -QUIT <pid of eclipse JVM>' to get thread dump.
i had a full freeze. can't give you steps, but i can give you this.. see attached..
Created attachment 8801 [details] crap.
Steve: I believe this is the bug Chris wanted you to comment on. See the last comment (segfault).
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?
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.
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)
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
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..
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.
is this related to Bug 55635?
Thanks, Tod. It's possible. I'll annotate Bug 55635.
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.
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.
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.
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).
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
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)
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.
It's the free GTK event loop buring us again. I found it in both stacks. PasteAction.canOperateOn() is calling it.
We have no solution for this.
*** This bug has been marked as a duplicate of 44915 ***