Community
Participate
Working Groups
I will attache a file which does hang my eclipse version (Ibuild 20030205) always when i add: while(st.hasMoreTokens())[cursor-here] and then do CTRL-S (save file) on the position just after (around line 39): StringBuffer sb = new StringBuffer(); StringTokenizer st = new StringTokenizer() it always completely freezes eclipse and eclipse consumes 100% of the cpu. it also locks up when i don't save the file but press enter after the while() and try to type a { on the next row. This is the thread dump of te freeze with the { Full thread dump Java HotSpot(TM) Server VM (1.4.1_01-b01 mixed mode): "Text Viewer Hover Presenter" daemon prio=2 tid=0x19C11870 nid=0x184 waiting for monitor entry [1e17f000..1e17fdc0] at org.eclipse.jdt.internal.ui.text.java.hover.AbstractJavaEditorTextHover.getHover Info(AbstractJavaEditorTextHover.java:88) - waiting to lock <03410788> (a org.eclipse.jdt.internal.core.WorkingCopy) at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo (BestMatchHover.java:130) at org.eclipse.jdt.internal.ui.text.java.hover.JavaEditorTextHoverProxy.getHoverInf o(JavaEditorTextHoverProxy.java:132) at org.eclipse.jface.text.TextViewerHoverManager$2.run (TextViewerHoverManager.java:108) "org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x1A191330 nid=0xc1c runnable [1e0df000..1e0dfdc0] at org.eclipse.jdt.internal.compiler.parser.Parser.parse (Parser.java:6899) at org.eclipse.jdt.internal.compiler.parser.Parser.parse (Parser.java:7070) at org.eclipse.jdt.internal.compiler.ast.MethodDeclaration.parseStatements (MethodDeclaration.java:95) at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.parseMethod (TypeDeclaration.java:725) at org.eclipse.jdt.internal.compiler.Compiler.getMethodBodies (Compiler.java:391) at org.eclipse.jdt.internal.compiler.Compiler.resolve(Compiler.java:576) at org.eclipse.jdt.internal.core.CompilationUnitProblemFinder.process (CompilationUnitProblemFinder.java:204) at org.eclipse.jdt.internal.core.CompilationUnit.buildStructure (CompilationUnit.java:90) at org.eclipse.jdt.internal.core.CompilationUnit.makeConsistent (CompilationUnit.java:664) at org.eclipse.jdt.internal.core.WorkingCopy.reconcile (WorkingCopy.java:439) at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile (JavaReconcilingStrategy.java:73) - locked <03410788> (a org.eclipse.jdt.internal.core.WorkingCopy) at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile (JavaReconcilingStrategy.java:100) at org.eclipse.jface.text.reconciler.MonoReconciler.process (MonoReconciler.java:76) at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run (AbstractReconciler.java:189) "Decoration" prio=2 tid=0x19BF2A10 nid=0x57c in Object.wait() [1dddf000..1dddfdc0] at java.lang.Object.wait(Native Method) - waiting on <0533D720> (a org.eclipse.ui.internal.decorators.DecorationScheduler) at java.lang.Object.wait(Object.java:426) at org.eclipse.ui.internal.decorators.DecorationScheduler.next (DecorationScheduler.java:247) - locked <0533D720> (a org.eclipse.ui.internal.decorators.DecorationScheduler) at org.eclipse.ui.internal.decorators.DecorationScheduler$3.run (DecorationScheduler.java:273) at java.lang.Thread.run(Thread.java:536) "Java indexing" daemon prio=4 tid=0x19A433C8 nid=0xb98 suspended [1dd9f000..1dd9fdc0] at java.lang.Thread.sleep(Native Method) at org.eclipse.jdt.internal.core.search.processing.JobManager.run (JobManager.java:334) at java.lang.Thread.run(Thread.java:536) "Snapshot" prio=5 tid=0x19C664F0 nid=0xbf0 in Object.wait() [1a8bf000..1a8bfdc0] at java.lang.Object.wait(Native Method) - waiting on <05142340> (a org.eclipse.core.internal.resources.DelayedSnapshotRunnable) at org.eclipse.core.internal.resources.DelayedSnapshotRunnable.run (DelayedSnapshotRunnable.java:38) - locked <05142340> (a org.eclipse.core.internal.resources.DelayedSnapshotRunnable) at java.lang.Thread.run(Thread.java:536) "Signal Dispatcher" daemon prio=10 tid=0x009BD188 nid=0x63c waiting on condition [0..0] "Finalizer" daemon prio=9 tid=0x009B9CA0 nid=0x724 in Object.wait() [197ff000..197ffdc0] at java.lang.Object.wait(Native Method) - waiting on <04D47D20> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:111) - locked <04D47D20> (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=0x009B9070 nid=0xf78 in Object.wait() [95 f000..95fdc0] at java.lang.Object.wait(Native Method) - waiting on <04D47D88> (a java.lang.ref.Reference$Lock) at java.lang.Object.wait(Object.java:426) at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:113) - locked <04D47D88> (a java.lang.ref.Reference$Lock) "main" prio=5 tid=0x00034C38 nid=0x894 runnable [7e000..7fc28] at org.eclipse.jdt.internal.compiler.parser.Parser.parse (Parser.java:6899) at org.eclipse.jdt.internal.compiler.parser.Parser.parse (Parser.java:7070) at org.eclipse.jdt.internal.compiler.ast.MethodDeclaration.parseStatements (MethodDeclaration.java:95) at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.parseMethod (TypeDeclaration.java:725) at org.eclipse.jdt.core.dom.CompilationUnitResolver.parse (CompilationUnitResolver.java:213) at org.eclipse.jdt.core.dom.AST.parseCompilationUnit(AST.java:523) at org.eclipse.jdt.internal.ui.text.java.SmartBracesAutoEditStrategy.smartBraces (SmartBracesAutoEditStrategy.java:474) at org.eclipse.jdt.internal.ui.text.java.SmartBracesAutoEditStrategy.customizeDocum entCommand(SmartBracesAutoEditStrategy.java:180) at org.eclipse.jface.text.TextViewer.customizeDocumentCommand (TextViewer.java:2625) at org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitEditor$AdaptedSourceViewer .customizeDocumentCommand(CompilationUnitEditor.java:210) at org.eclipse.jface.text.TextViewer.handleVerifyEvent (TextViewer.java:2644) at org.eclipse.jface.text.TextViewer$TextVerifyListener.verifyText (TextViewer.java:318) at org.eclipse.swt.widgets.TypedListener.handleEvent (TypedListener.java:187) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:77) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:836) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:861) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:845) at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:652) at org.eclipse.swt.custom.StyledText.modifyContent(StyledText.java:5671) at org.eclipse.swt.custom.StyledText.sendKeyEvent(StyledText.java:6651) at org.eclipse.swt.custom.StyledText.doContent(StyledText.java:2708) at org.eclipse.swt.custom.StyledText.handleKey(StyledText.java:5097) at org.eclipse.swt.custom.StyledText.handleKeyDown(StyledText.java:5120) at org.eclipse.swt.custom.StyledText$8.handleEvent(StyledText.java:4867) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:77) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:836) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:1692) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:1410) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1289) at org.eclipse.ui.internal.Workbench.run(Workbench.java:1272) at org.eclipse.core.internal.boot.InternalBootLoader.run (InternalBootLoader.java:845) at org.eclipse.core.boot.BootLoader.run(BootLoader.java:461) 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:247) at org.eclipse.core.launcher.Main.run(Main.java:703) at org.eclipse.core.launcher.Main.main(Main.java:539) "VM Thread" prio=5 tid=0x009B85A0 nid=0xe94 runnable "VM Periodic Task Thread" prio=10 tid=0x009BBE78 nid=0x1a4 waiting on condition "Suspend Checker Thread" prio=10 tid=0x009BC7C8 nid=0xe60 runnable
Created attachment 3336 [details] The java file
this looks like a dup of bug 30946 Philippe pls confirm
Smells like our parser automaton infinite loop (bug 30946). John - this would be resolved in a 20030206 build.
*** This bug has been marked as a duplicate of 30946 ***
yes is fixed in 0206