Deadlock while updating editor runtime
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):Submitted by Nathan Bruning on 11 April 2010 at 22:14"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
Issue Log
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:
- NoneSomehow 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).
Should be fixed in 0.4.4.
Log in to post comments