-
Notifications
You must be signed in to change notification settings - Fork 330
Closed
Labels
Description
Describe the bug
Not all local variable are displayed in thread dump extracted from a heap dump.
To Reproduce
Take a heap dump from following program:
package javaapplication2;
import java.io.PrintStream;
public class JavaApplication2 {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
print1(System.out);
}
private static void print1(PrintStream out) {
print2(out);
}
private static void print2(PrintStream out) {
print3(out);
}
private static void print3(PrintStream out) {
for (int i = 0; i < 100000; i++) {
out.println("Hello World");
}
}
}
Expected behavior
Currently the thread dump with local variables looks like this:
"main" prio=5 tid=1 RUNNABLE
at java.io.FileOutputStream.writeBytes(Native Method)
at java.io.FileOutputStream.write(FileOutputStream.java:326)
at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82)
at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:140)
local variable: java.io.BufferedOutputStream#1
at java.io.PrintStream.write(PrintStream.java:482)
at sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:221)
local variable: sun.nio.cs.StreamEncoder#1
at sun.nio.cs.StreamEncoder.implFlushBuffer(StreamEncoder.java:291)
at sun.nio.cs.StreamEncoder.flushBuffer(StreamEncoder.java:104)
local variable: java.io.OutputStreamWriter#1
at java.io.OutputStreamWriter.flushBuffer(OutputStreamWriter.java:185)
at java.io.PrintStream.write(PrintStream.java:527)
local variable: java.lang.String#12
at java.io.PrintStream.print(PrintStream.java:669)
at java.io.PrintStream.println(PrintStream.java:806)
at javaapplication2.JavaApplication2.print3(JavaApplication2.java:25)
at javaapplication2.JavaApplication2.print2(JavaApplication2.java:20)
at javaapplication2.JavaApplication2.print1(JavaApplication2.java:16)
local variable: java.io.PrintStream#1
at javaapplication2.JavaApplication2.main(JavaApplication2.java:12)
local variable: java.lang.String[]#1
JavaApplication2.print2() and JavaApplication2.print3() are missing local variable: java.io.PrintStream#1
Reactions are currently unavailable