-
Bug
-
Resolution: Fixed
-
P3
-
6
-
b91
-
sparc
-
solaris
Run the test shown in bug
6224859 jdb freezes easily for test program having thread.suspend() in 1.4.2/5.0
After jdb freezes, run jstack -m on the debuggee's pid and get this:
jstack -m 14148
Attaching to process ID 14148, please wait...
Debugger attached successfully.
Server compiler detected.
JVM version is 1.6.0-ea-b48
sun.jvm.hotspot.utilities.AssertionFailure: in first chunk
at sun.jvm.hotspot.utilities.Assert.that(Assert.java:15)
at sun.jvm.hotspot.runtime.sparc.SPARCRegisterMap.shiftIndividualRegisters(SPARCRegisterMap.java:229)
at sun.jvm.hotspot.runtime.sparc.SPARCRegisterMap.shiftWindow(SPARCRegisterMap.java:203)
at sun.jvm.hotspot.runtime.sparc.SPARCFrame.senderWithPCAdjustment(SPARCFrame.java:918)
at sun.jvm.hotspot.runtime.sparc.SPARCFrame.sender(SPARCFrame.java:433)
at sun.jvm.hotspot.runtime.Frame.sender(Frame.java:174)
at sun.jvm.hotspot.runtime.Frame.realSender(Frame.java:179)
at sun.jvm.hotspot.runtime.VFrame.sender(VFrame.java:102)
at sun.jvm.hotspot.runtime.VFrame.javaSender(VFrame.java:129)
at sun.jvm.hotspot.tools.PStack.initJFrameCache(PStack.java:171)
at sun.jvm.hotspot.tools.PStack.run(PStack.java:47)
at sun.jvm.hotspot.tools.PStack.run(PStack.java:35)
at sun.jvm.hotspot.tools.PStack.run(PStack.java:30)
at sun.jvm.hotspot.tools.JStack.run(JStack.java:41)
at sun.jvm.hotspot.tools.Tool.start(Tool.java:204)
at sun.jvm.hotspot.tools.JStack.main(JStack.java:58)
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:585)
at sun.tools.jstack.JStack.jstack(JStack.java:161)
at sun.tools.jstack.JStack.main(JStack.java:110)
With the latest version it does not fail at same location
but it fails with array out of bound exception in RegisterMap.
See the stack trace below:
java.lang.ArrayIndexOutOfBoundsException: 0
at sun.jvm.hotspot.runtime.sparc.SPARCRegisterMap.makeIntegerRegsUnsaved(SPARCRegisterMap.java:178)
at sun.jvm.hotspot.runtime.sparc.SPARCRegisterMap.initializeFromPD(SPARCRegisterMap.java:163)
at sun.jvm.hotspot.runtime.RegisterMap.<init>(RegisterMap.java:85)
at sun.jvm.hotspot.runtime.sparc.SPARCRegisterMap.<init>(SPARCRegisterMap.java:81)
at sun.jvm.hotspot.runtime.sparc.SPARCRegisterMap.clone(SPARCRegisterMap.java:85)
at sun.jvm.hotspot.runtime.VFrame.<init>(VFrame.java:20)
at sun.jvm.hotspot.runtime.ExternalVFrame.<init>(ExternalVFrame.java:17)
at sun.jvm.hotspot.runtime.VFrame.newVFrame(VFrame.java:73)
at sun.jvm.hotspot.runtime.JavaThread.getLastJavaVFrameDbg(JavaThread.java:207)
at sun.jvm.hotspot.tools.PStack.initJFrameCache(PStack.java:191)
at sun.jvm.hotspot.tools.PStack.run(PStack.java:49)
at sun.jvm.hotspot.tools.PStack.run(PStack.java:36)
6224859 jdb freezes easily for test program having thread.suspend() in 1.4.2/5.0
After jdb freezes, run jstack -m on the debuggee's pid and get this:
jstack -m 14148
Attaching to process ID 14148, please wait...
Debugger attached successfully.
Server compiler detected.
JVM version is 1.6.0-ea-b48
sun.jvm.hotspot.utilities.AssertionFailure: in first chunk
at sun.jvm.hotspot.utilities.Assert.that(Assert.java:15)
at sun.jvm.hotspot.runtime.sparc.SPARCRegisterMap.shiftIndividualRegisters(SPARCRegisterMap.java:229)
at sun.jvm.hotspot.runtime.sparc.SPARCRegisterMap.shiftWindow(SPARCRegisterMap.java:203)
at sun.jvm.hotspot.runtime.sparc.SPARCFrame.senderWithPCAdjustment(SPARCFrame.java:918)
at sun.jvm.hotspot.runtime.sparc.SPARCFrame.sender(SPARCFrame.java:433)
at sun.jvm.hotspot.runtime.Frame.sender(Frame.java:174)
at sun.jvm.hotspot.runtime.Frame.realSender(Frame.java:179)
at sun.jvm.hotspot.runtime.VFrame.sender(VFrame.java:102)
at sun.jvm.hotspot.runtime.VFrame.javaSender(VFrame.java:129)
at sun.jvm.hotspot.tools.PStack.initJFrameCache(PStack.java:171)
at sun.jvm.hotspot.tools.PStack.run(PStack.java:47)
at sun.jvm.hotspot.tools.PStack.run(PStack.java:35)
at sun.jvm.hotspot.tools.PStack.run(PStack.java:30)
at sun.jvm.hotspot.tools.JStack.run(JStack.java:41)
at sun.jvm.hotspot.tools.Tool.start(Tool.java:204)
at sun.jvm.hotspot.tools.JStack.main(JStack.java:58)
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:585)
at sun.tools.jstack.JStack.jstack(JStack.java:161)
at sun.tools.jstack.JStack.main(JStack.java:110)
With the latest version it does not fail at same location
but it fails with array out of bound exception in RegisterMap.
See the stack trace below:
java.lang.ArrayIndexOutOfBoundsException: 0
at sun.jvm.hotspot.runtime.sparc.SPARCRegisterMap.makeIntegerRegsUnsaved(SPARCRegisterMap.java:178)
at sun.jvm.hotspot.runtime.sparc.SPARCRegisterMap.initializeFromPD(SPARCRegisterMap.java:163)
at sun.jvm.hotspot.runtime.RegisterMap.<init>(RegisterMap.java:85)
at sun.jvm.hotspot.runtime.sparc.SPARCRegisterMap.<init>(SPARCRegisterMap.java:81)
at sun.jvm.hotspot.runtime.sparc.SPARCRegisterMap.clone(SPARCRegisterMap.java:85)
at sun.jvm.hotspot.runtime.VFrame.<init>(VFrame.java:20)
at sun.jvm.hotspot.runtime.ExternalVFrame.<init>(ExternalVFrame.java:17)
at sun.jvm.hotspot.runtime.VFrame.newVFrame(VFrame.java:73)
at sun.jvm.hotspot.runtime.JavaThread.getLastJavaVFrameDbg(JavaThread.java:207)
at sun.jvm.hotspot.tools.PStack.initJFrameCache(PStack.java:191)
at sun.jvm.hotspot.tools.PStack.run(PStack.java:49)
at sun.jvm.hotspot.tools.PStack.run(PStack.java:36)