-
Bug
-
Resolution: Fixed
-
P4
-
hs25
dtrace/hotspot/DynamicProbes/DynamicProbes01 crashes with SIGBUS in generated code on Sparc v9.
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGBUS (0xa) at pc=0xffffffff6027fe8c, pid=28376, tid=2
#
# JRE version: Java(TM) SE Runtime Environment (8.0-b102) (build 1.8.0-ea-b102)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.0-b44 compiled mode solaris-sparc compressed oops)
# Problematic frame:
# J java.util.concurrent.ConcurrentHashMap.transfer([Ljava/util/concurrent/ConcurrentHashMap$Node;[Ljava/util/concurrent/ConcurrentHashMap$Node;)V @ 0xffffffff6027fe8c [0xffffffff6027e0e0+7596]
#
# Core dump written. Default location: /export/local/aurora/sandbox/results/ResultDir/DynamicProbes01/core or core.28376
The generated code in question is
Instructions: (pc=0xffffffff6027fe8c)
0xffffffff6027fe6c: 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00
0xffffffff6027fe7c: 01 00 00 00 94 02 a0 40 90 10 00 02 92 10 00 0a
0xffffffff6027fe8c: d4 73 aa 23 a4 10 00 02 47 76 03 80 01 00 00 00
0xffffffff6027fe9c: 84 10 00 12 11 21 74 97 90 1a 3c 00 01 00 00 00
;; ffffffff6027fe7c 01 00 00 00 nop
;; ffffffff6027fe80 94 02 a0 40 add %o2, 0x40, %o2
;; ffffffff6027fe84 90 10 00 02 mov %g2, %o0
;; ffffffff6027fe88 92 10 00 0a mov %o2, %o1
;; ---------------
;; ffffffff6027fe8c d4 73 aa 23 stx %o2, [ %sp + 0xa23 ]
;; ffffffff6027fe90 a4 10 00 02 mov %g2, %l2
;; ffffffff6027fe94 47 76 03 80 call 0xffffffff7e000c94
;; ffffffff6027fe98 01 00 00 00 nop
;; ffffffff6027fe9c 84 10 00 12 mov %l2, %g2
;; ffffffff6027fea0 11 21 74 97 sethi %hi(0x85d25c00), %o0
;; ffffffff6027fea4 90 1a 3c 00 xor %o0, -1024, %o0
;; ffffffff6027fea8 01 00 00 00 nop
I'm not sure about the alignment requirements on Sparc v9, but as long as %sp is aligned (which it is right now, sp=0xffffffff7b4fbc20), it shouldn't be possible that %sp + 0xa23 is aligned. The question is whether it is the compiler that screwed up, if dtrace messed the code up or something else.
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGBUS (0xa) at pc=0xffffffff6027fe8c, pid=28376, tid=2
#
# JRE version: Java(TM) SE Runtime Environment (8.0-b102) (build 1.8.0-ea-b102)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.0-b44 compiled mode solaris-sparc compressed oops)
# Problematic frame:
# J java.util.concurrent.ConcurrentHashMap.transfer([Ljava/util/concurrent/ConcurrentHashMap$Node;[Ljava/util/concurrent/ConcurrentHashMap$Node;)V @ 0xffffffff6027fe8c [0xffffffff6027e0e0+7596]
#
# Core dump written. Default location: /export/local/aurora/sandbox/results/ResultDir/DynamicProbes01/core or core.28376
The generated code in question is
Instructions: (pc=0xffffffff6027fe8c)
0xffffffff6027fe6c: 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00
0xffffffff6027fe7c: 01 00 00 00 94 02 a0 40 90 10 00 02 92 10 00 0a
0xffffffff6027fe8c: d4 73 aa 23 a4 10 00 02 47 76 03 80 01 00 00 00
0xffffffff6027fe9c: 84 10 00 12 11 21 74 97 90 1a 3c 00 01 00 00 00
;; ffffffff6027fe7c 01 00 00 00 nop
;; ffffffff6027fe80 94 02 a0 40 add %o2, 0x40, %o2
;; ffffffff6027fe84 90 10 00 02 mov %g2, %o0
;; ffffffff6027fe88 92 10 00 0a mov %o2, %o1
;; ---------------
;; ffffffff6027fe8c d4 73 aa 23 stx %o2, [ %sp + 0xa23 ]
;; ffffffff6027fe90 a4 10 00 02 mov %g2, %l2
;; ffffffff6027fe94 47 76 03 80 call 0xffffffff7e000c94
;; ffffffff6027fe98 01 00 00 00 nop
;; ffffffff6027fe9c 84 10 00 12 mov %l2, %g2
;; ffffffff6027fea0 11 21 74 97 sethi %hi(0x85d25c00), %o0
;; ffffffff6027fea4 90 1a 3c 00 xor %o0, -1024, %o0
;; ffffffff6027fea8 01 00 00 00 nop
I'm not sure about the alignment requirements on Sparc v9, but as long as %sp is aligned (which it is right now, sp=0xffffffff7b4fbc20), it shouldn't be possible that %sp + 0xa23 is aligned. The question is whether it is the compiler that screwed up, if dtrace messed the code up or something else.