Bug 64646 - [Navigator] Navigator popup causes Eclipse to hang.
Summary: [Navigator] Navigator popup causes Eclipse to hang.
Status: VERIFIED FIXED
Alias: None
Product: JDT
Classification: Eclipse Project
Component: Core (show other bugs)
Version: 3.0   Edit
Hardware: PC Windows 2000
: P2 major (vote)
Target Milestone: 3.0 RC3   Edit
Assignee: Jerome Lanneluc CLA
QA Contact:
URL:
Whiteboard:
Keywords:
: 65680 66528 69207 (view as bug list)
Depends on:
Blocks:
 
Reported: 2004-05-28 17:48 EDT by Jerry Lampi CLA
Modified: 2004-07-05 10:56 EDT (History)
7 users (show)

See Also:


Attachments
Picture of UI hung (99.29 KB, image/gif)
2004-05-28 17:50 EDT, Jerry Lampi CLA
no flags Details
Sorry -- here is the dump ATTACHED. (20.15 KB, text/plain)
2004-06-02 17:46 EDT, Jerry Lampi CLA
no flags Details
Another dump for 07Jun2004 (20.20 KB, text/plain)
2004-06-07 10:27 EDT, Jerry Lampi CLA
no flags Details
Happen again 09Jun2004 -- attached. (20.59 KB, text/plain)
2004-06-09 12:26 EDT, Jerry Lampi CLA
no flags Details
Dump showing Navigator hang in Build id: 200406110010 (12.28 KB, text/plain)
2004-06-11 09:44 EDT, Jerry Lampi CLA
no flags Details
Here it is as requested (332.96 KB, text/plain)
2004-06-11 11:01 EDT, Jerry Lampi CLA
no flags Details
Proposed patch (1.15 KB, patch)
2004-06-14 07:22 EDT, Jerome Lanneluc CLA
no flags Details | Diff
Proposed patch (4.22 KB, patch)
2004-06-14 07:24 EDT, Jerome Lanneluc CLA
no flags Details | Diff
Regression test (1.15 KB, patch)
2004-06-14 07:24 EDT, Jerome Lanneluc CLA
no flags Details | Diff
Warning shown for TOMCAT_PATH (54.32 KB, image/gif)
2004-06-14 09:47 EDT, Jerry Lampi CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Jerry Lampi CLA 2004-05-28 17:48:27 EDT
I'm using eclipse 3.0.0 Build 200405211200

When in the Navigator view of my project and I right-click on a .java file, the 
pop-up menu sometimes hangs.  This is not consistent, but when it does hang, 
the entire eclipse application is frozen and can only be halted via task 
manager cancel of task.

I wish it could be recreated at will, but it cannot be.  The next time it 
happens, is there something specific I should do to assist in debugging this 
problem?

By the way, the copyright for Eclipse Help/About is dated 2003 -- should it be 
2004?
Comment 1 Jerry Lampi CLA 2004-05-28 17:50:09 EDT
Created attachment 11296 [details]
Picture of UI hung

Picture of hung UI.
Comment 2 Debbie Wilson CLA 2004-05-31 09:27:22 EDT
Copyright messages will be changing as we get closer to releasing Eclipse 3.0.
Comment 3 Nick Edgar CLA 2004-05-31 10:15:58 EDT
To debug hangs/deadlocks, try running with -vm ...\jre\bin\java (instead of
javaw, which is the default).  This gives you a console window.  Edit its
properties (window menu > Properties) to have a bigger screen buffer size, e.g.
width 138, height 3000.

When the hang occurs, press Ctrl+Break in the console window.
This gives a dump of all threads.  Attach the entire result here (to copy the
buffer: window menu > Edit > Select All, Enter).

Some other questions:
Do you have any other plug-ins installed, other than what comes with the Eclipse
SDK?
Do you ever edit your source files outside of Eclipse?

Comment 4 Jerry Lampi CLA 2004-06-02 11:15:15 EDT
I have com.sysdeo.eclipse.tomcat_3.0.0.alpha1 plugin.
I do edit JSP files in DreamWeaver.  I do not edit JAVA source outside of 
eclipse.  I have done WinCvs updates of the project, though.  Perhaps WinCvs is 
what causes it.  It does seem to correlate with the Team item of the Navigator 
pull-down.

At any rate, I will run in console mode until it occurs again and post the dump 
here.
Comment 5 Jerry Lampi CLA 2004-06-02 17:44:15 EDT
Okay.  It happened with console on.  I caused it by selecting a java file in 
Navigater perspective, right-clicked, choose Replace With->Latest from Branch 
myCvsName, and clicked OK to the Confirm Overwrite dialog.  Ok so far; that is, 
it replaced it, and the > sign was removed from the Navigator view indicating 
that the file no longer differs from CVS branch.  Then I right-clicked the same 
file and moved the mouse down a few entries and it froze.  I did not do a 
deliberate Refresh after replacing from CVS.  I do not have Project->Build 
Automatically checked.  I tried to recreate it using different files after 
bringing Eclipse down and back up, but was unable to do so.  

After doing the Ctl-Break on the console after initial freeze-up, it seemed to 
free up.  Here is the thread dump:

Referenced part does not exist yet: org.eclipse.ui.views.TaskList.
Referenced part does not exist yet: org.eclipse.ui.views.TaskList.
Referenced part does not exist yet: org.eclipse.ui.views.ResourceNavigator.
Full thread dump Java HotSpot(TM) Client VM (1.4.1_02-b06 mixed mode):

"Worker-91" prio=5 tid=0x0B1FDAC0 nid=0x994 in Object.wait() 
[1610f000..1610fd88]
        at java.lang.Object.wait(Native Method)
        - waiting on <030E3808> (a org.eclipse.core.internal.jobs.WorkerPool)
        at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:209)
        - locked <030E3808> (a org.eclipse.core.internal.jobs.WorkerPool)
        at org.eclipse.core.internal.jobs.WorkerPool.startJob
(WorkerPool.java:236)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:59)

"Worker-90" prio=5 tid=0x0BFB20A0 nid=0xa84 in Object.wait() 
[1608f000..1608fd88]
        at java.lang.Object.wait(Native Method)
        - waiting on <030E3808> (a org.eclipse.core.internal.jobs.WorkerPool)
        at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:209)
        - locked <030E3808> (a org.eclipse.core.internal.jobs.WorkerPool)
        at org.eclipse.core.internal.jobs.WorkerPool.startJob
(WorkerPool.java:236)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:59)

"Worker-89" prio=5 tid=0x0B177840 nid=0x9d4 in Object.wait() 
[1600f000..1600fd88]
        at java.lang.Object.wait(Native Method)
        - waiting on <030E3808> (a org.eclipse.core.internal.jobs.WorkerPool)
        at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:209)
        - locked <030E3808> (a org.eclipse.core.internal.jobs.WorkerPool)
        at org.eclipse.core.internal.jobs.WorkerPool.startJob
(WorkerPool.java:236)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:59)

"Worker-85" prio=5 tid=0x0BF69010 nid=0x9a8 in Object.wait() 
[15b3f000..15b3fd88]
        at java.lang.Object.wait(Native Method)
        - waiting on <030E3808> (a org.eclipse.core.internal.jobs.WorkerPool)
        at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:209)
        - locked <030E3808> (a org.eclipse.core.internal.jobs.WorkerPool)
        at org.eclipse.core.internal.jobs.WorkerPool.startJob
(WorkerPool.java:236)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:59)

"Console Polling Thread" prio=7 tid=0x0BEAABB0 nid=0x44c waiting on condition 
[13a8f000..13a8fd88]
        at java.lang.Thread.sleep(Native Method)
        at 
org.eclipse.debug.internal.ui.views.console.ConsoleDocumentPartitioner.pollAndSl
eep(ConsoleDocumentPartitioner.java:565)
        at 
org.eclipse.debug.internal.ui.views.console.ConsoleDocumentPartitioner$1.run
(ConsoleDocumentPartitioner.java:549)
        at java.lang.Thread.run(Thread.java:536)

"org.eclipse.jdt.debug: JDI Event Dispatcher" prio=7 tid=0x0AEFEA80 nid=0x76c 
in Object.wait() [13a4f000..13a4fd88]
        at java.lang.Object.wait(Native Method)
        at java.lang.Object.wait(Object.java:426)
        at 
org.eclipse.jdi.internal.connect.PacketReceiveManager.waitForPacketAvailable
(PacketReceiveManager.java:168)
        at org.eclipse.jdi.internal.connect.PacketReceiveManager.getCommand
(PacketReceiveManager.java:93)
        - locked <0432F010> (a 
org.eclipse.jdi.internal.connect.PacketReceiveManager)
        at org.eclipse.jdi.internal.MirrorImpl.getCommandVM(MirrorImpl.java:276)
        at org.eclipse.jdi.internal.event.EventQueueImpl.remove
(EventQueueImpl.java:63)
        at org.eclipse.jdi.internal.event.EventQueueImpl.remove
(EventQueueImpl.java:48)
        at org.eclipse.jdt.internal.debug.core.EventDispatcher.run
(EventDispatcher.java:213)
        at java.lang.Thread.run(Thread.java:536)

"Packet Send Manager" prio=7 tid=0x0B233BF8 nid=0x654 in Object.wait() 
[13a0f000..13a0fd88]
        at java.lang.Object.wait(Native Method)
        at java.lang.Object.wait(Object.java:426)
        at 
org.eclipse.jdi.internal.connect.PacketSendManager.sendAvailablePackets
(PacketSendManager.java:94)
        - locked <0432F158> (a 
org.eclipse.jdi.internal.connect.PacketSendManager)
        at org.eclipse.jdi.internal.connect.PacketSendManager.run
(PacketSendManager.java:54)
        at java.lang.Thread.run(Thread.java:536)

"Packet Receive Manager" prio=7 tid=0x008DD250 nid=0x574 runnable 
[139cf000..139cfd88]
        at java.net.SocketInputStream.socketRead0(Native Method)
        at java.net.SocketInputStream.read(SocketInputStream.java:129)
        at java.net.SocketInputStream.read(SocketInputStream.java:182)
        at java.io.DataInputStream.readInt(DataInputStream.java:392)
        at org.eclipse.jdi.internal.jdwp.JdwpPacket.read(JdwpPacket.java:124)
        at 
org.eclipse.jdi.internal.connect.PacketReceiveManager.readAvailablePacket
(PacketReceiveManager.java:224)
        at org.eclipse.jdi.internal.connect.PacketReceiveManager.run
(PacketReceiveManager.java:70)
        at java.lang.Thread.run(Thread.java:536)

"Input Stream Monitor" prio=7 tid=0x0B234560 nid=0x5f8 in Object.wait() 
[1394f000..1394fd88]
        at java.lang.Object.wait(Native Method)
        - waiting on <0432F238> (a java.lang.Object)
        at java.lang.Object.wait(Object.java:426)
        at org.eclipse.debug.internal.core.InputStreamMonitor.writeNext
(InputStreamMonitor.java:124)
        - locked <0432F238> (a java.lang.Object)
        at org.eclipse.debug.internal.core.InputStreamMonitor.write
(InputStreamMonitor.java:99)
        at org.eclipse.debug.internal.core.InputStreamMonitor$1.run
(InputStreamMonitor.java:75)
        at java.lang.Thread.run(Thread.java:536)

"Output Stream Monitor" prio=7 tid=0x0C28AC60 nid=0x444 runnable 
[1390f000..1390fd88]
        at java.io.FileInputStream.readBytes(Native Method)
        at java.io.FileInputStream.read(FileInputStream.java:174)
        at org.eclipse.debug.internal.core.OutputStreamMonitor.read
(OutputStreamMonitor.java:132)
        at org.eclipse.debug.internal.core.OutputStreamMonitor.access$1
(OutputStreamMonitor.java:124)
        at org.eclipse.debug.internal.core.OutputStreamMonitor$1.run
(OutputStreamMonitor.java:177)
        at java.lang.Thread.run(Thread.java:536)

"Output Stream Monitor" prio=7 tid=0x0BBD6440 nid=0x9b8 runnable 
[138cf000..138cfd88]
        at java.io.FileInputStream.readBytes(Native Method)
        at java.io.FileInputStream.read(FileInputStream.java:191)
        at java.io.BufferedInputStream.read1(BufferedInputStream.java:220)
        at java.io.BufferedInputStream.read(BufferedInputStream.java:277)
        - locked <04333388> (a java.io.BufferedInputStream)
        at java.io.FilterInputStream.read(FilterInputStream.java:90)
        at org.eclipse.debug.internal.core.OutputStreamMonitor.read
(OutputStreamMonitor.java:132)
        at org.eclipse.debug.internal.core.OutputStreamMonitor.access$1
(OutputStreamMonitor.java:124)
        at org.eclipse.debug.internal.core.OutputStreamMonitor$1.run
(OutputStreamMonitor.java:177)
        at java.lang.Thread.run(Thread.java:536)

"Worker-26" prio=5 tid=0x0AFDA830 nid=0x6e4 runnable [1380f000..1380fd88]
        at java.lang.Win32Process.waitFor(Native Method)
        at org.eclipse.debug.core.model.RuntimeProcess$ProcessMonitorJob.run
(RuntimeProcess.java:362)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:66)

"StandardManager[/help]" daemon prio=7 tid=0x0B1FD968 nid=0x1a8 waiting on 
condition [d40f000..d40fd88]
        at java.lang.Thread.sleep(Native Method)
        at org.apache.catalina.session.StandardManager.threadSleep
(StandardManager.java:810)
        at org.apache.catalina.session.StandardManager.run
(StandardManager.java:869)
        at java.lang.Thread.run(Thread.java:536)

"TP-Monitor" daemon prio=7 tid=0x0BC2E968 nid=0x5dc in Object.wait() 
[d3cf000..d3cfd88]
        at java.lang.Object.wait(Native Method)
        - waiting on <03FB8FF0> (a 
org.apache.tomcat.util.threads.ThreadPool$MonitorRunnable)
        at org.apache.tomcat.util.threads.ThreadPool$MonitorRunnable.run
(ThreadPool.java:560)
        - locked <03FB8FF0> (a 
org.apache.tomcat.util.threads.ThreadPool$MonitorRunnable)
        at java.lang.Thread.run(Thread.java:536)

"TP-Processor4" daemon prio=7 tid=0x0BC2E810 nid=0x5ac in Object.wait() 
[d38f000..d38fd88]
        at java.lang.Object.wait(Native Method)
        - waiting on <03FB95D0> (a 
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable)
        at java.lang.Object.wait(Object.java:426)
        at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run
(ThreadPool.java:656)
        - locked <03FB95D0> (a 
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable)
        at java.lang.Thread.run(Thread.java:536)

"TP-Processor3" daemon prio=7 tid=0x0BE49CA0 nid=0x8cc runnable 
[d34f000..d34fd88]
        at java.net.PlainSocketImpl.socketAccept(Native Method)
        at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:353)
        - locked <03FB9660> (a java.net.PlainSocketImpl)
        at java.net.ServerSocket.implAccept(ServerSocket.java:439)
        at java.net.ServerSocket.accept(ServerSocket.java:410)
        at org.apache.tomcat.util.net.DefaultServerSocketFactory.acceptSocket
(DefaultServerSocketFactory.java:107)
        at org.apache.tomcat.util.net.PoolTcpEndpoint.acceptSocket
(PoolTcpEndpoint.java:387)
        at org.apache.tomcat.util.net.TcpWorkerThread.runIt
(PoolTcpEndpoint.java:557)
        at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run
(ThreadPool.java:683)
        at java.lang.Thread.run(Thread.java:536)

"TP-Processor2" daemon prio=7 tid=0x0BF47E68 nid=0x2dc in Object.wait() 
[d30f000..d30fd88]
        at java.lang.Object.wait(Native Method)
        - waiting on <03FB97A0> (a 
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable)
        at java.lang.Object.wait(Object.java:426)
        at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run
(ThreadPool.java:656)
        - locked <03FB97A0> (a 
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable)
        at java.lang.Thread.run(Thread.java:536)

"TP-Processor1" daemon prio=7 tid=0x0BE0ED18 nid=0x8a8 in Object.wait() 
[d2cf000..d2cfd88]
        at java.lang.Object.wait(Native Method)
        - waiting on <03FB9820> (a 
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable)
        at java.lang.Object.wait(Object.java:426)
        at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run
(ThreadPool.java:656)
        - locked <03FB9820> (a 
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable)
        at java.lang.Thread.run(Thread.java:536)

"StandardManager[]" daemon prio=7 tid=0x0AFD6380 nid=0x920 waiting on condition 
[d28f000..d28fd88]
        at java.lang.Thread.sleep(Native Method)
        at org.apache.catalina.session.StandardManager.threadSleep
(StandardManager.java:810)
        at org.apache.catalina.session.StandardManager.run
(StandardManager.java:869)
        at java.lang.Thread.run(Thread.java:536)

"org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x00938248 
nid=0xa24 runnable [d04f000..d04fd88]
        at java.lang.Object.wait(Native Method)
        at 
org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run
(AbstractReconciler.java:172)
        - locked <03D25820> (a 
org.eclipse.jface.text.reconciler.DirtyRegionQueue)

"Java indexing" daemon prio=7 tid=0x0B0D95A0 nid=0x784 waiting on condition 
[bb3f000..bb3fd88]
        at java.lang.Thread.sleep(Native Method)
        at org.eclipse.jdt.internal.core.search.processing.JobManager.run
(JobManager.java:352)
        at java.lang.Thread.run(Thread.java:536)

"Thread-2" prio=7 tid=0x0B0B8198 nid=0x9a4 in Object.wait() [ba4f000..ba4fd88]
        at java.lang.Object.wait(Native Method)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:111)
        - locked <0322BC18> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:127)
        at 
org.eclipse.jface.action.ActionContributionItem$ImageCache$ReferenceCleanerThrea
d.run(ActionContributionItem.java:196)

"Thread-1" prio=7 tid=0x0B0A45A0 nid=0x774 in Object.wait() [ba0f000..ba0fd88]
        at java.lang.Object.wait(Native Method)
        - waiting on <0322BC88> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:111)
        - locked <0322BC88> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:127)
        at 
org.eclipse.jface.action.ActionContributionItem$ImageCache$ReferenceCleanerThrea
d.run(ActionContributionItem.java:196)

"Start Level Event Dispatcher" daemon prio=5 tid=0x00967620 nid=0x88c in 
Object.wait() [b2df000..b2dfd88]
        at java.lang.Object.wait(Native Method)
        - waiting on <02F7A1A0> (a 
org.eclipse.osgi.framework.eventmgr.EventThread)
        at java.lang.Object.wait(Object.java:426)
        at org.eclipse.osgi.framework.eventmgr.EventThread.getNextEvent
(EventThread.java:162)
        - locked <02F7A1A0> (a org.eclipse.osgi.framework.eventmgr.EventThread)
        at org.eclipse.osgi.framework.eventmgr.EventThread.run
(EventThread.java:100)

"Framework Event Dispatcher" daemon prio=5 tid=0x0AF44D10 nid=0x124 in 
Object.wait() [b29f000..b29fd88]
        at java.lang.Object.wait(Native Method)
        - waiting on <02F67AD0> (a 
org.eclipse.osgi.framework.eventmgr.EventThread)
        at java.lang.Object.wait(Object.java:426)
        at org.eclipse.osgi.framework.eventmgr.EventThread.getNextEvent
(EventThread.java:162)
        - locked <02F67AD0> (a org.eclipse.osgi.framework.eventmgr.EventThread)
        at org.eclipse.osgi.framework.eventmgr.EventThread.run
(EventThread.java:100)

"Signal Dispatcher" daemon prio=10 tid=0x008B4F58 nid=0x94c waiting on 
condition [0..0]

"Finalizer" daemon prio=9 tid=0x008FFE58 nid=0x80c in Object.wait() 
[ab4f000..ab4fd88]
        at java.lang.Object.wait(Native Method)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:111)
        - locked <02EE25D8> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:127)
        at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)

"Reference Handler" daemon prio=10 tid=0x008FE9D0 nid=0x844 in Object.wait() 
[ab0f000..ab0fd88]
        at java.lang.Object.wait(Native Method)
        at java.lang.Object.wait(Object.java:426)
        at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:113)
        - locked <02EE2640> (a java.lang.ref.Reference$Lock)

"main" prio=7 tid=0x00234EC0 nid=0x9c0 waiting on condition [6e000..6fc40]
        at java.lang.Thread.sleep(Native Method)
        at 
org.eclipse.jdt.internal.core.search.processing.JobManager.performConcurrentJob
(JobManager.java:243)
        at 
org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder.searchAllPoss
ibleSubTypes(IndexBasedHierarchyBuilder.java:48
7)
        at 
org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder.determinePoss
ibleSubTypes(IndexBasedHierarchyBuilder.java:37
8)
        at 
org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder.build
(IndexBasedHierarchyBuilder.java:120)
        at org.eclipse.jdt.internal.core.hierarchy.TypeHierarchy.compute
(TypeHierarchy.java:319)
        at org.eclipse.jdt.internal.core.hierarchy.TypeHierarchy.refresh
(TypeHierarchy.java:1234)
        - locked <05959D70> (a 
org.eclipse.jdt.internal.core.hierarchy.TypeHierarchy)
        at 
org.eclipse.jdt.internal.core.CreateTypeHierarchyOperation.executeOperation
(CreateTypeHierarchyOperation.java:90)
        at org.eclipse.jdt.internal.core.JavaModelOperation.run
(JavaModelOperation.java:700)
        at org.eclipse.jdt.internal.core.JavaModelOperation.runOperation
(JavaModelOperation.java:739)
        at org.eclipse.jdt.internal.core.BinaryType.newTypeHierarchy
(BinaryType.java:666)
        at org.eclipse.jdt.internal.core.BinaryType.newTypeHierarchy
(BinaryType.java:636)
        at 
org.eclipse.jdt.internal.debug.ui.launcher.AppletLaunchConfigurationUtils.collec
tAppletTypesInProject(AppletLaunchConfiguration
Utils.java:115)
        at 
org.eclipse.jdt.internal.debug.ui.launcher.AppletLaunchConfigurationUtils.isSubc
lassOfApplet(AppletLaunchConfigurationUtils.jav
a:184)
        at 
org.eclipse.jdt.internal.debug.ui.launcher.AppletLaunchConfigurationUtils.collec
tTypes(AppletLaunchConfigurationUtils.java:149)

        at 
org.eclipse.jdt.internal.debug.ui.launcher.JavaElementPropertyTester.isApplet
(JavaElementPropertyTester.java:77)
        at 
org.eclipse.jdt.internal.debug.ui.launcher.JavaElementPropertyTester.test
(JavaElementPropertyTester.java:61)
        at org.eclipse.core.internal.expressions.Property.test(Property.java:52)
        at org.eclipse.core.internal.expressions.TestExpression.evaluate
(TestExpression.java:57)
        at org.eclipse.core.internal.expressions.CompositeExpression.evaluateAnd
(CompositeExpression.java:50)
        at org.eclipse.core.internal.expressions.IterateExpression.evaluate
(IterateExpression.java:107)
        at org.eclipse.core.internal.expressions.CompositeExpression.evaluateAnd
(CompositeExpression.java:50)
        at org.eclipse.core.internal.expressions.WithExpression.evaluate
(WithExpression.java:37)
        at org.eclipse.core.internal.expressions.CompositeExpression.evaluateAnd
(CompositeExpression.java:50)
        at org.eclipse.core.internal.expressions.EnablementExpression.evaluate
(EnablementExpression.java:28)
        at 
org.eclipse.debug.internal.ui.launchConfigurations.LaunchShortcutExtension.evalE
nablementExpression(LaunchShortcutExtension.jav
a:172)
        at org.eclipse.debug.ui.actions.ContextualLaunchAction.isApplicable
(ContextualLaunchAction.java:257)
        at org.eclipse.debug.ui.actions.ContextualLaunchAction.fillMenu
(ContextualLaunchAction.java:191)
        at org.eclipse.debug.ui.actions.ContextualLaunchAction.access$1
(ContextualLaunchAction.java:173)
        at org.eclipse.debug.ui.actions.ContextualLaunchAction$1.menuShown
(ContextualLaunchAction.java:134)
        at org.eclipse.swt.widgets.TypedListener.handleEvent
(TypedListener.java:116)
        at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:82)
        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:796)
        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:820)
        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:801)
        at org.eclipse.swt.widgets.Control.WM_INITMENUPOPUP(Control.java:3302)
        at org.eclipse.swt.widgets.Control.windowProc(Control.java:2974)
        at org.eclipse.swt.widgets.Decorations.windowProc(Decorations.java:1449)
        at org.eclipse.swt.widgets.Display.windowProc(Display.java:3282)
        at org.eclipse.swt.internal.win32.OS.TrackPopupMenu(Native Method)
        at org.eclipse.swt.widgets.Menu._setVisible(Menu.java:222)
        at org.eclipse.swt.widgets.Display.runPopups(Display.java:2742)
        at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2376)
        at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1363)
        at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1334)
        at org.eclipse.ui.internal.Workbench.createAndRunWorkbench
(Workbench.java:253)
        at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:141)
        at org.eclipse.ui.internal.ide.IDEApplication.run
(IDEApplication.java:97)
        at org.eclipse.core.internal.runtime.PlatformActivator$1.run
(PlatformActivator.java:307)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.run
(EclipseStarter.java:256)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.run
(EclipseStarter.java:127)
        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:324)
        at org.eclipse.core.launcher.Main.basicRun(Main.java:185)
        at org.eclipse.core.launcher.Main.run(Main.java:638)
        at org.eclipse.core.launcher.Main.main(Main.java:622)

"VM Thread" prio=5 tid=0x008FD798 nid=0x820 runnable

"VM Periodic Task Thread" prio=10 tid=0x008B3A98 nid=0x584 waiting on condition
"Suspend Checker Thread" prio=10 tid=0x008B4570 nid=0x9a0 runnable
Comment 6 Jerry Lampi CLA 2004-06-02 17:46:03 EDT
Created attachment 11503 [details]
Sorry -- here is the dump ATTACHED.
Comment 7 Nick Edgar CLA 2004-06-03 09:52:31 EDT
The only thread doing anything interesting here is the UI thread (main), and it
is sleeping!  This is in the Java model, but is triggered from the enablement
expression for Debug's Run action.

Moving to Debug for consideration.
Comment 8 Nick Edgar CLA 2004-06-03 09:53:21 EDT
Note that the "Referenced part does not exist yet" lines at the beginning are
unrelated.  It's a known problem with the Sync perspective.
Comment 9 Darin Wright CLA 2004-06-03 10:07:53 EDT
Philippe/Jerome, it looks like our "applet property tester" is causing the 
java model to compute a type hierarchy, which is sleeping. Do you know why the 
type hierarchy would be sleeping (see the main thread)?
Comment 10 Jerome Lanneluc CLA 2004-06-03 10:25:03 EDT
The hierarchy would be sleeping if there are jobs in the index queue. However 
the Java indexing thread is sleeping as well, which indicates there are no 
jobs to process. This sounds to me like a VM problem. 

Jerry I see you're using a quite old VM (JDK 1.4.1_02-b06). Could you please 
try with a more recent one (like JDK 1.4.2_04-b05) ?
Comment 11 Jerry Lampi CLA 2004-06-04 14:30:17 EDT
Upgraded to java.runtime.version=1.4.2_04-b05.

I'll see what happens and keep this posted.
Comment 12 Jerry Lampi CLA 2004-06-07 10:26:19 EDT
Happened again.  This time, I did no CVS at all.  Seemingly random hang.  I 
right-clicked on a java member and then moused down to Run and it hung.  I had 
to terminate Eclpse this time (the last time, the Ctl-Break on console seemed 
to free it).   Here is the dump (I will attach it, too):

Full thread dump Java HotSpot(TM) Client VM (1.4.2_04-b05 mixed mode):

"Worker-11" daemon prio=5 tid=0x188fc3f0 nid=0x9dc in Object.wait() 
[1a96f000..1a96fd88]
        at java.lang.Object.wait(Native Method)
        at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:209)
        - locked <0x106d21b8> (a org.eclipse.core.internal.jobs.WorkerPool)
        at org.eclipse.core.internal.jobs.WorkerPool.startJob
(WorkerPool.java:236)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:59)

"Worker-10" daemon prio=5 tid=0x188fb908 nid=0x8d0 in Object.wait() 
[1a92f000..1a92fd88]
        at java.lang.Object.wait(Native Method)
        at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:209)
        - locked <0x106d21b8> (a org.eclipse.core.internal.jobs.WorkerPool)
        at org.eclipse.core.internal.jobs.WorkerPool.startJob
(WorkerPool.java:236)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:59)

"Worker-9" daemon prio=5 tid=0x1890d4e0 nid=0x8b8 in Object.wait() 
[1a8ef000..1a8efd88]
        at java.lang.Object.wait(Native Method)
        at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:209)
        - locked <0x106d21b8> (a org.eclipse.core.internal.jobs.WorkerPool)
        at org.eclipse.core.internal.jobs.WorkerPool.startJob
(WorkerPool.java:236)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:59)

"Worker-8" daemon prio=5 tid=0x1890ca48 nid=0x8d4 in Object.wait() 
[1a8af000..1a8afd88]
        at java.lang.Object.wait(Native Method)
        at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:209)
        - locked <0x106d21b8> (a org.eclipse.core.internal.jobs.WorkerPool)
        at org.eclipse.core.internal.jobs.WorkerPool.startJob
(WorkerPool.java:236)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:59)

"Worker-7" daemon prio=5 tid=0x1887c350 nid=0xa04 waiting on condition 
[1a86f000..1a86fd88]
        at java.lang.Thread.sleep(Native Method)
        at org.eclipse.jdt.internal.core.search.processing.JobManager$1
$ProgressJob.run(JobManager.java:321)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:66)

"Worker-6" daemon prio=5 tid=0x1880dee0 nid=0x994 waiting on condition 
[1a82f000..1a82fd88]
        at java.lang.Thread.sleep(Native Method)
        at org.eclipse.jdt.internal.core.search.processing.JobManager$1
$ProgressJob.run(JobManager.java:321)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:66)

"Worker-5" daemon prio=5 tid=0x1880fe60 nid=0x1f0 waiting on condition 
[1a7ef000..1a7efd88]
        at java.lang.Thread.sleep(Native Method)
        at org.eclipse.jdt.internal.core.search.processing.JobManager$1
$ProgressJob.run(JobManager.java:321)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:66)

"org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x186e3fb8 
nid=0x958 in Object.wait() [1a50f000..1a50fd88]
        at java.lang.Object.wait(Native Method)
        at 
org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run
(AbstractReconciler.java:172)
        - locked <0x119fe5a0> (a 
org.eclipse.jface.text.reconciler.DirtyRegionQueue)

"org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x186e3ce8 
nid=0x968 in Object.wait() [1a4bf000..1a4bfd88]
        at java.lang.Object.wait(Native Method)
        at 
org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run
(AbstractReconciler.java:172)
        - locked <0x1194d430> (a 
org.eclipse.jface.text.reconciler.DirtyRegionQueue)

"org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x19738b40 
nid=0x96c in Object.wait() [1a42f000..1a42fd88]
        at java.lang.Object.wait(Native Method)
        at 
org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run
(AbstractReconciler.java:172)
        - locked <0x118743e0> (a 
org.eclipse.jface.text.reconciler.DirtyRegionQueue)

"org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x1867e3c8 
nid=0x970 in Object.wait() [1a3bf000..1a3bfd88]
        at java.lang.Object.wait(Native Method)
        at 
org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run
(AbstractReconciler.java:172)
        - locked <0x117bcfa0> (a 
org.eclipse.jface.text.reconciler.DirtyRegionQueue)

"Worker-4" prio=5 tid=0x188c1d98 nid=0x92c waiting on condition 
[1a36f000..1a36fd88]
        at java.lang.Thread.sleep(Native Method)
        at org.eclipse.jdt.internal.core.search.processing.JobManager$1
$ProgressJob.run(JobManager.java:321)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:66)

"Worker-3" prio=5 tid=0x00973800 nid=0x91c waiting on condition 
[1a31f000..1a31fd88]
        at java.lang.Thread.sleep(Native Method)
        at org.eclipse.jdt.internal.core.search.processing.JobManager$1
$ProgressJob.run(JobManager.java:321)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:66)

"org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x18883990 
nid=0x768 in Object.wait() [1a2df000..1a2dfd88]
        at java.lang.Object.wait(Native Method)
        at 
org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run
(AbstractReconciler.java:172)
        - locked <0x11429578> (a 
org.eclipse.jface.text.reconciler.DirtyRegionQueue)

"Console Polling Thread" prio=7 tid=0x186ec4b0 nid=0x6a4 waiting on condition 
[1a24f000..1a24fd88]
        at java.lang.Thread.sleep(Native Method)
        at 
org.eclipse.debug.internal.ui.views.console.ConsoleDocumentPartitioner.pollAndSl
eep(ConsoleDocumentPartitioner.java:565)
        at 
org.eclipse.debug.internal.ui.views.console.ConsoleDocumentPartitioner$1.run
(ConsoleDocumentPartitioner.java:549)
        at java.lang.Thread.run(Unknown Source)

"org.eclipse.jdt.debug: JDI Event Dispatcher" prio=7 tid=0x18726d88 nid=0x628 
in Object.wait() [1a20f000..1a20fd88]
        at java.lang.Object.wait(Native Method)
        at java.lang.Object.wait(Unknown Source)
        at 
org.eclipse.jdi.internal.connect.PacketReceiveManager.waitForPacketAvailable
(PacketReceiveManager.java:168)
        at org.eclipse.jdi.internal.connect.PacketReceiveManager.getCommand
(PacketReceiveManager.java:93)
        - locked <0x11282cd8> (a 
org.eclipse.jdi.internal.connect.PacketReceiveManager)
        at org.eclipse.jdi.internal.MirrorImpl.getCommandVM(MirrorImpl.java:276)
        at org.eclipse.jdi.internal.event.EventQueueImpl.remove
(EventQueueImpl.java:63)
        at org.eclipse.jdi.internal.event.EventQueueImpl.remove
(EventQueueImpl.java:48)
        at org.eclipse.jdt.internal.debug.core.EventDispatcher.run
(EventDispatcher.java:213)
        at java.lang.Thread.run(Unknown Source)

"Packet Send Manager" prio=7 tid=0x1875cc18 nid=0x67c in Object.wait() 
[1a1cf000..1a1cfd88]
        at java.lang.Object.wait(Native Method)
        at java.lang.Object.wait(Unknown Source)
        at 
org.eclipse.jdi.internal.connect.PacketSendManager.sendAvailablePackets
(PacketSendManager.java:94)
        - locked <0x11282e20> (a 
org.eclipse.jdi.internal.connect.PacketSendManager)
        at org.eclipse.jdi.internal.connect.PacketSendManager.run
(PacketSendManager.java:54)
        at java.lang.Thread.run(Unknown Source)

"Packet Receive Manager" prio=7 tid=0x186ff010 nid=0x594 runnable 
[1a18f000..1a18fd88]
        at java.net.SocketInputStream.socketRead0(Native Method)
        at java.net.SocketInputStream.read(Unknown Source)
        at java.net.SocketInputStream.read(Unknown Source)
        at java.io.DataInputStream.readInt(Unknown Source)
        at org.eclipse.jdi.internal.jdwp.JdwpPacket.read(JdwpPacket.java:124)
        at 
org.eclipse.jdi.internal.connect.PacketReceiveManager.readAvailablePacket
(PacketReceiveManager.java:224)
        at org.eclipse.jdi.internal.connect.PacketReceiveManager.run
(PacketReceiveManager.java:70)
        at java.lang.Thread.run(Unknown Source)

"Worker-2" daemon prio=5 tid=0x185bcdd0 nid=0x674 waiting on condition 
[1a14f000..1a14fd88]
        at java.lang.Thread.sleep(Native Method)
        at org.eclipse.jdt.internal.core.search.processing.JobManager$1
$ProgressJob.run(JobManager.java:321)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:66)

"Input Stream Monitor" prio=7 tid=0x18746970 nid=0x648 in Object.wait() 
[1a0cf000..1a0cfd88]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x1113ef50> (a java.lang.Object)
        at java.lang.Object.wait(Unknown Source)
        at org.eclipse.debug.internal.core.InputStreamMonitor.writeNext
(InputStreamMonitor.java:124)
        - locked <0x1113ef50> (a java.lang.Object)
        at org.eclipse.debug.internal.core.InputStreamMonitor.write
(InputStreamMonitor.java:99)
        at org.eclipse.debug.internal.core.InputStreamMonitor$1.run
(InputStreamMonitor.java:75)
        at java.lang.Thread.run(Unknown Source)

"Output Stream Monitor" prio=7 tid=0x187467c0 nid=0x624 runnable 
[1a08f000..1a08fd88]
        at java.io.FileInputStream.readBytes(Native Method)
        at java.io.FileInputStream.read(Unknown Source)
        at org.eclipse.debug.internal.core.OutputStreamMonitor.read
(OutputStreamMonitor.java:132)
        at org.eclipse.debug.internal.core.OutputStreamMonitor.access$1
(OutputStreamMonitor.java:124)
        at org.eclipse.debug.internal.core.OutputStreamMonitor$1.run
(OutputStreamMonitor.java:177)
        at java.lang.Thread.run(Unknown Source)

"Output Stream Monitor" prio=7 tid=0x18703538 nid=0x668 runnable 
[1a04f000..1a04fd88]
        at java.io.FileInputStream.readBytes(Native Method)
        at java.io.FileInputStream.read(Unknown Source)
        at java.io.BufferedInputStream.read1(Unknown Source)
        at java.io.BufferedInputStream.read(Unknown Source)
        - locked <0x111430a0> (a java.io.BufferedInputStream)
        at java.io.FilterInputStream.read(Unknown Source)
        at org.eclipse.debug.internal.core.OutputStreamMonitor.read
(OutputStreamMonitor.java:132)
        at org.eclipse.debug.internal.core.OutputStreamMonitor.access$1
(OutputStreamMonitor.java:124)
        at org.eclipse.debug.internal.core.OutputStreamMonitor$1.run
(OutputStreamMonitor.java:177)
        at java.lang.Thread.run(Unknown Source)

"Worker-1" prio=5 tid=0x185bac78 nid=0x66c waiting on condition 
[196bf000..196bfd88]
        at java.lang.Thread.sleep(Native Method)
        at org.eclipse.jdt.internal.core.search.processing.JobManager$1
$ProgressJob.run(JobManager.java:321)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:66)

"org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x1855f668 
nid=0x670 in Object.wait() [1937f000..1937fd88]
        at java.lang.Object.wait(Native Method)
        at 
org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run
(AbstractReconciler.java:172)
        - locked <0x10aa5b80> (a 
org.eclipse.jface.text.reconciler.DirtyRegionQueue)

"Worker-0" prio=5 tid=0x18583410 nid=0x638 runnable [1920f000..1920fd88]
        at java.lang.Win32Process.waitFor(Native Method)
        at org.eclipse.debug.core.model.RuntimeProcess$ProcessMonitorJob.run
(RuntimeProcess.java:362)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:66)

"Java indexing" daemon prio=7 tid=0x182e9520 nid=0x63c waiting on condition 
[191cf000..191cfd88]
        at java.lang.Thread.sleep(Native Method)
        at org.eclipse.jdt.internal.core.search.processing.JobManager.run
(JobManager.java:352)
        at java.lang.Thread.run(Unknown Source)

"Thread-1" prio=7 tid=0x182c8690 nid=0x688 in Object.wait() [190df000..190dfd88]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x108538c8> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(Unknown Source)
        - locked <0x108538c8> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(Unknown Source)
        at 
org.eclipse.jface.action.ActionContributionItem$ImageCache$ReferenceCleanerThrea
d.run(ActionContributionItem.java:196)

"Thread-0" prio=7 tid=0x182cf7c0 nid=0x62c in Object.wait() [1909f000..1909fd88]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x10853938> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(Unknown Source)
        - locked <0x10853938> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(Unknown Source)
        at 
org.eclipse.jface.action.ActionContributionItem$ImageCache$ReferenceCleanerThrea
d.run(ActionContributionItem.java:196)

"Start Level Event Dispatcher" daemon prio=5 tid=0x00993ce8 nid=0x680 in 
Object.wait() [184ff000..184ffd88]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x1056a708> (a 
org.eclipse.osgi.framework.eventmgr.EventThread)
        at java.lang.Object.wait(Unknown Source)
        at org.eclipse.osgi.framework.eventmgr.EventThread.getNextEvent
(EventThread.java:162)
        - locked <0x1056a708> (a 
org.eclipse.osgi.framework.eventmgr.EventThread)
        at org.eclipse.osgi.framework.eventmgr.EventThread.run
(EventThread.java:100)

"Framework Event Dispatcher" daemon prio=5 tid=0x00980210 nid=0x6b8 in 
Object.wait() [184bf000..184bfd88]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x1056a7f0> (a 
org.eclipse.osgi.framework.eventmgr.EventThread)
        at java.lang.Object.wait(Unknown Source)
        at org.eclipse.osgi.framework.eventmgr.EventThread.getNextEvent
(EventThread.java:162)
        - locked <0x1056a7f0> (a 
org.eclipse.osgi.framework.eventmgr.EventThread)
        at org.eclipse.osgi.framework.eventmgr.EventThread.run
(EventThread.java:100)

"Signal Dispatcher" daemon prio=10 tid=0x0091dfc8 nid=0x52c waiting on 
condition [0..0]

"Finalizer" daemon prio=9 tid=0x0091b1f0 nid=0x6a0 in Object.wait() 
[1816f000..1816fd88]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x104fa1b8> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(Unknown Source)
        - locked <0x104fa1b8> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(Unknown Source)
        at java.lang.ref.Finalizer$FinalizerThread.run(Unknown Source)

"Reference Handler" daemon prio=10 tid=0x00919d68 nid=0x6b0 in Object.wait() 
[1812f000..1812fd88]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x104fa220> (a java.lang.ref.Reference$Lock)
        at java.lang.Object.wait(Unknown Source)
        at java.lang.ref.Reference$ReferenceHandler.run(Unknown Source)
        - locked <0x104fa220> (a java.lang.ref.Reference$Lock)

"main" prio=7 tid=0x00235d80 nid=0x68c waiting on condition [6e000..6fc3c]
        at java.lang.Thread.sleep(Native Method)
        at 
org.eclipse.jdt.internal.core.search.processing.JobManager.performConcurrentJob
(JobManager.java:243)
        at 
org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder.searchAllPoss
ibleSubTypes(IndexBasedHierarchyBuilder.java:48
7)
        at 
org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder.determinePoss
ibleSubTypes(IndexBasedHierarchyBuilder.java:37
8)
        at 
org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder.build
(IndexBasedHierarchyBuilder.java:120)
        at org.eclipse.jdt.internal.core.hierarchy.TypeHierarchy.compute
(TypeHierarchy.java:319)
        at org.eclipse.jdt.internal.core.hierarchy.TypeHierarchy.refresh
(TypeHierarchy.java:1234)
        - locked <0x121f9da8> (a 
org.eclipse.jdt.internal.core.hierarchy.TypeHierarchy)
        at 
org.eclipse.jdt.internal.core.CreateTypeHierarchyOperation.executeOperation
(CreateTypeHierarchyOperation.java:90)
        at org.eclipse.jdt.internal.core.JavaModelOperation.run
(JavaModelOperation.java:700)
        at org.eclipse.jdt.internal.core.JavaModelOperation.runOperation
(JavaModelOperation.java:739)
        at org.eclipse.jdt.internal.core.BinaryType.newTypeHierarchy
(BinaryType.java:666)
        at org.eclipse.jdt.internal.core.BinaryType.newTypeHierarchy
(BinaryType.java:636)
        at 
org.eclipse.jdt.internal.debug.ui.launcher.AppletLaunchConfigurationUtils.collec
tAppletTypesInProject(AppletLaunchConfiguration
Utils.java:115)
        at 
org.eclipse.jdt.internal.debug.ui.launcher.AppletLaunchConfigurationUtils.isSubc
lassOfApplet(AppletLaunchConfigurationUtils.jav
a:184)
        at 
org.eclipse.jdt.internal.debug.ui.launcher.AppletLaunchConfigurationUtils.collec
tTypes(AppletLaunchConfigurationUtils.java:149)

        at 
org.eclipse.jdt.internal.debug.ui.launcher.JavaElementPropertyTester.isApplet
(JavaElementPropertyTester.java:77)
        at 
org.eclipse.jdt.internal.debug.ui.launcher.JavaElementPropertyTester.test
(JavaElementPropertyTester.java:61)
        at org.eclipse.core.internal.expressions.Property.test(Property.java:52)
        at org.eclipse.core.internal.expressions.TestExpression.evaluate
(TestExpression.java:57)
        at org.eclipse.core.internal.expressions.CompositeExpression.evaluateAnd
(CompositeExpression.java:50)
        at org.eclipse.core.internal.expressions.IterateExpression.evaluate
(IterateExpression.java:107)
        at org.eclipse.core.internal.expressions.CompositeExpression.evaluateAnd
(CompositeExpression.java:50)
        at org.eclipse.core.internal.expressions.WithExpression.evaluate
(WithExpression.java:37)
        at org.eclipse.core.internal.expressions.CompositeExpression.evaluateAnd
(CompositeExpression.java:50)
        at org.eclipse.core.internal.expressions.EnablementExpression.evaluate
(EnablementExpression.java:28)
        at 
org.eclipse.debug.internal.ui.launchConfigurations.LaunchShortcutExtension.evalE
nablementExpression(LaunchShortcutExtension.jav
a:172)
        at org.eclipse.debug.ui.actions.ContextualLaunchAction.isApplicable
(ContextualLaunchAction.java:257)
        at org.eclipse.debug.ui.actions.ContextualLaunchAction.fillMenu
(ContextualLaunchAction.java:191)
        at org.eclipse.debug.ui.actions.ContextualLaunchAction.access$1
(ContextualLaunchAction.java:173)
        at org.eclipse.debug.ui.actions.ContextualLaunchAction$1.menuShown
(ContextualLaunchAction.java:134)
        at org.eclipse.swt.widgets.TypedListener.handleEvent
(TypedListener.java:116)
        at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:82)
        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:796)
        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:820)
        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:801)
        at org.eclipse.swt.widgets.Control.WM_INITMENUPOPUP(Control.java:3302)
        at org.eclipse.swt.widgets.Control.windowProc(Control.java:2974)
        at org.eclipse.swt.widgets.Decorations.windowProc(Decorations.java:1449)
        at org.eclipse.swt.widgets.Display.windowProc(Display.java:3282)
        at org.eclipse.swt.internal.win32.OS.TrackPopupMenu(Native Method)
        at org.eclipse.swt.widgets.Menu._setVisible(Menu.java:222)
        at org.eclipse.swt.widgets.Display.runPopups(Display.java:2742)
        at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2376)
        at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1363)
        at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1334)
        at org.eclipse.ui.internal.Workbench.createAndRunWorkbench
(Workbench.java:253)
        at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:141)
        at org.eclipse.ui.internal.ide.IDEApplication.run
(IDEApplication.java:97)
        at org.eclipse.core.internal.runtime.PlatformActivator$1.run
(PlatformActivator.java:307)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.run
(EclipseStarter.java:256)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.run
(EclipseStarter.java:127)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at org.eclipse.core.launcher.Main.basicRun(Main.java:185)
        at org.eclipse.core.launcher.Main.run(Main.java:638)
        at org.eclipse.core.launcher.Main.main(Main.java:622)

"VM Thread" prio=5 tid=0x009552a0 nid=0x6dc runnable

"VM Periodic Task Thread" prio=10 tid=0x0023f570 nid=0x508 waiting on condition
"Suspend Checker Thread" prio=10 tid=0x0091d678 nid=0x634 runnable
Comment 13 Jerry Lampi CLA 2004-06-07 10:27:35 EDT
Created attachment 11662 [details]
Another dump for 07Jun2004
Comment 14 Darin Wright CLA 2004-06-07 10:34:24 EDT
The applet launch shortcut is computing a type hierarchy, which appears to be 
sleeping.
Comment 15 Philipe Mulet CLA 2004-06-07 11:44:12 EDT
Adopting. Looks like same bug as bug 65680
Comment 16 Philipe Mulet CLA 2004-06-07 11:44:55 EDT
*** Bug 65680 has been marked as a duplicate of this bug. ***
Comment 17 Philipe Mulet CLA 2004-06-09 07:12:46 EDT
Suspecting the index manager to remain in disabled state forever.
Disabling pattern is:

(A)  boolean wasEnabled = isEnabled();
    try {
      disable();
    } finally {
      if (wasEnabled)
(B)     enable();
    }

So if 2 threads are competing, A1-A2-B1-B2 would leave us inconsistent.
         
Comment 18 Jerome Lanneluc CLA 2004-06-09 09:52:58 EDT
Changed index manager to use a counter instead of a boolean. This counter is 
incremented in enable() and decremented in disable(). The disabling pattern is 
now:
    try {
      disable();
    } finally {
      enable();
    }
Comment 19 Jerry Lampi CLA 2004-06-09 12:26:10 EDT
Created attachment 11805 [details]
Happen again 09Jun2004 -- attached.

Looks like this has been addressed, but ataching another dump as it happened
again.	Disregard if superfluous.  Thank you so much working on this so
quickly.
Comment 20 Jerome Lanneluc CLA 2004-06-09 12:31:16 EDT
The fix will be in I200406091600.
Comment 21 Jerry Lampi CLA 2004-06-11 09:44:55 EDT
Created attachment 11936 [details]
Dump showing Navigator hang in Build id: 200406110010

I have the newest version (build notes say this bug addressed).   Hang occurred
again.	Dump attached.
Version: 3.0.0
Build id: 200406110010
Comment 22 Jerry Lampi CLA 2004-06-11 09:46:30 EDT
Sorry -- should have reopened before attaching dump.
Comment 23 Jerome Lanneluc CLA 2004-06-11 10:22:19 EDT
Then I will need steps to reproduce the problem.

At least can you please do the following ?

1. Add a .options file (say in c:\temp\.options) with the following content:
# Turn on debug tracing for org.eclipse.jdt.core plugin
org.eclipse.jdt.core/debug=true

# Reports background indexer activity: indexing, saving index file, index 
queries
org.eclipse.jdt.core/debug/indexmanager=true

2. Start eclipse with the following command line:
eclipse.exe -vm <path to your jdk>\jre\bin\java.exe -debug c:\temp\.options

3. This opens a DOS console

4. Increase the Screen Buffer Size of the DOS console:
Width=200
Height=9999

5. When you get the problem, attach the trace that is printed in the DOS 
console.

Thanks.
Comment 24 Jerry Lampi CLA 2004-06-11 11:01:50 EDT
Created attachment 11945 [details]
Here it is as requested

Full degug version of problem as requested.
Comment 25 Jerome Lanneluc CLA 2004-06-11 11:20:46 EDT
Thanks Jerry. One more question: when it hangs, does the tracing stop, or do 
you get infinite 'java.util.zip.ZipException: Access is denied' ?
Comment 26 Jerry Lampi CLA 2004-06-11 11:26:10 EDT
It was looping as I was copying the text.  When I did the DOS Edit->Select All, 
it stopped, and when I pressed enter to copy the text, it started again.

It did free up (after a minute or so); that is, I did not have to 
Ctl+Alt+Delete/task manager force it down.

I never trust it after this happens, so I close Eclipse and start over.
Comment 27 Jerome Lanneluc CLA 2004-06-11 11:32:28 EDT
OK, then you must have 'C:/Documents and Settings/bjal1/eclipse/jakarta-tomcat-
4.0.6' in your .classpath as a lib entry. This is not supported. Removing this 
entry should solve your problem.
Comment 28 Jerry Lampi CLA 2004-06-11 11:56:35 EDT
Done.  We'll see what happpens.  Since I have this project defined as a Tomcat 
project, using com.sysdeo.eclipse.tomcat_3.0.0.alpha1, if this fixes it, I'll 
contact Sysdeco and let them know they have an issue by defining this variable 
automatically.
Comment 29 Jerome Lanneluc CLA 2004-06-14 07:22:17 EDT
Created attachment 12014 [details]
Proposed patch

Prevents a classpath entry to an external folder to be created, and prevents
the indexing such an entry.
Comment 30 Jerome Lanneluc CLA 2004-06-14 07:24:14 EDT
Created attachment 12015 [details]
Proposed patch

Prevents a classpath entry to an external folder to be created, and prevents
the indexing such an entry.
Comment 31 Jerome Lanneluc CLA 2004-06-14 07:24:54 EDT
Created attachment 12016 [details]
Regression test
Comment 32 Jerry Lampi CLA 2004-06-14 09:47:43 EDT
Created attachment 12024 [details]
Warning shown for TOMCAT_PATH

Ironically, Eclipse did give me a warning about TomCat (see attached sreen
shot), but I followed some advice on a post somewhere, and was lead to believe
that this warning was normal (even expected).

The hang has not occurred since removing the "TOMCAT_HOME - C:\Documents..."
line from the Project->Properties->Java Build Path->Libraries dialog.  After
removing this line, the warning (shown on screen shot) also disappeared.

Thanks again for all of the help provided.  It is greatly appreciated!

I will definately contact Sysdeo and have them take a look at this post.
Comment 33 Jerome Lanneluc CLA 2004-06-14 10:49:39 EDT
Glad I could help. We should however prevents this scenario from happening.
Comment 34 Philipe Mulet CLA 2004-06-15 09:23:36 EDT
If we don't take this fix, then some clients may not notice they are 
constructing invalid classpaths (using external class folders, which are 
illegal).

When such an ill-formed CP is constructed, offending entries are usually 
ignored from our code (i.e. when building, java model doesn't show it), but 
can induce a very long recursion inside our search index support (which almost 
seems an infinite loop, but is just very slow).

Workaround is for client to fixup the classpath manually; but they have no 
clear indication of the problem, and have to guess based on symptoms.

If we fix it, the only consequence is that IJavaProject#getResolvedClasspath
(...) will now filter out these offending entries (which shouldn't have been 
exposed from day 1). This impacts JDT launching support, as it used to 
tolerate this mode of operation. So even though we did forbide external class 
folders (in spec, but not in validation code), runtime was tolerating these to 
be part of a runtime classpath.
Workaround for clients would be to add arbitrary entries on runtime classpath 
if they did really want them; as these would no longer be made available by 
default (using JDT Core #getResolvedClasspath() API). The raw classpath would 
still continue to answer these.

Darin - any thoughts ? are you supporting this change ?
Comment 35 Philipe Mulet CLA 2004-06-15 09:24:14 EDT
CC'ing John as we did discuss this problem together.
Comment 36 Darin Wright CLA 2004-06-15 11:18:29 EDT
We use "getRawClasspath()" when expanding a projects default runtime 
classpath, so this should have no ill effect on launching.
Comment 37 Jerome Lanneluc CLA 2004-06-16 07:59:36 EDT
Released proposed patch and regression test.
Comment 38 David Audel CLA 2004-06-18 10:23:27 EDT
Verified for 3.0RC3 I200406180010
Comment 39 Jerome Lanneluc CLA 2004-06-30 10:26:25 EDT
*** Bug 66528 has been marked as a duplicate of this bug. ***
Comment 40 Philipe Mulet CLA 2004-07-05 10:56:47 EDT
*** Bug 69207 has been marked as a duplicate of this bug. ***