Community
Participate
Working Groups
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?
Created attachment 11296 [details] Picture of UI hung Picture of hung UI.
Copyright messages will be changing as we get closer to releasing Eclipse 3.0.
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?
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.
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
Created attachment 11503 [details] Sorry -- here is the dump ATTACHED.
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.
Note that the "Referenced part does not exist yet" lines at the beginning are unrelated. It's a known problem with the Sync perspective.
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)?
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) ?
Upgraded to java.runtime.version=1.4.2_04-b05. I'll see what happens and keep this posted.
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
Created attachment 11662 [details] Another dump for 07Jun2004
The applet launch shortcut is computing a type hierarchy, which appears to be sleeping.
Adopting. Looks like same bug as bug 65680
*** Bug 65680 has been marked as a duplicate of this bug. ***
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.
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(); }
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.
The fix will be in I200406091600.
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
Sorry -- should have reopened before attaching dump.
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.
Created attachment 11945 [details] Here it is as requested Full degug version of problem as requested.
Thanks Jerry. One more question: when it hangs, does the tracing stop, or do you get infinite 'java.util.zip.ZipException: Access is denied' ?
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.
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.
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.
Created attachment 12014 [details] Proposed patch Prevents a classpath entry to an external folder to be created, and prevents the indexing such an entry.
Created attachment 12015 [details] Proposed patch Prevents a classpath entry to an external folder to be created, and prevents the indexing such an entry.
Created attachment 12016 [details] Regression test
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.
Glad I could help. We should however prevents this scenario from happening.
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 ?
CC'ing John as we did discuss this problem together.
We use "getRawClasspath()" when expanding a projects default runtime classpath, so this should have no ill effect on launching.
Released proposed patch and regression test.
Verified for 3.0RC3 I200406180010
*** Bug 66528 has been marked as a duplicate of this bug. ***
*** Bug 69207 has been marked as a duplicate of this bug. ***