During random testing was found case when ThreadReference.popFrames throws unexpected InternalException. I think this isn't duplicate of "5032612 JDI: StackFrameImpl.pop() should expect OPAQUE_FRAME error" because of in this case thread doesn't have native frames. This error reproduces at least on solaris-sparc(vmsqe-v210-04.russia.sun.com), linux-586(vmsqe-xeon-02.russia.sun.com).
Minimized test is attached(test creates javax.swing.JFrame, so it requires correct environment variable DISPLAY).
Output example:
Thread stack:
java.awt.Component.getLocationOnScreen()NOT NATIVE 1774
PopFrames_Debuggee$TestThread.test()NOT NATIVE 49
PopFrames_Debuggee$TestThread.run()NOT NATIVE 31
Pop frame: getLocationOnScreen
Unexpected error:
com.sun.jdi.InternalException: Unexpected JDWP Error: 32
at com.sun.tools.jdi.JDWPException.toJDIException(JDWPException.java:47)
at com.sun.tools.jdi.StackFrameImpl.pop(StackFrameImpl.java:378)
at com.sun.tools.jdi.ThreadReferenceImpl.popFrames(ThreadReferenceImpl.java:493)
at PopFrames_Test.main(PopFrames_Test.java:228)
debuggee out>>>Command received: QUIT
debuggee out>>>Exit
Exit code: 95
TEST FAIL
Minimized test is attached(test creates javax.swing.JFrame, so it requires correct environment variable DISPLAY).
Output example:
Thread stack:
java.awt.Component.getLocationOnScreen()NOT NATIVE 1774
PopFrames_Debuggee$TestThread.test()NOT NATIVE 49
PopFrames_Debuggee$TestThread.run()NOT NATIVE 31
Pop frame: getLocationOnScreen
Unexpected error:
com.sun.jdi.InternalException: Unexpected JDWP Error: 32
at com.sun.tools.jdi.JDWPException.toJDIException(JDWPException.java:47)
at com.sun.tools.jdi.StackFrameImpl.pop(StackFrameImpl.java:378)
at com.sun.tools.jdi.ThreadReferenceImpl.popFrames(ThreadReferenceImpl.java:493)
at PopFrames_Test.main(PopFrames_Test.java:228)
debuggee out>>>Command received: QUIT
debuggee out>>>Exit
Exit code: 95
TEST FAIL
- duplicates
-
JDK-6333635 PopFrame fails if thread is waiting at a synchronize block
- Closed