RFR(XS) [aarch64] hs_err logs do not print register mappings

White, Derek Derek.White at cavium.com
Tue Dec 13 17:27:55 UTC 2016


Please review this simple change to have the hs_err logs print register mappings on aarch64 as they are on other platforms. See end of message for example.

BUG: https://bugs.openjdk.java.net/browse/JDK-8171129

WEBREV: http://cr.openjdk.java.net/~drwhite/8171129/webrev.01/

Tested by crashing the JVM (thanks Unsafe!)

Thanks,


-        Derek White

Old Output (example):
Register to memory mapping:

R0=0x00000000ffffffff
.
. (etc)
.
R30=0x0000400007cd7514

New output (example):
Register to memory mapping:

R0 =0x0000000000000000 is an unknown value
R1 =0x0000000101d08388 is an oop
sun.misc.Unsafe
{0x0000000101d08388} - klass: 'sun/misc/Unsafe'
- ---- fields (total size 2 words):
R2 =0x000000000000000d is an unknown value
R3 =0x0000ffffa801aaa0 is an unknown value
R4 =0x0000ffffb0552074: <offset 0x0000000001692074> in /mnt/diskc/dwhite/new-memcpy-ws/build/linux-aa
rch64-normal-server-fastdebug/images/jdk/lib/aarch64/server/libjvm.so at 0x0000ffffaeec0000
R5 =0x0000ffffb048a000: <offset 0x00000000015ca000> in /mnt/diskc/dwhite/new-memcpy-ws/build/linux-aa
rch64-normal-server-fastdebug/images/jdk/lib/aarch64/server/libjvm.so at 0x0000ffffaeec0000
R6 =0x0000000000000004 is an unknown value
R7 =0x0000ffffa801aaa0 is an unknown value
R8 =0x0000ffff9875e480 is at entry_point+64 in (nmethod*)0x0000ffff9875e290
R9 =0xffffffffffff0000 is an unknown value
R10=0x0000ffffa80184a8 is an unknown value
R11=0x0000000000000000 is an unknown value
R12={method} {0x0000fffcf18455e0} 'getByte' '(J)B' in 'sun/misc/Unsafe'
R13=0x0000ffffb04913ca: <offset 0x00000000015d13ca> in /mnt/diskc/dwhite/new-memcpy-ws/build/linux-aa
rch64-normal-server-fastdebug/images/jdk/lib/aarch64/server/libjvm.so at 0x0000ffffaeec0000
R14=0x0000000000000001 is an unknown value
R15=0x0000ffffaee0d8e8 is pointing into the stack for thread: 0x0000ffffa801a800
R16=0xfefefefefefefefe is an unknown value
R17=0x0000000101d07cd0 is an oop
java.lang.Class
{0x0000000101d07cd0} - klass: 'java/lang/Class'
- ---- fields (total size 14 words):
- private volatile transient strict 'cachedConstructor' 'Ljava/lang/reflect/Constructor;' @12  NULL
(0 0)
- private volatile transient strict 'newInstanceCallerCache' 'Ljava/lang/Class;' @16  NULL (0 203a0f
aa)
- private transient 'name' 'Ljava/lang/String;' @20  "segvtest.SEGVTest"{0x0000000101d07d50} (203a0f
aa 203936bd)
- private transient 'module' 'Ljava/lang/reflect/Module;' @24  a 'java/lang/reflect/Module'{0x000000
0101c9b5e8} (203936bd 0)
- private final 'classLoader' 'Ljava/lang/ClassLoader;' @28  NULL (0 0)
- private 'packageName' 'Ljava/lang/String;' @32  NULL (0 0)
- private final strict 'componentType' 'Ljava/lang/Class;' @36  NULL (0 203a0fdc)
- private volatile transient strict 'reflectionData' 'Ljava/lang/ref/SoftReference;' @40  a 'java/la
ng/ref/SoftReference'{0x0000000101d07ee0} (203a0fdc 0)
- private volatile transient 'genericInfo' 'Lsun/reflect/generics/repository/ClassRepository;' @44
NULL (0 0)
- private volatile transient strict 'enumConstants' '[Ljava/lang/Object;' @48  NULL (0 0)
- private volatile transient strict 'enumConstantDirectory' 'Ljava/util/Map;' @52  NULL (0 0)
- private volatile transient 'annotationData' 'Ljava/lang/Class$AnnotationData;' @56  NULL (0 0)
- private volatile transient 'annotationType' 'Lsun/reflect/annotation/AnnotationType;' @60  NULL (0
0)
- transient 'classValueMap' 'Ljava/lang/ClassValue$ClassValueMap;' @64  NULL (0 0)
- private volatile transient 'classRedefinedCount' 'I' @96  0
- signature: Lsegvtest/SEGVTest;
- fake entry for mirror: 'segvtest/SEGVTest'
- fake entry for array: NULL
- fake entry for oop_size: 14
- fake entry for static_oop_field_count: 0
R18=0x0000ffffb050d50c: <offset 0x000000000164d50c> in /mnt/diskc/dwhite/new-memcpy-ws/build/linux-aa
rch64-normal-server-fastdebug/images/jdk/lib/aarch64/server/libjvm.so at 0x0000ffffaeec0000
R19=0x00000000000000b8 is an unknown value
R20=0x0000ffffaee0e328 is pointing into the stack for thread: 0x0000ffffa801a800
R21=0x0000ffffb055ef90: <offset 0x000000000169ef90> in /mnt/diskc/dwhite/new-memcpy-ws/build/linux-aa
rch64-normal-server-fastdebug/images/jdk/lib/aarch64/server/libjvm.so at 0x0000ffffaeec0000
R22=0x0000fffcf1840471 is pointing into metadata
R23=0x0000ffffaee0e520 is pointing into the stack for thread: 0x0000ffffa801a800
R24=0x0000ffffaee0e390 is pointing into the stack for thread: 0x0000ffffa801a800
R25=0x0000ffff9792a6ec is at begin+0 in a stub
StubRoutines::call_stub [0x0000ffff9792a6ec, 0x0000ffff9792a920[ (564 bytes)
R26=0x0000fffcf1842160 is pointing into metadata
R27=0x0000000000000000 is an unknown value
R28=0x0000ffffa801a800 is a thread
R29=0x0000ffffaee0e380 is pointing into the stack for thread: 0x0000ffffa801a800
R30=0x0000ffff98757764 is at entry_point+100 in (nmethod*)0x0000ffff98757510



More information about the hotspot-runtime-dev mailing list