Community
Participate
Working Groups
I started a workspace that I close almost right away. Eclipse took 100% of the CPU for several minutes and finally didn't shut down. I will attach a thread dump.
Created attachment 10307 [details] Thread dump
This doesn't look like a deadlock: - UI thread is blocked waiting for plugins to shutdown - The plugin shutdown thread (System Bundle Shutdown) is inside JavaCore.stop, and is doing Thread.join on the Java indexing thread. - Java indexing thread is in the middle of indexing a JAR file - "All Types Caching" is in the middle of Java model initialization. It looks like the Java indexer needs to be more responsive to shutdown.
Kent - isn't that the issue I had raised a while ago ? The merge seems to take forever ? I don't see the point of populating the all types cache at this stage. CC'ing Dirk.
The all types cache is automatically populated after the UI has been active for a while. So whatever delay we pick there is a window to get hit by this. We do poluate the cache to avoid the "Searching..." when you first open the Opent Type Dialog.
When shutdown occurs, you could cancel this activity, since it isn't going to be useful in the end. This is likely what induces some of the index activity to complete (need to double check this point).
That's correct.
I'm already cancelling the AllTypesCache thread on shutdown of the Java UI. For N20040507 I've added additional code that calls setCanceled(true) on the progress monitor I pass into the jdt.core's searchAllTypeNames(...).
Using 20040513 8 AM I deleted all my index files to ensure the indexer would be busy after the AllTypesCache started & I could not exit (with Alt-F4 or hitting the close button) until the cache was computed because of bug 61014. When I didn't have an editor open (so the AllTypesCache runs in the background), it worked fine & I couldn't reproduce this problem.