JDK-6584008 (jvmtiStringPrimitiveCallback should not be invoked when string value is null) in 1.7.0_45
Leitzell, Harry
Harry.Leitzell at grainger.com
Fri Jan 3 13:40:06 PST 2014
I believe I've run into this bug's race condition while using Dynatrace's
JVMTI profiling: https://bugs.openjdk.java.net/browse/JDK-6584008
I don't have time to write a patch right now that I think would be
accepted but I can if desired.
**SNIP**
# SIGSEGV (0xb) at pc=0x00002ad23bcf3d2b, pid=2934, tid=1090189632
#
# JRE version: Java(TM) SE Runtime Environment (7.0_45-b18) (build
1.7.0_45-b18)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (24.45-b08 mixed mode
linux-amd64 compressed oops)
# Problematic frame:
# V [libjvm.so+0x708d2b] invoke_string_value_callback(int (*)(long,
long, long*, unsigned short const*, int, void*), CallbackWrapper*,
oopDesc*, void*)+0x11b
**SNIP**
--------------- T H R E A D ---------------
Current thread (0x00002aaab02d5000): VMThread [stack:
0x0000000040eaf000,0x0000000040fb0000] [id=2966]
siginfo:si_signo=SIGSEGV: si_errno=0, si_code=1 (SEGV_MAPERR),
si_addr=0x000000000000000c
**SNIP**
Register to memory mapping:
RAX=0x000000000000000c is an unknown value
RBX=0x000000062789c4a0 is an oop
java.lang.String
- klass: 'java/lang/String'
RCX=0x0000000000000000 is an unknown value
RDX=0x000000062789c4a0 is an oop
java.lang.String
- klass: 'java/lang/String'
RSP=0x0000000040faecc0 is an unknown value
RBP=0x0000000040faecc0 is an unknown value
RSI=0x00002ad23c418e58: <offset 0xe2de58> in
/local/jdk1.7.0_45/jre/lib/amd64/server/libjvm.so at 0x00002ad23b5eb000
RDI=0x00002ad23c41a550: <offset 0xe2f550> in
/local/jdk1.7.0_45/jre/lib/amd64/server/libjvm.so at 0x00002ad23b5eb000
R8 =0x0000000000000000 is an unknown value
R9 =0x0000000040faecd0 is an unknown value
R10=0x0000000045c63650 is pointing into the stack for thread:
0x00002aae38027000
R11=0x00002aaaab71c9ea: <offset 0x599ea> in
/local/dynatrace/agent/downloads/5.5.0.5562/native/linux-x86-64/libdtagentc
ore.so at 0x00002aaaab6c3000
R12=0x0000000045c63130 is pointing into the stack for thread:
0x00002aae38027000
R13=0x00002ad23c418e58: <offset 0xe2de58> in
/local/jdk1.7.0_45/jre/lib/amd64/server/libjvm.so at 0x00002ad23b5eb000
R14=0x0000000040faecd0 is an unknown value
R15=0x0000000000000000 is an unknown value
Stack: [0x0000000040eaf000,0x0000000040fb0000], sp=0x0000000040faecc0,
free space=1023k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native
code)
V [libjvm.so+0x708d2b] invoke_string_value_callback(int (*)(long, long,
long*, unsigned short const*, int, void*), CallbackWrapper*, oopDesc*,
void*)+0x11b
V [libjvm.so+0x70a9d6]
IterateThroughHeapObjectClosure::do_object(oopDesc*)+0x476
V [libjvm.so+0x8c8dca] ContiguousSpace::object_iterate_from(WaterMark,
ObjectClosure*)+0x7a
V [libjvm.so+0x5628bb]
GenCollectedHeap::object_iterate(ObjectClosure*)+0x3b
V [libjvm.so+0x70b8e3] VM_HeapIterateOperation::doit()+0x43
V [libjvm.so+0x99b955] VM_Operation::evaluate()+0x55
V [libjvm.so+0x999d8a] VMThread::evaluate_operation(VM_Operation*)+0xba
V [libjvm.so+0x99a10e] VMThread::loop()+0x1ce
V [libjvm.so+0x99a580] VMThread::run()+0x70
V [libjvm.so+0x815288] java_start(Thread*)+0x108
VM_Operation (0x0000000045c63170): HeapIterateOperation, mode: safepoint,
requested by thread 0x00002aae38027000
Cheers,
Harry
Harry Leitzell | Principal Performance Engineer, eCommerce | W.W.
Grainger, Inc.
500 W Madison St, Suite 3300 | Chicago, IL 60661-4512 | +1 (312) 802-7400
More information about the hotspot-dev
mailing list