jstack -m crashes on Solaris12 x86
The hs_err head is:
#
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGSEGV (0xb) at pc=0xffff80ffb6a2bbb1, pid=14929, tid=2
#
# JRE version: 6.0_121-b09
# Java VM: Java HotSpot(TM) 64-Bit Server VM (20.121-b09 mixed mode solaris-amd64 compressed oops)
# Problematic frame:
# C [libproc.so.1+0x2bbb1] i_Plookup_by_addr+0x181
#
# If you would like to submit a bug report, please visit:
# http://bugreport.java.com/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#
--------------- T H R E A D ---------------
Current thread (0x0000000000422800): JavaThread "main" [_thread_in_native, id=2, stack(0xffff80ffbf0ff000,0xffff80ffbf1ff000)]
siginfo:si_signo=SIGSEGV: si_errno=0, si_code=1 (SEGV_MAPERR), si_addr=0x0000000000000109
Registers:
RAX=0x0000000000000101, RBX=0xffff80ffbf1fd9c0, RCX=0xffff80ffbf1fdb17, RDX=0xffff80ffbf1fdb17
RSP=0xffff80ffbf1fd9a0, RBP=0xffff80ffbf1fda30, RSI=0xffff80ffbe7116e8, RDI=0xffff80ffbf1fdc12
R8 =0x00000000000000f6, R9 =0x0000000000000001, R10=0x0000000000000008, R11=0xffff80ffbf2c0290
R12=0x00000000008af8f0, R13=0xffff80ffbf1fdaf8, R14=0x0000000000000101, R15=0xffff80ffbf1fd9c0
RIP=0xffff80ffb6a2bbb1, RFLAGS=0x0000000000010202
Top of Stack: (sp=0xffff80ffbf1fd9a0)
0xffff80ffbf1fd9a0: ffff80ffbf1fdb17 ffff80ffbe7116e8
0xffff80ffbf1fd9b0: 0000000000000101 000003690000049c
0xffff80ffbf1fd9c0: 0015020200014558 0000000000251f10
0xffff80ffbf1fd9d0: 000000000000001c 0000000000000000
0xffff80ffbf1fd9e0: 001502020000b16e 0000000000251f10
0xffff80ffbf1fd9f0: 000000000000001c 0009400000000000
0xffff80ffbf1fda00: 0000000000003073 0000000000422800
0xffff80ffbf1fda10: ffff80ffbf1fdce0 0000000081323768
0xffff80ffbf1fda20: 0000000000000000 ffff80ffbf451f1a
0xffff80ffbf1fda30: ffff80ffbf1fda60 ffff80ffb6a2bc8c
0xffff80ffbf1fda40: 0000000000000101 0000000000000000
0xffff80ffbf1fda50: ffff80ffbf1fdc40 0000000081323770
0xffff80ffbf1fda60: ffff80ffbf1fdc40 ffff80ffb21c89c6
0xffff80ffbf1fda70: ffff80ffb9e5ec60 0000000000422800
0xffff80ffbf1fda80: ffff80ffbf1fdce0 0000000081323768
0xffff80ffbf1fda90: 0000000000000000 0000000081323770
0xffff80ffbf1fdaa0: 0000000000000101 0000000000000000
0xffff80ffbf1fdab0: 0000000000000000 0000000000000000
0xffff80ffbf1fdac0: 0000000000000000 0000000000000000
0xffff80ffbf1fdad0: 00000000000001e2 ffff80ffbf1fdce0
0xffff80ffbf1fdae0: 00000000004229d0 ffff80ff00020000
0xffff80ffbf1fdaf0: ffff80ffbf1fda00 0015020200014558
0xffff80ffbf1fdb00: 0000000000251f10 000000000000001c
0xffff80ffbf1fdb10: 5fff80ff00000400 6961775f70776c5f
0xffff80ffbf1fdb20: 0000000000000074 0000000000000000
0xffff80ffbf1fdb30: 0000000000000000 0000000000000000
0xffff80ffbf1fdb40: 0000000000000000 0000000000000000
0xffff80ffbf1fdb50: 0000000000000000 0000000000000000
0xffff80ffbf1fdb60: 0000000000000000 0000000000000000
0xffff80ffbf1fdb70: 0000000000000000 0000000000000000
0xffff80ffbf1fdb80: 0000000000000000 0000000000000000
0xffff80ffbf1fdb90: 0000000000000000 0000000000000000
Instructions: (pc=0xffff80ffb6a2bbb1)
0xffff80ffb6a2bb91: 48 8b 43 10 f3 41 0f 7f 45 00 49 89 45 10 48 83
0xffff80ffb6a2bba1: 7d 10 00 74 6c 48 8b 45 10 48 8b 8d 70 ff ff ff
0xffff80ffb6a2bbb1: 48 89 48 08 83 7d 84 00 74 18 49 83 bc 24 80 00
0xffff80ffb6a2bbc1: 00 00 00 74 0d 49 8b 8c 24 88 00 00 00 48 89 08
Register to memory mapping:
RAX=0x0000000000000101 is an unknown value
RBX=0xffff80ffbf1fd9c0 is pointing into the stack for thread: 0x0000000000422800
RCX=0xffff80ffbf1fdb17 is pointing into the stack for thread: 0x0000000000422800
RDX=0xffff80ffbf1fdb17 is pointing into the stack for thread: 0x0000000000422800
RSP=0xffff80ffbf1fd9a0 is pointing into the stack for thread: 0x0000000000422800
RBP=0xffff80ffbf1fda30 is pointing into the stack for thread: 0x0000000000422800
RSI=0xffff80ffbe7116e8 is an unknown value
RDI=0xffff80ffbf1fdc12 is pointing into the stack for thread: 0x0000000000422800
R8 =0x00000000000000f6 is an unknown value
R9 =0x0000000000000001 is an unknown value
R10=0x0000000000000008 is an unknown value
R11=0xffff80ffbf2c0290: _DYNAMIC+0xb9028 in /lib/amd64/libc.so.1 at 0xffff80ffbf200000
R12=0x00000000008af8f0 is an unknown value
R13=0xffff80ffbf1fdaf8 is pointing into the stack for thread: 0x0000000000422800
R14=0x0000000000000101 is an unknown value
R15=0xffff80ffbf1fd9c0 is pointing into the stack for thread: 0x0000000000422800
Stack: [0xffff80ffbf0ff000,0xffff80ffbf1ff000], sp=0xffff80ffbf1fd9a0, free space=1018k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C [libproc.so.1+0x2bbb1] i_Plookup_by_addr+0x181
C [libproc.so.1+0x2bc8c] Plookup_by_addr+0x2c
C [libsaproc.so+0x89c6] Java_sun_jvm_hotspot_debugger_proc_ProcDebuggerLocal_lookupByAddress0+0xd6
j sun.jvm.hotspot.debugger.proc.ProcDebuggerLocal.lookupByAddress0(J)Lsun/jvm/hotspot/debugger/cdbg/ClosestSymbol;+0
j sun.jvm.hotspot.debugger.proc.ProcDebuggerLocal.lookup(J)Lsun/jvm/hotspot/debugger/cdbg/ClosestSymbol;+6
j sun.jvm.hotspot.debugger.proc.ProcCFrame.closestSymbolToPC()Lsun/jvm/hotspot/debugger/cdbg/ClosestSymbol;+17
j sun.jvm.hotspot.tools.PStack.run(Ljava/io/PrintStream;Lsun/jvm/hotspot/debugger/Debugger;Z)V+161
j sun.jvm.hotspot.tools.PStack.run(Ljava/io/PrintStream;)V+18
j sun.jvm.hotspot.tools.PStack.run()V+4
j sun.jvm.hotspot.tools.JStack.run()V+55
j sun.jvm.hotspot.tools.Tool.start([Ljava/lang/String;)V+492
j sun.jvm.hotspot.tools.JStack.main([Ljava/lang/String;)V+117
v ~StubRoutines::call_stub
V [libjvm.so+0x4526f7] JVM_RawMonitorExit+0x7177
V [libjvm.so+0x452448] JVM_RawMonitorExit+0x6ec8
V [libjvm.so+0x45284e] JVM_RawMonitorExit+0x72ce
V [libjvm.so+0xbdfbf8] sysThreadAvailableStackWithSlack+0x46858
V [libjvm.so+0x5265f3] JVM_InvokeMethod+0xf33
V [libjvm.so+0x5259a9] JVM_InvokeMethod+0x2e9
C [libjava.so+0x1f7d2] Java_sun_reflect_NativeMethodAccessorImpl_invoke0+0x12
j sun.reflect.NativeMethodAccessorImpl.invoke0(Ljava/lang/reflect/Method;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+0
j sun.reflect.NativeMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+87
j sun.reflect.DelegatingMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+6
j java.lang.reflect.Method.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+161
j sun.tools.jstack.JStack.runJStackTool(ZZ[Ljava/lang/String;)V+70
j sun.tools.jstack.JStack.main([Ljava/lang/String;)V+193
v ~StubRoutines::call_stub
V [libjvm.so+0x4526f7] JVM_RawMonitorExit+0x7177
V [libjvm.so+0x452448] JVM_RawMonitorExit+0x6ec8
V [libjvm.so+0x45284e] JVM_RawMonitorExit+0x72ce
V [libjvm.so+0x50c8ec] JVM_Open+0x232c
C [jstack+0x3377] JavaMain+0x407
C [libc.so.1+0x24aed4] _thrp_setup+0xa4
C [libc.so.1+0x24b1b0] _lwp_start+0x0
Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j sun.jvm.hotspot.debugger.proc.ProcDebuggerLocal.lookupByAddress0(J)Lsun/jvm/hotspot/debugger/cdbg/ClosestSymbol;+0
j sun.jvm.hotspot.debugger.proc.ProcDebuggerLocal.lookup(J)Lsun/jvm/hotspot/debugger/cdbg/ClosestSymbol;+6
j sun.jvm.hotspot.debugger.proc.ProcCFrame.closestSymbolToPC()Lsun/jvm/hotspot/debugger/cdbg/ClosestSymbol;+17
j sun.jvm.hotspot.tools.PStack.run(Ljava/io/PrintStream;Lsun/jvm/hotspot/debugger/Debugger;Z)V+161
j sun.jvm.hotspot.tools.PStack.run(Ljava/io/PrintStream;)V+18
j sun.jvm.hotspot.tools.PStack.run()V+4
j sun.jvm.hotspot.tools.JStack.run()V+55
j sun.jvm.hotspot.tools.Tool.start([Ljava/lang/String;)V+492
j sun.jvm.hotspot.tools.JStack.main([Ljava/lang/String;)V+117
v ~StubRoutines::call_stub
j sun.reflect.NativeMethodAccessorImpl.invoke0(Ljava/lang/reflect/Method;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+0
j sun.reflect.NativeMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+87
j sun.reflect.DelegatingMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+6
j java.lang.reflect.Method.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+161
j sun.tools.jstack.JStack.runJStackTool(ZZ[Ljava/lang/String;)V+70
j sun.tools.jstack.JStack.main([Ljava/lang/String;)V+193
v ~StubRoutines::call_stub
Issue is reproduced with JDK7 and JDK8 too.