http://mail.openjdk.java.net/pipermail/serviceability-dev/2017-August/021770.html
- Suggested fix
http://cr.openjdk.java.net/~ysuenaga/hsdb-fix/conflict-type/
- How to reproduce
1. Start JShell
2. Attach HSDB to jdk.jshell/jdk.internal.jshell.tool.JShellToolProvider
$ jhsdb hsdb --pid <PID of JShellToolProvider>
3. Choose "output reader" thread on Java Threads window
4. Click "Show Java stack trace" icon on "Java Threads" toolbar.
- Stack trace
```
Exception in thread "AWT-EventQueue-0" sun.jvm.hotspot.utilities.AssertionFailure: type check
at jdk.hotspot.agent/sun.jvm.hotspot.utilities.Assert.that(Assert.java:32)
at jdk.hotspot.agent/sun.jvm.hotspot.runtime.StackValue.getObject(StackValue.java:59)
at jdk.hotspot.agent/sun.jvm.hotspot.runtime.StackValueCollection.oopHandleAt(StackValueCollection.java:51)
at jdk.hotspot.agent/sun.jvm.hotspot.ui.classbrowser.HTMLGenerator.genHTMLForJavaStackTrace(HTMLGenerator.java:1931)
at jdk.hotspot.agent/sun.jvm.hotspot.ui.JavaStackTracePanel.setJavaThread(JavaStackTracePanel.java:78)
at jdk.hotspot.agent/sun.jvm.hotspot.HSDB.showJavaStackTrace(HSDB.java:1526)
```
I guess it is caused by inlined method which is generated by JIT compiler.
StackValue has T_CONFLICT value. It might be able to skip.
I'm not sure about this. So I need comments.
- Suggested fix
http://cr.openjdk.java.net/~ysuenaga/hsdb-fix/conflict-type/
- How to reproduce
1. Start JShell
2. Attach HSDB to jdk.jshell/jdk.internal.jshell.tool.JShellToolProvider
$ jhsdb hsdb --pid <PID of JShellToolProvider>
3. Choose "output reader" thread on Java Threads window
4. Click "Show Java stack trace" icon on "Java Threads" toolbar.
- Stack trace
```
Exception in thread "AWT-EventQueue-0" sun.jvm.hotspot.utilities.AssertionFailure: type check
at jdk.hotspot.agent/sun.jvm.hotspot.utilities.Assert.that(Assert.java:32)
at jdk.hotspot.agent/sun.jvm.hotspot.runtime.StackValue.getObject(StackValue.java:59)
at jdk.hotspot.agent/sun.jvm.hotspot.runtime.StackValueCollection.oopHandleAt(StackValueCollection.java:51)
at jdk.hotspot.agent/sun.jvm.hotspot.ui.classbrowser.HTMLGenerator.genHTMLForJavaStackTrace(HTMLGenerator.java:1931)
at jdk.hotspot.agent/sun.jvm.hotspot.ui.JavaStackTracePanel.setJavaThread(JavaStackTracePanel.java:78)
at jdk.hotspot.agent/sun.jvm.hotspot.HSDB.showJavaStackTrace(HSDB.java:1526)
```
I guess it is caused by inlined method which is generated by JIT compiler.
StackValue has T_CONFLICT value. It might be able to skip.
I'm not sure about this. So I need comments.
- relates to
-
JDK-6330413 SAJDI: type check Assert in StackValue.getObject()
-
- Closed
-
-
JDK-7018352 SA-JDI: AssertionFailure in StackFrame.thisObject()
-
- Closed
-
-
JDK-7084976 JSR 292: SA JDI: AssertionFailure in sun.jvm.hotspot.runtime.StackValue.getObject()
-
- Closed
-