On 32-bit x86 and Linux we are seeing UnmappedAddressException on jhsdb jstack --mixed:
$ cat Foo.java
public class Foo{
public static void main(String[] arg){
System.out.println("Hello");
try {
while(true)
Thread.sleep(1000*60);
}catch(InterruptedException ex){
}
System.out.println("Bye");
}
}
$ ./build/linux-x86-normal-server-release/images/jdk/bin/java Foo &
$ ./build/linux-x86-normal-server-release/images/jdk/bin/jps
26872 Jps
26733 Foo
$ ./build/linux-x86-normal-server-release/images/jdk/bin/jhsdb jstack --pid 26733 --mixed
Attaching to process ID 26733, please wait...
Debugger attached successfully.
Server compiler detected.
JVM version is 11-internal+0-adhoc.root.openjdk
Deadlock Detection:
No deadlocks found.
----------------- 26734 -----------------
"main" #1 prio=5 tid=0xf620ac00 nid=0x686e waiting on condition [0xf63a8000]
java.lang.Thread.State: TIMED_WAITING (sleeping)
JavaThread state: _thread_blocked
0xf7768430 ????????
----------------- 26735 -----------------
0xf7768430 ????????
sun.jvm.hotspot.debugger.UnmappedAddressException: f0
at jdk.hotspot.agent/sun.jvm.hotspot.debugger.PageCache.checkPage(PageCache.java:208)
at jdk.hotspot.agent/sun.jvm.hotspot.debugger.PageCache.getData(PageCache.java:63)
at jdk.hotspot.agent/sun.jvm.hotspot.debugger.DebuggerBase.readBytes(DebuggerBase.java:225)
at jdk.hotspot.agent/sun.jvm.hotspot.debugger.linux.LinuxDebuggerLocal.readCInteger(LinuxDebuggerLocal.java:494)
at jdk.hotspot.agent/sun.jvm.hotspot.debugger.DebuggerBase.readAddressValue(DebuggerBase.java:462)
at jdk.hotspot.agent/sun.jvm.hotspot.debugger.linux.LinuxDebuggerLocal.readAddress(LinuxDebuggerLocal.java:429)
at jdk.hotspot.agent/sun.jvm.hotspot.debugger.linux.LinuxAddress.getAddressAt(LinuxAddress.java:74)
at jdk.hotspot.agent/sun.jvm.hotspot.debugger.linux.x86.LinuxX86CFrame.sender(LinuxX86CFrame.java:69)
at jdk.hotspot.agent/sun.jvm.hotspot.tools.PStack.run(PStack.java:165)
at jdk.hotspot.agent/sun.jvm.hotspot.tools.PStack.run(PStack.java:58)
at jdk.hotspot.agent/sun.jvm.hotspot.tools.PStack.run(PStack.java:53)
at jdk.hotspot.agent/sun.jvm.hotspot.tools.JStack.run(JStack.java:67)
at jdk.hotspot.agent/sun.jvm.hotspot.tools.Tool.startInternal(Tool.java:260)
at jdk.hotspot.agent/sun.jvm.hotspot.tools.Tool.start(Tool.java:223)
at jdk.hotspot.agent/sun.jvm.hotspot.tools.Tool.execute(Tool.java:118)
at jdk.hotspot.agent/sun.jvm.hotspot.tools.JStack.runWithArgs(JStack.java:90)
at jdk.hotspot.agent/sun.jvm.hotspot.SALauncher.runJSTACK(SALauncher.java:259)
at jdk.hotspot.agent/sun.jvm.hotspot.SALauncher.main(SALauncher.java:450)
----------------- 26736 -----------------
0xf7768430 ????????
----------------- 26737 -----------------
0xf7768430 ????????
sun.jvm.hotspot.debugger.UnmappedAddressException: f0
at jdk.hotspot.agent/sun.jvm.hotspot.debugger.PageCache.checkPage(PageCache.java:208)
at jdk.hotspot.agent/sun.jvm.hotspot.debugger.PageCache.getData(PageCache.java:63)
at jdk.hotspot.agent/sun.jvm.hotspot.debugger.DebuggerBase.readBytes(DebuggerBase.java:225)
at jdk.hotspot.agent/sun.jvm.hotspot.debugger.linux.LinuxDebuggerLocal.readCInteger(LinuxDebuggerLocal.java:494)
at jdk.hotspot.agent/sun.jvm.hotspot.debugger.DebuggerBase.readAddressValue(DebuggerBase.java:462)
at jdk.hotspot.agent/sun.jvm.hotspot.debugger.linux.LinuxDebuggerLocal.readAddress(LinuxDebuggerLocal.java:429)
at jdk.hotspot.agent/sun.jvm.hotspot.debugger.linux.LinuxAddress.getAddressAt(LinuxAddress.java:74)
at jdk.hotspot.agent/sun.jvm.hotspot.debugger.linux.x86.LinuxX86CFrame.sender(LinuxX86CFrame.java:69)
at jdk.hotspot.agent/sun.jvm.hotspot.tools.PStack.run(PStack.java:165)
at jdk.hotspot.agent/sun.jvm.hotspot.tools.PStack.run(PStack.java:58)
at jdk.hotspot.agent/sun.jvm.hotspot.tools.PStack.run(PStack.java:53)
at jdk.hotspot.agent/sun.jvm.hotspot.tools.JStack.run(JStack.java:67)
at jdk.hotspot.agent/sun.jvm.hotspot.tools.Tool.startInternal(Tool.java:260)
at jdk.hotspot.agent/sun.jvm.hotspot.tools.Tool.start(Tool.java:223)
at jdk.hotspot.agent/sun.jvm.hotspot.tools.Tool.execute(Tool.java:118)
at jdk.hotspot.agent/sun.jvm.hotspot.tools.JStack.runWithArgs(JStack.java:90)
at jdk.hotspot.agent/sun.jvm.hotspot.SALauncher.runJSTACK(SALauncher.java:259)
at jdk.hotspot.agent/sun.jvm.hotspot.SALauncher.main(SALauncher.java:450)
----------------- 26738 -----------------
0xf7768430 ????????
----------------- 26739 -----------------
0xf7768430 ????????
----------------- 26740 -----------------
0xf7768430 ????????
----------------- 26741 -----------------
"Reference Handler" #2 daemon prio=10 tid=0xa392f000 nid=0x6875 waiting on condition [0xa457c000]
java.lang.Thread.State: RUNNABLE
JavaThread state: _thread_blocked
0xf7768430 ????????
----------------- 26742 -----------------
"Finalizer" #3 daemon prio=8 tid=0xa3932000 nid=0x6876 in Object.wait() [0xa437c000]
java.lang.Thread.State: WAITING (on object monitor)
JavaThread state: _thread_blocked
0xf7768430 ????????
----------------- 26743 -----------------
"Signal Dispatcher" #4 daemon prio=9 tid=0xa393a800 nid=0x6877 runnable [0x00000000]
java.lang.Thread.State: RUNNABLE
JavaThread state: _thread_blocked
0xf7768430 ????????
sun.jvm.hotspot.debugger.UnmappedAddressException: f0
at jdk.hotspot.agent/sun.jvm.hotspot.debugger.PageCache.checkPage(PageCache.java:208)
at jdk.hotspot.agent/sun.jvm.hotspot.debugger.PageCache.getData(PageCache.java:63)
at jdk.hotspot.agent/sun.jvm.hotspot.debugger.DebuggerBase.readBytes(DebuggerBase.java:225)
at jdk.hotspot.agent/sun.jvm.hotspot.debugger.linux.LinuxDebuggerLocal.readCInteger(LinuxDebuggerLocal.java:494)
at jdk.hotspot.agent/sun.jvm.hotspot.debugger.DebuggerBase.readAddressValue(DebuggerBase.java:462)
at jdk.hotspot.agent/sun.jvm.hotspot.debugger.linux.LinuxDebuggerLocal.readAddress(LinuxDebuggerLocal.java:429)
at jdk.hotspot.agent/sun.jvm.hotspot.debugger.linux.LinuxAddress.getAddressAt(LinuxAddress.java:74)
at jdk.hotspot.agent/sun.jvm.hotspot.debugger.linux.x86.LinuxX86CFrame.sender(LinuxX86CFrame.java:69)
at jdk.hotspot.agent/sun.jvm.hotspot.tools.PStack.run(PStack.java:165)
at jdk.hotspot.agent/sun.jvm.hotspot.tools.PStack.run(PStack.java:58)
at jdk.hotspot.agent/sun.jvm.hotspot.tools.PStack.run(PStack.java:53)
at jdk.hotspot.agent/sun.jvm.hotspot.tools.JStack.run(JStack.java:67)
at jdk.hotspot.agent/sun.jvm.hotspot.tools.Tool.startInternal(Tool.java:260)
at jdk.hotspot.agent/sun.jvm.hotspot.tools.Tool.start(Tool.java:223)
at jdk.hotspot.agent/sun.jvm.hotspot.tools.Tool.execute(Tool.java:118)
at jdk.hotspot.agent/sun.jvm.hotspot.tools.JStack.runWithArgs(JStack.java:90)
at jdk.hotspot.agent/sun.jvm.hotspot.SALauncher.runJSTACK(SALauncher.java:259)
at jdk.hotspot.agent/sun.jvm.hotspot.SALauncher.main(SALauncher.java:450)
----------------- 26744 -----------------
"C2 CompilerThread0" #5 daemon prio=9 tid=0xa393c000 nid=0x6878 waiting on condition [0x00000000]
java.lang.Thread.State: RUNNABLE
JavaThread state: _thread_blocked
0xf7768430 ????????
----------------- 26745 -----------------
"C1 CompilerThread0" #7 daemon prio=9 tid=0xa393e800 nid=0x6879 waiting on condition [0x00000000]
java.lang.Thread.State: RUNNABLE
JavaThread state: _thread_blocked
0xf7768430 ????????
----------------- 26746 -----------------
"Sweeper thread" #8 daemon prio=9 tid=0xa3940000 nid=0x687a runnable [0x00000000]
java.lang.Thread.State: RUNNABLE
JavaThread state: _thread_blocked
0xf7768430 ????????
----------------- 26747 -----------------
"Service Thread" #9 daemon prio=9 tid=0xa398bc00 nid=0x687b runnable [0x00000000]
java.lang.Thread.State: RUNNABLE
JavaThread state: _thread_blocked
0xf7768430 ????????
----------------- 26748 -----------------
0xf7768430 ????????
----------------- 26749 -----------------
"Common-Cleaner" #10 daemon prio=8 tid=0xa3993000 nid=0x687d in Object.wait() [0xa33aa000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
JavaThread state: _thread_blocked
0xf7768430 ????????
----------------- 26733 -----------------
0xf7768430 ????????