While updating the runtime (during plugin build) a deadlock occurred, stalling the main UI thread.

Note: the search dialog was opened, although i’m not sure it matters.

Stacktrace:

2010-04-12 00:11:35
Full thread dump Java HotSpot(TM) 64-Bit Server VM (14.1-b02 mixed mode):

"JMX server connection timeout 278" daemon prio=10 tid=0x0000000043306000 nid=0x3eab in Object.wait() [0x00007faa28ff4000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	- waiting on <0x00007fab3fbefa88> (a [I)
	at com.sun.jmx.remote.internal.ServerCommunicatorAdmin$Timeout.run(ServerCommunicatorAdmin.java:150)
	- locked <0x00007fab3fbefa88> (a [I)
	at java.lang.Thread.run(Thread.java:619)

   Locked ownable synchronizers:
	- None

"RMI Scheduler(0)" daemon prio=10 tid=0x0000000043305000 nid=0x3ea9 waiting on condition [0x00007faa307f6000]
   java.lang.Thread.State: TIMED_WAITING (parking)
	at sun.misc.Unsafe.park(Native Method)
	- parking to wait for  <0x00007fab3f8d65e0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
	at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:198)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:1963)
	at java.util.concurrent.DelayQueue.take(DelayQueue.java:164)
	at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:583)
	at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:576)
	at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
	at java.lang.Thread.run(Thread.java:619)

   Locked ownable synchronizers:
	- None

"RMI TCP Connection(1)-127.0.0.1" daemon prio=10 tid=0x000000004177a000 nid=0x3ea8 runnable [0x00007faa343f7000]
   java.lang.Thread.State: RUNNABLE
	at java.net.SocketInputStream.socketRead0(Native Method)
	at java.net.SocketInputStream.read(SocketInputStream.java:129)
	at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
	at java.io.BufferedInputStream.read(BufferedInputStream.java:237)
	- locked <0x00007fab3fb9a168> (a java.io.BufferedInputStream)
	at java.io.FilterInputStream.read(FilterInputStream.java:66)
	at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:517)
	at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:790)
	at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:649)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:619)

   Locked ownable synchronizers:
	- <0x00007fab3f917360> (a java.util.concurrent.locks.ReentrantLock$NonfairSync)

"RMI TCP Accept-0" daemon prio=10 tid=0x000000004140b000 nid=0x3ea5 runnable [0x00007faa37ff8000]
   java.lang.Thread.State: RUNNABLE
	at java.net.PlainSocketImpl.socketAccept(Native Method)
	at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:390)
	- locked <0x00007fab3f8e5d48> (a java.net.SocksSocketImpl)
	at java.net.ServerSocket.implAccept(ServerSocket.java:453)
	at java.net.ServerSocket.accept(ServerSocket.java:421)
	at sun.management.jmxremote.LocalRMIServerSocketFactory$1.accept(LocalRMIServerSocketFactory.java:34)
	at sun.rmi.transport.tcp.TCPTransport$AcceptLoop.executeAcceptLoop(TCPTransport.java:369)
	at sun.rmi.transport.tcp.TCPTransport$AcceptLoop.run(TCPTransport.java:341)
	at java.lang.Thread.run(Thread.java:619)

   Locked ownable synchronizers:
	- None

"Attach Listener" daemon prio=10 tid=0x0000000041779000 nid=0x3df3 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

   Locked ownable synchronizers:
	- None

"Worker-28" prio=10 tid=0x00007faa48ca7800 nid=0x3dbb in Object.wait() [0x00007faa443fd000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	- waiting on <0x00007faacf229140> (a org.eclipse.swt.internal.Lock)
	at java.lang.Object.wait(Object.java:485)
	at org.eclipse.swt.internal.Lock.lock(Lock.java:34)
	- locked <0x00007faacf229140> (a org.eclipse.swt.internal.Lock)
	at org.eclipse.swt.internal.gtk.OS.gdk_colormap_get_system(OS.java:3063)
	at org.eclipse.swt.graphics.Color.init(Color.java:245)
	at org.eclipse.swt.graphics.Color.<init>(Color.java:77)
	at org.strategoxt.imp.runtime.services.LazyColor.get(LazyColor.java:28)
	at org.strategoxt.imp.runtime.services.LazyTextAttribute.getForeground(LazyTextAttribute.java:27)
	at org.eclipse.imp.editor.internal.PresentationController.changeTokenPresentation(PresentationController.java:187)
	at org.eclipse.imp.editor.internal.PresentationController.aggregateTextPresentation(PresentationController.java:177)
	at org.eclipse.imp.editor.internal.PresentationController.changeTextPresentationForRegion(PresentationController.java:159)
	at org.eclipse.imp.editor.internal.PresentationController.update(PresentationController.java:135)
	- locked <0x00007faaee902db0> (a org.eclipse.imp.editor.internal.PresentationController)
	at org.eclipse.imp.editor.ParserScheduler.notifyModelListeners(ParserScheduler.java:134)
	at org.strategoxt.imp.runtime.dynamicloading.DynamicParseController.parse(DynamicParseController.java:167)
	at org.eclipse.imp.editor.ParserScheduler.run(ParserScheduler.java:85)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)

   Locked ownable synchronizers:
	- None

"Worker-25" prio=10 tid=0x00007faab83a7800 nid=0x3dac in Object.wait() [0x00007faa643fd000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	- waiting on <0x00007faad067b888> (a org.eclipse.core.internal.jobs.WorkerPool)
	at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:185)
	- locked <0x00007faad067b888> (a org.eclipse.core.internal.jobs.WorkerPool)
	at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:217)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:51)

   Locked ownable synchronizers:
	- None

"Timer-45" daemon prio=10 tid=0x00007faab92bd000 nid=0x3da9 in Object.wait() [0x00007faa58ffa000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	- waiting on <0x00007faaefaa7988> (a java.util.TaskQueue)
	at java.util.TimerThread.mainLoop(Timer.java:509)
	- locked <0x00007faaefaa7988> (a java.util.TaskQueue)
	at java.util.TimerThread.run(Timer.java:462)

   Locked ownable synchronizers:
	- None

"JavaScript indexing" daemon prio=10 tid=0x00007faab8653800 nid=0x3d48 in Object.wait() [0x00007faa6ff5a000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	- waiting on <0x00007faaee2583f0> (a org.eclipse.wst.jsdt.internal.core.search.indexing.IndexManager)
	at java.lang.Object.wait(Object.java:485)
	at org.eclipse.wst.jsdt.internal.core.search.processing.JobManager.run(JobManager.java:370)
	- locked <0x00007faaee2583f0> (a org.eclipse.wst.jsdt.internal.core.search.indexing.IndexManager)
	at java.lang.Thread.run(Thread.java:619)

   Locked ownable synchronizers:
	- None

"Worker-21" prio=10 tid=0x0000000042ce7000 nid=0x3d18 in Object.wait() [0x00007faa8f8b7000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	- waiting on <0x00007faad067b888> (a org.eclipse.core.internal.jobs.WorkerPool)
	at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:185)
	- locked <0x00007faad067b888> (a org.eclipse.core.internal.jobs.WorkerPool)
	at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:217)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:51)

   Locked ownable synchronizers:
	- None

"Thread-13" daemon prio=10 tid=0x00007faa48c47000 nid=0x3ca4 in Object.wait() [0x00007faa3bbf9000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	- waiting on <0x00007faadd23e2e8> (a java.lang.ref.ReferenceQueue$Lock)
	at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118)
	- locked <0x00007faadd23e2e8> (a java.lang.ref.ReferenceQueue$Lock)
	at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:134)
	at org.tmatesoft.svn.core.javahl.SVNClientImplTracker.run(SVNClientImplTracker.java:65)
	at java.lang.Thread.run(Thread.java:619)

   Locked ownable synchronizers:
	- None

"[ThreadPool Manager] - Idle Thread" daemon prio=10 tid=0x0000000043393000 nid=0x3c87 in Object.wait() [0x00007faa82b5f000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	- waiting on <0x00007faad5543d08> (a org.eclipse.equinox.internal.util.impl.tpt.threadpool.Executor)
	at java.lang.Object.wait(Object.java:485)
	at org.eclipse.equinox.internal.util.impl.tpt.threadpool.Executor.run(Executor.java:106)
	- locked <0x00007faad5543d08> (a org.eclipse.equinox.internal.util.impl.tpt.threadpool.Executor)

   Locked ownable synchronizers:
	- None

"Timer-0" daemon prio=10 tid=0x0000000043975000 nid=0x3c7c in Object.wait() [0x00007faa47ffe000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	- waiting on <0x00007faad4436e80> (a java.util.TaskQueue)
	at java.lang.Object.wait(Object.java:485)
	at java.util.TimerThread.mainLoop(Timer.java:483)
	- locked <0x00007faad4436e80> (a java.util.TaskQueue)
	at java.util.TimerThread.run(Timer.java:462)

   Locked ownable synchronizers:
	- None

"Bundle File Closer" daemon prio=10 tid=0x00007faab9263000 nid=0x3c63 in Object.wait() [0x00007faa7ef5e000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	- waiting on <0x00007faad388ef68> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
	at java.lang.Object.wait(Object.java:485)
	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.getNextEvent(EventManager.java:397)
	- locked <0x00007faad388ef68> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:333)

   Locked ownable synchronizers:
	- None

"Java indexing" daemon prio=10 tid=0x00007faab8b8e800 nid=0x3c61 in Object.wait() [0x00007faa86760000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	- waiting on <0x00007faad3605878> (a org.eclipse.jdt.internal.core.search.indexing.IndexManager)
	at java.lang.Object.wait(Object.java:485)
	at org.eclipse.jdt.internal.core.search.processing.JobManager.run(JobManager.java:381)
	- locked <0x00007faad3605878> (a org.eclipse.jdt.internal.core.search.indexing.IndexManager)
	at java.lang.Thread.run(Thread.java:619)

   Locked ownable synchronizers:
	- None

"[Timer] - Main Queue Handler" daemon prio=10 tid=0x00000000417c0800 nid=0x3c4a in Object.wait() [0x00007faa9421b000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	- waiting on <0x00007faad066fb18> (a java.lang.Object)
	at org.eclipse.equinox.internal.util.impl.tpt.timer.TimerImpl.run(TimerImpl.java:141)
	- locked <0x00007faad066fb18> (a java.lang.Object)
	at java.lang.Thread.run(Thread.java:619)

   Locked ownable synchronizers:
	- None

"Framework Event Dispatcher" daemon prio=10 tid=0x00007faab8180800 nid=0x3c45 in Object.wait() [0x00007faa9ba1d000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	- waiting on <0x00007faad066fe48> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
	at java.lang.Object.wait(Object.java:485)
	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.getNextEvent(EventManager.java:397)
	- locked <0x00007faad066fe48> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:333)

   Locked ownable synchronizers:
	- None

"Start Level Event Dispatcher" daemon prio=10 tid=0x000000004139d000 nid=0x3c44 in Object.wait() [0x00007faa9f61e000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	- waiting on <0x00007faad06701d0> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
	at java.lang.Object.wait(Object.java:485)
	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.getNextEvent(EventManager.java:397)
	- locked <0x00007faad06701d0> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:333)

   Locked ownable synchronizers:
	- None

"State Data Manager" daemon prio=10 tid=0x000000004139c000 nid=0x3c43 waiting on condition [0x00007faaa321f000]
   java.lang.Thread.State: TIMED_WAITING (sleeping)
	at java.lang.Thread.sleep(Native Method)
	at org.eclipse.osgi.internal.baseadaptor.StateManager.run(StateManager.java:306)
	at java.lang.Thread.run(Thread.java:619)

   Locked ownable synchronizers:
	- None

"Low Memory Detector" daemon prio=10 tid=0x00007faab8026800 nid=0x3c41 runnable [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

   Locked ownable synchronizers:
	- None

"CompilerThread1" daemon prio=10 tid=0x00007faab8023800 nid=0x3c40 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

   Locked ownable synchronizers:
	- None

"CompilerThread0" daemon prio=10 tid=0x00007faab8021800 nid=0x3c3f waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

   Locked ownable synchronizers:
	- None

"Signal Dispatcher" daemon prio=10 tid=0x00007faab801f000 nid=0x3c3e runnable [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

   Locked ownable synchronizers:
	- None

"Finalizer" daemon prio=10 tid=0x00007faab8001000 nid=0x3c3d in Object.wait() [0x00007faab43fd000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	- waiting on <0x00007faacf02edd8> (a java.lang.ref.ReferenceQueue$Lock)
	at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118)
	- locked <0x00007faacf02edd8> (a java.lang.ref.ReferenceQueue$Lock)
	at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:134)
	at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)

   Locked ownable synchronizers:
	- None

"Reference Handler" daemon prio=10 tid=0x0000000040bfc000 nid=0x3c3c in Object.wait() [0x00007faab7ffe000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	- waiting on <0x00007faacf02ee10> (a java.lang.ref.Reference$Lock)
	at java.lang.Object.wait(Object.java:485)
	at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)
	- locked <0x00007faacf02ee10> (a java.lang.ref.Reference$Lock)

   Locked ownable synchronizers:
	- None

"main" prio=10 tid=0x0000000040a4a000 nid=0x3c32 waiting for monitor entry [0x00007fab7f66e000]
   java.lang.Thread.State: BLOCKED (on object monitor)
	at org.eclipse.imp.editor.internal.PresentationController.update(PresentationController.java:128)
	- waiting to lock <0x00007faaee902db0> (a org.eclipse.imp.editor.internal.PresentationController)
	at org.eclipse.imp.editor.UniversalEditor$2.runInUIThread(UniversalEditor.java:299)
	at org.eclipse.ui.progress.UIJob$1.run(UIJob.java:95)
	at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:134)
	- locked <0x00007faafe7d2050> (a org.eclipse.swt.widgets.RunnableLock)
	at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3468)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3115)
	at org.eclipse.jface.window.Window.runEventLoop(Window.java:825)
	at org.eclipse.jface.window.Window.open(Window.java:801)
	at org.eclipse.search.internal.ui.OpenSearchDialogAction.run(OpenSearchDialogAction.java:54)
	at org.eclipse.search.internal.ui.OpenSearchDialogAction.run(OpenSearchDialogAction.java:45)
	at org.eclipse.ui.internal.handlers.ActionDelegateHandlerProxy.execute(ActionDelegateHandlerProxy.java:289)
	at org.eclipse.core.commands.Command.executeWithChecks(Command.java:476)
	at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:508)
	at org.eclipse.ui.internal.handlers.HandlerService.executeCommand(HandlerService.java:169)
	at org.eclipse.ui.internal.keys.WorkbenchKeyboard.executeCommand(WorkbenchKeyboard.java:470)
	at org.eclipse.ui.internal.keys.WorkbenchKeyboard.press(WorkbenchKeyboard.java:824)
	at org.eclipse.ui.internal.keys.WorkbenchKeyboard.processKeyEvent(WorkbenchKeyboard.java:880)
	at org.eclipse.ui.internal.keys.WorkbenchKeyboard.filterKeySequenceBindings(WorkbenchKeyboard.java:569)
	at org.eclipse.ui.internal.keys.WorkbenchKeyboard.access$3(WorkbenchKeyboard.java:510)
	at org.eclipse.ui.internal.keys.WorkbenchKeyboard$KeyDownFilter.handleEvent(WorkbenchKeyboard.java:125)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
	at org.eclipse.swt.widgets.Display.filterEvent(Display.java:1467)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1175)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1200)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1185)
	at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1212)
	at org.eclipse.swt.widgets.Widget.gtk_key_press_event(Widget.java:706)
	at org.eclipse.swt.widgets.Control.gtk_key_press_event(Control.java:2837)
	at org.eclipse.swt.widgets.Composite.gtk_key_press_event(Composite.java:703)
	at org.eclipse.swt.widgets.Tree.gtk_key_press_event(Tree.java:1942)
	at org.eclipse.swt.widgets.Widget.windowProc(Widget.java:1570)
	at org.eclipse.swt.widgets.Control.windowProc(Control.java:4594)
	at org.eclipse.swt.widgets.Display.windowProc(Display.java:4191)
	at org.eclipse.swt.internal.gtk.OS._gtk_main_do_event(Native Method)
	at org.eclipse.swt.internal.gtk.OS.gtk_main_do_event(OS.java:7603)
	at org.eclipse.swt.widgets.Display.eventProc(Display.java:1185)
	at org.eclipse.swt.internal.gtk.OS._g_main_context_iteration(Native Method)
	at org.eclipse.swt.internal.gtk.OS.g_main_context_iteration(OS.java:1860)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3110)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2405)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2369)
	at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2221)
	at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:500)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:493)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:113)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:194)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:368)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
	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:597)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:559)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:514)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1311)
	at org.eclipse.equinox.launcher.Main.main(Main.java:1287)

   Locked ownable synchronizers:
	- None

"VM Thread" prio=10 tid=0x0000000040bf5000 nid=0x3c3b runnable 

"GC task thread#0 (ParallelGC)" prio=10 tid=0x0000000040a54800 nid=0x3c33 runnable 

"GC task thread#1 (ParallelGC)" prio=10 tid=0x0000000040a56000 nid=0x3c34 runnable 

"GC task thread#2 (ParallelGC)" prio=10 tid=0x0000000040a58000 nid=0x3c35 runnable 

"GC task thread#3 (ParallelGC)" prio=10 tid=0x0000000040a5a000 nid=0x3c36 runnable 

"GC task thread#4 (ParallelGC)" prio=10 tid=0x0000000040a5b800 nid=0x3c37 runnable 

"GC task thread#5 (ParallelGC)" prio=10 tid=0x0000000040a5d800 nid=0x3c38 runnable 

"GC task thread#6 (ParallelGC)" prio=10 tid=0x0000000040a5f800 nid=0x3c39 runnable 

"GC task thread#7 (ParallelGC)" prio=10 tid=0x0000000040a61000 nid=0x3c3a runnable 

"VM Periodic Task Thread" prio=10 tid=0x00007faab8029000 nid=0x3c42 waiting on condition 

JNI global references: 5414
Submitted by Nathan Bruning on 11 April 2010 at 22:14

On 12 April 2010 at 07:58 Lennart Kats commented:

Cleaned up trace with offending threads:


2010-04-12 00:11:35 Full thread dump Java HotSpot(TM) 64-Bit Server VM (14.1-b02 mixed mode):

“Worker-28” prio=10 tid=0x00007faa48ca7800 nid=0x3dbb in Object.wait() [0x00007faa443fd000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x00007faacf229140> (a org.eclipse.swt.internal.Lock)
at java.lang.Object.wait(Object.java:485)
at org.eclipse.swt.internal.Lock.lock(Lock.java:34)
- locked <0x00007faacf229140> (a org.eclipse.swt.internal.Lock)
at org.eclipse.swt.internal.gtk.OS.gdk_colormap_get_system(OS.java:3063)
at org.eclipse.swt.graphics.Color.init(Color.java:245)
at org.eclipse.swt.graphics.Color.(Color.java:77)
at org.strategoxt.imp.runtime.services.LazyColor.get(LazyColor.java:28)
at org.strategoxt.imp.runtime.services.LazyTextAttribute.getForeground(LazyTextAttribute.java:27)
at org.eclipse.imp.editor.internal.PresentationController.changeTokenPresentation(PresentationController.java:187)
at org.eclipse.imp.editor.internal.PresentationController.aggregateTextPresentation(PresentationController.java:177)
at org.eclipse.imp.editor.internal.PresentationController.changeTextPresentationForRegion(PresentationController.java:159)
at org.eclipse.imp.editor.internal.PresentationController.update(PresentationController.java:135)
- locked <0x00007faaee902db0> (a org.eclipse.imp.editor.internal.PresentationController)
at org.eclipse.imp.editor.ParserScheduler.notifyModelListeners(ParserScheduler.java:134)
at org.strategoxt.imp.runtime.dynamicloading.DynamicParseController.parse(DynamicParseController.java:167)
at org.eclipse.imp.editor.ParserScheduler.run(ParserScheduler.java:85)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)

Locked ownable synchronizers:
- None

“main” prio=10 tid=0x0000000040a4a000 nid=0x3c32 waiting for monitor entry [0x00007fab7f66e000]
java.lang.Thread.State: BLOCKED (on object monitor)
at org.eclipse.imp.editor.internal.PresentationController.update(PresentationController.java:128)
- waiting to lock <0x00007faaee902db0> (a org.eclipse.imp.editor.internal.PresentationController)
at org.eclipse.imp.editor.UniversalEditor$2.runInUIThread(UniversalEditor.java:299)
at org.eclipse.ui.progress.UIJob$1.run(UIJob.java:95)
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:134)
- locked <0x00007faafe7d2050> (a org.eclipse.swt.widgets.RunnableLock)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3468)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3115)
at org.eclipse.jface.window.Window.runEventLoop(Window.java:825)
at org.eclipse.jface.window.Window.open(Window.java:801)
at org.eclipse.search.internal.ui.OpenSearchDialogAction.run(OpenSearchDialogAction.java:54)
at org.eclipse.search.internal.ui.OpenSearchDialogAction.run(OpenSearchDialogAction.java:45)
at org.eclipse.ui.internal.handlers.ActionDelegateHandlerProxy.execute(ActionDelegateHandlerProxy.java:289)
at org.eclipse.core.commands.Command.executeWithChecks(Command.java:476)
at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:508)
at org.eclipse.ui.internal.handlers.HandlerService.executeCommand(HandlerService.java:169)
at org.eclipse.ui.internal.keys.WorkbenchKeyboard.executeCommand(WorkbenchKeyboard.java:470)
at org.eclipse.ui.internal.keys.WorkbenchKeyboard.press(WorkbenchKeyboard.java:824)
at org.eclipse.ui.internal.keys.WorkbenchKeyboard.processKeyEvent(WorkbenchKeyboard.java:880)
at org.eclipse.ui.internal.keys.WorkbenchKeyboard.filterKeySequenceBindings(WorkbenchKeyboard.java:569)
at org.eclipse.ui.internal.keys.WorkbenchKeyboard.access$3(WorkbenchKeyboard.java:510)
at org.eclipse.ui.internal.keys.WorkbenchKeyboard$KeyDownFilter.handleEvent(WorkbenchKeyboard.java:125)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Display.filterEvent(Display.java:1467)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1175)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1200)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1185)
at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1212)
at org.eclipse.swt.widgets.Widget.gtk_key_press_event(Widget.java:706)
at org.eclipse.swt.widgets.Control.gtk_key_press_event(Control.java:2837)
at org.eclipse.swt.widgets.Composite.gtk_key_press_event(Composite.java:703)
at org.eclipse.swt.widgets.Tree.gtk_key_press_event(Tree.java:1942)
at org.eclipse.swt.widgets.Widget.windowProc(Widget.java:1570)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:4594)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4191)
at org.eclipse.swt.internal.gtk.OS._gtk_main_do_event(Native Method)
at org.eclipse.swt.internal.gtk.OS.gtk_main_do_event(OS.java:7603)
at org.eclipse.swt.widgets.Display.eventProc(Display.java:1185)
at org.eclipse.swt.internal.gtk.OS._g_main_context_iteration(Native Method)
at org.eclipse.swt.internal.gtk.OS.g_main_context_iteration(OS.java:1860)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3110)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2405)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2369)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2221)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:500)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:493)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:113)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:194)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:368)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
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:597)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:559)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:514)
at org.eclipse.equinox.launcher.Main.run(Main.java:1311)
at org.eclipse.equinox.launcher.Main.main(Main.java:1287)

Locked ownable synchronizers:
- None

Somehow the search dialog(!) is running the event loop from the main thread, resulting in a dead lock with the current presentation thread (which needs main thread access to instantiate SWT Color objects the first time it runs).


On 14 April 2010 at 18:52 Lennart Kats commented:

Should be fixed in 0.4.4.

Log in to post comments