Community
Participate
Working Groups
I closed my workspace, but the java VM did not go away. Using CTRL-Break, I got the following: (Using SC VM) Stack Traces of Threads: ThreadName=main(00235014) Status=Waiting Monitor=0179A798 (Object monitor for java/lang/Thread @ 00E5978C) Count=0 Owner=(00000000) In java/lang/Object.wait(JI)V In java/lang/Object.wait(J)V In java/lang/Thread.join()V In org/eclipse/jdt/internal/core/search/processing/JobManager.shutdown() V In org/eclipse/jdt/internal/core/search/indexing/IndexManager.shutdown() V In org/eclipse/jdt/internal/core/JavaModelManager.shutdown()V In org/eclipse/jdt/core/JavaCore.shutdown()V In org/eclipse/core/internal/plugins/PluginRegistry$2.run()V In org/eclipse/core/internal/runtime/InternalPlatform.run(Lorg/eclipse/c ore/runtime/ISafeRunnable;)V In org/eclipse/core/internal/plugins/PluginRegistry$1.visit(Lorg/eclipse /core/runtime/IPluginDescriptor;)V In org/eclipse/core/internal/plugins/PluginRegistry.accept(Lorg/eclipse/ core/internal/plugins/IPluginVisitor;Z)V In org/eclipse/core/internal/plugins/PluginRegistry.shutdownPlugins()V In org/eclipse/core/internal/plugins/PluginRegistry.shutdown(Lorg/eclips e/core/runtime/IProgressMonitor;)V In org/eclipse/core/internal/runtime/InternalPlatform.loaderShutdown()V In java/lang/reflect/AccessibleObject.invokeV(Ljava/lang/Object;[Ljava/l ang/Object;)V In java/lang/reflect/Method.invoke(Ljava/lang/Object;[Ljava/lang/Object; )Ljava/lang/Object; In org/eclipse/core/internal/boot/InternalBootLoader.shutdown()V In org/eclipse/core/internal/boot/InternalBootLoader.run(Ljava/lang/Stri ng;Ljava/net/URL;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/Runnable;)Ljava /lang/Object; In org/eclipse/core/boot/BootLoader.run(Ljava/lang/String;Ljava/net/URL; Ljava/lang/String;[Ljava/lang/String;Ljava/lang/Runnable;)Ljava/lang/Object; In java/lang/reflect/AccessibleObject.invokeL(Ljava/lang/Object;[Ljava/l ang/Object;)Ljava/lang/Object; In java/lang/reflect/Method.invoke(Ljava/lang/Object;[Ljava/lang/Object; )Ljava/lang/Object; In org/eclipse/core/launcher/Main.basicRun([Ljava/lang/String;)Ljava/lan g/Object; In org/eclipse/core/launcher/Main.run([Ljava/lang/String;)Ljava/lang/Obj ect; In org/eclipse/core/launcher/Main.main([Ljava/lang/String;)V ThreadName=Gc Thread(00235164) Status=Waiting Monitor=00234618 (System monitor) Count=0 Owner=(00000000) ThreadName=Finalizer thread(002351B8) Status=Waiting Monitor=00234C48 (System monitor) Count=0 Owner=(00000000) ThreadName=Java indexing(0023520C) Status=Waiting Monitor=0179A648 (Object monitor for org/eclipse/jdt/internal/core/search/indexi ng/IndexManager @ 00E0DB14) Count=0 Owner=(00000000) In java/lang/Object.wait(JI)V In java/lang/Object.wait()V In org/eclipse/jdt/internal/core/search/processing/JobManager.run()V In java/lang/Thread.run()V ThreadName=SeedGenerator Thread(002352B4) Status=Waiting Monitor=0179AA08 (Object monitor for sun/security/provider/SeedGenerator @ 04AD4 394) Count=0 Owner=(00000000) In java/lang/Object.wait(JI)V In java/lang/Object.wait()V In sun/security/provider/SeedGenerator.run()V In java/lang/Thread.run()V
It's only happenned once.
Happened again on I20030611 Stack Traces of Threads: ThreadName=main(0023505C) Status=Waiting Monitor=0180BE60 (Object monitor for java/lang/Thread @ 00B9DDEC) Count=0 Owner=(00000000) In java/lang/Object.wait(JI)V In java/lang/Object.wait(J)V In java/lang/Thread.join()V In org/eclipse/jdt/internal/core/search/processing/JobManager.shutdown() V In org/eclipse/jdt/internal/core/search/indexing/IndexManager.shutdown() V In org/eclipse/jdt/internal/core/JavaModelManager.shutdown()V In org/eclipse/jdt/core/JavaCore.shutdown()V In org/eclipse/core/internal/plugins/PluginRegistry$2.run()V In org/eclipse/core/internal/runtime/InternalPlatform.run(Lorg/eclipse/c ore/runtime/ISafeRunnable;)V In org/eclipse/core/internal/plugins/PluginRegistry$1.visit(Lorg/eclipse /core/runtime/IPluginDescriptor;)V In org/eclipse/core/internal/plugins/PluginRegistry.accept(Lorg/eclipse/ core/internal/plugins/IPluginVisitor;Z)V In org/eclipse/core/internal/plugins/PluginRegistry.shutdownPlugins()V In org/eclipse/core/internal/plugins/PluginRegistry.shutdown(Lorg/eclips e/core/runtime/IProgressMonitor;)V In org/eclipse/core/internal/runtime/InternalPlatform.loaderShutdown()V In java/lang/reflect/AccessibleObject.invokeV(Ljava/lang/Object;[Ljava/l ang/Object;)V In java/lang/reflect/Method.invoke(Ljava/lang/Object;[Ljava/lang/Object; )Ljava/lang/Object; In org/eclipse/core/internal/boot/InternalBootLoader.shutdown()V In org/eclipse/core/internal/boot/InternalBootLoader.run(Ljava/lang/Stri ng;Ljava/net/URL;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/Runnable;)Ljava /lang/Object; In org/eclipse/core/boot/BootLoader.run(Ljava/lang/String;Ljava/net/URL; Ljava/lang/String;[Ljava/lang/String;Ljava/lang/Runnable;)Ljava/lang/Object; In java/lang/reflect/AccessibleObject.invokeL(Ljava/lang/Object;[Ljava/l ang/Object;)Ljava/lang/Object; In java/lang/reflect/Method.invoke(Ljava/lang/Object;[Ljava/lang/Object; )Ljava/lang/Object; In org/eclipse/core/launcher/Main.basicRun([Ljava/lang/String;)Ljava/lan g/Object; In org/eclipse/core/launcher/Main.run([Ljava/lang/String;)Ljava/lang/Obj ect; In org/eclipse/core/launcher/Main.main([Ljava/lang/String;)V ThreadName=Gc Thread(002351AC) Status=Waiting Monitor=00234660 (System monitor) Count=0 Owner=(00000000) ThreadName=Finalizer thread(00235200) Status=Waiting Monitor=00234C90 (System monitor) Count=0 Owner=(00000000) ThreadName=Java indexing(00235254) Status=Waiting Monitor=0180BD10 (Object monitor for org/eclipse/jdt/internal/core/search/indexi ng/IndexManager @ 00B6EA4C) Count=0 Owner=(00000000) In java/lang/Object.wait(JI)V In java/lang/Object.wait()V In org/eclipse/jdt/internal/core/search/processing/JobManager.run()V In java/lang/Thread.run()V ThreadName=Snapshot(00235350) Status=Waiting Monitor=0180C4F0 (Object monitor for org/eclipse/core/internal/resources/Delayed SnapshotRunnable @ 077ADBC8) Count=0 Owner=(00000000) In java/lang/Object.wait(JI)V In java/lang/Object.wait(J)V In org/eclipse/core/internal/resources/DelayedSnapshotRunnable.run()V In java/lang/Thread.run()V ThreadName=SeedGenerator Thread(002354A0) Status=Waiting Monitor=0180C280 (Object monitor for sun/security/provider/SeedGenerator @ 07C57 500) Count=0 Owner=(00000000) In java/lang/Object.wait(JI)V In java/lang/Object.wait()V In sun/security/provider/SeedGenerator.run()V In java/lang/Thread.run()V
*** Bug 38897 has been marked as a duplicate of this bug. ***
I suspect the Sidecar VM. If anyone sees this on another VM, please post the stack dump.
To me, if the only thing I do after starting Eclipse is to shut it down, the deadlock happens at every shutdown when running with J9SC20030611. I tried also once with a different IBM VM, and the deadlock didn't happen. Tried again with J9SC20030611, the deadlock happened again. Just for fun I executed a full rebuild, and the deadlock did not happen anymore.
To clarify: after the first time the shutdown happens (for an unknown reason), it is always reproducible in the subsequent sessions if all that I do is to shut down again.
Oh, boy... To clarify (last try): after the first time the *deadlock* happens (for an unknown reason), it is always reproducible in the subsequent sessions if all that I do is to shut down again. Sorry for all this mess...
Fixed and released in HEAD. The shutdown of the index manager could lead to a dead-loop. It was a timing issue.
Change milestone.
Verified.