Bug 38678 - workspace did not shutdown
Summary: workspace did not shutdown
Status: VERIFIED FIXED
Alias: None
Product: JDT
Classification: Eclipse Project
Component: Core (show other bugs)
Version: 2.1   Edit
Hardware: PC Windows 2000
: P3 normal (vote)
Target Milestone: 3.0 M2   Edit
Assignee: Kent Johnson CLA
QA Contact:
URL:
Whiteboard:
Keywords:
: 38897 (view as bug list)
Depends on:
Blocks:
 
Reported: 2003-06-09 21:21 EDT by Darin Wright CLA
Modified: 2003-07-17 06:03 EDT (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Darin Wright CLA 2003-06-09 21:21:07 EDT
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
Comment 1 Darin Wright CLA 2003-06-09 21:34:41 EDT
It's only happenned once.
Comment 2 Darin Wright CLA 2003-06-11 16:58:36 EDT
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
Comment 3 Kent Johnson CLA 2003-06-13 14:26:24 EDT
*** Bug 38897 has been marked as a duplicate of this bug. ***
Comment 4 Kent Johnson CLA 2003-06-13 14:29:33 EDT
I suspect the Sidecar VM.

If anyone sees this on another VM, please post the stack dump.
Comment 5 Rafael Chaves CLA 2003-06-17 16:18:51 EDT
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.
Comment 6 Rafael Chaves CLA 2003-06-17 16:26:38 EDT
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.
Comment 7 Rafael Chaves CLA 2003-06-17 16:36:14 EDT
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...
Comment 8 Olivier Thomann CLA 2003-06-18 13:02:54 EDT
Fixed and released in HEAD.
The shutdown of the index manager could lead to a dead-loop. It was a timing issue.
Comment 9 Olivier Thomann CLA 2003-06-18 13:04:20 EDT
Change milestone.
Comment 10 David Audel CLA 2003-07-17 06:03:53 EDT
Verified.