Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8020175 | 8 | Tomáš Hůrka | P3 | Resolved | Fixed | b98 |
jstack() is returning corrupt method signatures on Solaris. To reproduce, you can use DTrace:
dtrace -x jstackstrsize=2048 -Z \
-n 'hotspot_jni$target::: /0/{}' \
-n 'syscall::write:entry /pid==$target/{jstack(1024)}' \
-c 'java -version'
With Java 6, the output is roughly:
java/io/FileOutputStream.writeBytes([BII)V
java/io/FileOutputStream.write([BII)V
java/io/BufferedOutputStream.flushBuffer()V
java/io/BufferedOutputStream.flush()V
java/io/PrintStream.write([BII)V
With Java 7, the output is roughly:
java/io/FileOutputStream.riteBytes
java/io/FileOutputStream.rite
java/io/BufferedOutputStream.lushBuffer
java/io/BufferedOutputStream.lush
java/io/PrintStream.rite
As you can see, the method names are truncated.
As of 2013-02-27, Solaris is not yet built with Java 7. You can contact me (sam.falkner at oracle dot com) if you need access to a machine that reproduces the bug.
dtrace -x jstackstrsize=2048 -Z \
-n 'hotspot_jni$target::: /0/{}' \
-n 'syscall::write:entry /pid==$target/{jstack(1024)}' \
-c 'java -version'
With Java 6, the output is roughly:
java/io/FileOutputStream.writeBytes([BII)V
java/io/FileOutputStream.write([BII)V
java/io/BufferedOutputStream.flushBuffer()V
java/io/BufferedOutputStream.flush()V
java/io/PrintStream.write([BII)V
With Java 7, the output is roughly:
java/io/FileOutputStream.riteBytes
java/io/FileOutputStream.rite
java/io/BufferedOutputStream.lushBuffer
java/io/BufferedOutputStream.lush
java/io/PrintStream.rite
As you can see, the method names are truncated.
As of 2013-02-27, Solaris is not yet built with Java 7. You can contact me (sam.falkner at oracle dot com) if you need access to a machine that reproduces the bug.
- backported by
-
JDK-8020175 [dtrace] signatures returned by Java 7 jstack() are corrupt on Solaris
- Resolved
- relates to
-
JDK-6990754 Use native memory and reference counting to implement SymbolTable
- Closed
-
JDK-8060245 update bsd version of jhelper.d to be in sync with the fix of 8009204 on solaris
- Resolved