Summary: | Deadlock in code parser | ||||||
---|---|---|---|---|---|---|---|
Product: | [Eclipse Project] JDT | Reporter: | Martin Aeschlimann <martinae> | ||||
Component: | Core | Assignee: | David Audel <david_audel> | ||||
Status: | VERIFIED FIXED | QA Contact: | |||||
Severity: | blocker | ||||||
Priority: | P3 | CC: | darin.eclipse, jcompagner, kai-uwe_maetzel | ||||
Version: | 2.1 | ||||||
Target Milestone: | 2.1 M5 | ||||||
Hardware: | PC | ||||||
OS: | Windows 2000 | ||||||
Whiteboard: | |||||||
Attachments: |
|
Description
Martin Aeschlimann
2003-02-05 06:15:38 EST
Created attachment 3295 [details]
source that causes the walkback
Select the full source and play around (no typing required)
Another walkback, while simply selecting a block in the code attached: Seems to be a simple enlessloop. A interresting question is, why is the editor doing a code select on the mouseclick listener. ---------------------- Exception Information --------------------------- No Exception ---------------------- System Properties ------------------------------- J2RE 1.3.1 IBM Windows 32 build cn131-20020403 d:\devel\ibm_jdk1.3.1_SR1\jre\bin\java -verify -cp startup.jar org.eclipse.core.launcher.Main -application org.eclipse.ui.workbench -ws win32 - showlocation -data D:\workspaces\eclipse-sh2\plugins Java Home Dir: d:\devel\ibm_jdk1.3.1_SR1\jre Java DLL Dir: d:\devel\ibm_jdk1.3.1_SR1\jre\bin Sys Classpath: d:\devel\ibm_jdk1.3.1_SR1 \jre\lib\rt.jar;d:\devel\ibm_jdk1.3.1_SR1 \jre\lib\i18n.jar;d:\devel\ibm_jdk1.3.1_SR1\jre\classes UserArgs: -Djava.class.path="L¯^R\QTJava.zip" -Xverify:all -Djava.class.path=startup.jar -Dinvokedviajava ---------------------- XM component Dump Routine ---------------------- Full thread dump Classic VM (J2RE 1.3.1 IBM Windows 32 build cn131-20020403, native threads): "org.eclipse.jdt.debug: JDI Event Dispatcher" (TID:0x377EF70, sys_thread_t:0x13C5A250, state:CW, native ID:0x640) prio=5 at java.lang.Object.wait(Native Method) at java.lang.Object.wait(Object.java:429) at org.eclipse.jdi.internal.connect.PacketReceiveManager.waitForPacketAvailable (PacketReceiveManager.java:157) at org.eclipse.jdi.internal.connect.PacketReceiveManager.getCommand (PacketReceiveManager.java:87) at org.eclipse.jdi.internal.MirrorImpl.getCommandVM(MirrorImpl.java:270) at org.eclipse.jdi.internal.event.EventQueueImpl.remove (EventQueueImpl.java:57) at org.eclipse.jdi.internal.event.EventQueueImpl.remove (EventQueueImpl.java:42) at org.eclipse.jdt.internal.debug.core.EventDispatcher.run (EventDispatcher.java:197) at java.lang.Thread.run(Thread.java:512) "Packet Send Manager" (TID:0x35E40C0, sys_thread_t:0x13BE4840, state:CW, native ID:0x118) prio=5 at java.lang.Object.wait(Native Method) at java.lang.Object.wait(Object.java:429) at org.eclipse.jdi.internal.connect.PacketSendManager.sendAvailablePackets (PacketSendManager.java:85) at org.eclipse.jdi.internal.connect.PacketSendManager.run (PacketSendManager.java:50) at java.lang.Thread.run(Thread.java:512) "Packet Receive Manager" (TID:0x35E4108, sys_thread_t:0x13BDAC18, state:R, native ID:0x460) prio=5 at java.net.SocketInputStream.socketRead(Native Method) at java.net.SocketInputStream.read(SocketInputStream.java:113) at java.net.SocketInputStream.read(SocketInputStream.java:130) at java.io.DataInputStream.readInt(DataInputStream.java(Compiled Code)) at org.eclipse.jdi.internal.jdwp.JdwpPacket.read(JdwpPacket.java:118) at org.eclipse.jdi.internal.connect.PacketReceiveManager.readAvailablePacket (PacketReceiveManager.java:213) at org.eclipse.jdi.internal.connect.PacketReceiveManager.run (PacketReceiveManager.java:64) at java.lang.Thread.run(Thread.java:512) "Console Polling Thread" (TID:0x3502B28, sys_thread_t:0x13B81530, state:CW, native ID:0x608) prio=5 at java.lang.Thread.sleep(Native Method) at org.eclipse.debug.internal.ui.views.console.ConsoleDocumentPartitioner.pollAndSl eep(ConsoleDocumentPartitioner.java:526) at org.eclipse.debug.internal.ui.views.console.ConsoleDocumentPartitioner$1.run (ConsoleDocumentPartitioner.java:510) at java.lang.Thread.run(Thread.java:512) "Process Monitor" (TID:0x3473978, sys_thread_t:0x13B37218, state:R, native ID:0x678) prio=5 at java.lang.Win32Process.waitFor(Native Method) at org.eclipse.debug.internal.core.ProcessMonitor.monitorProcess (ProcessMonitor.java:45) at org.eclipse.debug.internal.core.ProcessMonitor.access$0 (ProcessMonitor.java:42) at org.eclipse.debug.internal.core.ProcessMonitor$1.run (ProcessMonitor.java:62) at java.lang.Thread.run(Thread.java:512) "Input Stream Monitor" (TID:0x344A1A8, sys_thread_t:0x13B7C850, state:CW, native ID:0x5C8) prio=5 at java.lang.Object.wait(Native Method) at java.lang.Object.wait(Object.java:429) at org.eclipse.debug.internal.core.InputStreamMonitor.writeNext (InputStreamMonitor.java:118) at org.eclipse.debug.internal.core.InputStreamMonitor.write (InputStreamMonitor.java:93) at org.eclipse.debug.internal.core.InputStreamMonitor$1.run (InputStreamMonitor.java:69) at java.lang.Thread.run(Thread.java:512) "Output Stream Monitor" (TID:0x344A1F0, sys_thread_t:0x13B8BC68, state:R, native ID:0x62C) prio=5 at java.io.FileInputStream.readBytes(Native Method) at java.io.FileInputStream.read(FileInputStream.java:181) at org.eclipse.debug.internal.core.OutputStreamMonitor.read (OutputStreamMonitor.java:128) at org.eclipse.debug.internal.core.OutputStreamMonitor.access$1 (OutputStreamMonitor.java:120) at org.eclipse.debug.internal.core.OutputStreamMonitor$1.run (OutputStreamMonitor.java:173) at java.lang.Thread.run(Thread.java:512) "Output Stream Monitor" (TID:0x344A428, sys_thread_t:0x13B8B970, state:R, native ID:0x520) prio=5 at java.io.FileInputStream.readBytes(Native Method) at java.io.FileInputStream.read(FileInputStream.java(Compiled Code)) at java.io.BufferedInputStream.read1(BufferedInputStream.java(Compiled Code)) at java.io.BufferedInputStream.read(BufferedInputStream.java(Compiled Code)) at java.io.FilterInputStream.read(FilterInputStream.java(Compiled Code)) at org.eclipse.debug.internal.core.OutputStreamMonitor.read (OutputStreamMonitor.java:128) at org.eclipse.debug.internal.core.OutputStreamMonitor.access$1 (OutputStreamMonitor.java:120) at org.eclipse.debug.internal.core.OutputStreamMonitor$1.run (OutputStreamMonitor.java:173) at java.lang.Thread.run(Thread.java:512) "org.eclipse.jdt.internal.ui.text.JavaReconciler" (TID:0x49EB150, sys_thread_t:0x13956418, state:CW, native ID:0x694) prio=1 at java.lang.Object.wait(Native Method) at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run (AbstractReconciler.java:161) "org.eclipse.jdt.internal.ui.text.JavaReconciler" (TID:0x3D2AE10, sys_thread_t:0x13717890, state:CW, native ID:0x330) prio=1 at java.lang.Object.wait(Native Method) at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run (AbstractReconciler.java:161) "Decoration" (TID:0x269FFD0, sys_thread_t:0x12FD89F0, state:CW, native ID:0x52C) prio=1 at java.lang.Object.wait(Native Method) at java.lang.Object.wait(Object.java:429) at org.eclipse.ui.internal.decorators.DecorationScheduler.next (DecorationScheduler.java:247) at org.eclipse.ui.internal.decorators.DecorationScheduler$3.run (DecorationScheduler.java:273) at java.lang.Thread.run(Thread.java:512) "Java indexing" (TID:0x900340, sys_thread_t:0x129ED300, state:CW, native ID:0x2B4) prio=4 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:512) "Finalizer" (TID:0x901900, sys_thread_t:0x899000, state:CW, native ID:0x618) prio=8 at java.lang.Object.wait(Native Method) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:133) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java(Compiled Code)) at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java(Compiled Code)) "Reference Handler" (TID:0x901948, sys_thread_t:0x8624E0, state:CW, native ID:0x6D0) prio=10 at java.lang.Object.wait(Native Method) at java.lang.Object.wait(Object.java(Compiled Code)) at java.lang.ref.Reference$ReferenceHandler.run(Reference.java(Compiled Code)) "Signal dispatcher" (TID:0x901990, sys_thread_t:0x88FD28, state:R, native ID:0x580) prio=5 "main" (TID:0x9019D8, sys_thread_t:0x23E8D8, state:R, native ID:0x360) prio=5 at org.eclipse.jdt.internal.codeassist.impl.AssistParser.parseBlockStatements (AssistParser.java:890) at org.eclipse.jdt.internal.codeassist.impl.AssistParser.parseBlockStatements (AssistParser.java:804) at org.eclipse.jdt.internal.codeassist.impl.Engine.parseMethod (Engine.java:166) at org.eclipse.jdt.internal.codeassist.impl.Engine.parseMethod (Engine.java:135) at org.eclipse.jdt.internal.codeassist.SelectionEngine.select (SelectionEngine.java:449) at org.eclipse.jdt.internal.core.Openable.codeSelect(Openable.java:154) at org.eclipse.jdt.internal.core.Openable.codeSelect(Openable.java:132) at org.eclipse.jdt.internal.core.CompilationUnit.codeSelect (CompilationUnit.java:110) at org.eclipse.jdt.internal.ui.javaeditor.JavaEditor$MouseClickListener.getCurrentT extRegion(JavaEditor.java:461) at org.eclipse.jdt.internal.ui.javaeditor.JavaEditor$MouseClickListener.mouseMove (JavaEditor.java:679) at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java (Compiled Code)) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java (Compiled Code)) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java (Compiled Code)) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java (Compiled Code)) *** Exception 0 received during dump routine processing, section truncated. Could y We regenerated our parser automaton tables for this integration build. They seem wrong. Would be a JikesPG bug. Reverting to old tables. I checked and all tables have been updated properly (I mean according to what was generated by jikespg). I will investigate with Philippe Charles who wrote this tool. Fixed and released to 2.1 stream. I released again the old tables. David - please add a test case that would enter in the deadlock if the tables are invalid. Change milestone. test is released (SelectionTest2.testBug30946) Fixed. *** Bug 30999 has been marked as a duplicate of this bug. *** *** Bug 31148 has been marked as a duplicate of this bug. *** Verified. |