Last night I got a SEGV running "runthese" in the server
compiler thread (see the <---- line below),
because nm is null from a "code cache is full" condition.
From looking through the SCCS history, I'm guessing that
the change to add DTRACE support introduced the bug.
Hope this enough information to fix this (if you're the
right person to mention this to.) If not, I'll file a bug.
Thanks,
-ross
ciEnv.cpp
void ciEnv::register_method(ciMethod* target,
...
nmethod* nm = NULL;
...
if (nm == NULL) {
// The CodeCache is full. Print out warning and disable compilation.
...
// JVMTI/JVMPI -- compiled method notification (must be done outside lock)
post_compiled_method_load_event(nm);
}
// ------------------------------------------------------------------
// ciEnv::post_compiled_method_load_event
// new method for install_code() path
// Transfer information from compilation to jvmpi
// NOTE: lineno_table must be from long-term storage
void ciEnv::post_compiled_method_load_event(nmethod *nm) {
methodOop method = nm->method(); <---------------------- SEGV here
HS_DTRACE_PROBE8(hotspot, compiled__method__load,
....
}
hs_err log ===================
#
# An unexpected error has been detected by HotSpot Virtual Machine:
#
# SIGSEGV (0xb) at pc=0xfd6fc904, pid=8596, tid=12
#
# Java VM: Java HotSpot(TM) Server VM (1.6.0-internal-debug compiled mode)
# Problematic frame:
# V [libjvm.so+0x2fc904]
#
--------------- T H R E A D ---------------
Current thread (0x001b65c0): JavaThread "CompilerThread0" daemon
[_thread_in_vm, id=12]
siginfo:si_signo=11, si_errno=0, si_code=1, si_addr=0x00000030
Registers:
O0=0xfeaf2e1a O1=0x0002e210 O2=0x00030000 O3=0xfdfceffc
O4=0x00df87e0 O5=0x01722000 O6=0xc327ecf0 O7=0xfd6fc8f8
G1=0xc3800000 G2=0x00000ff3 G3=0x000c7bc0 G4=0xfeee6550
G5=0xfee1e948 G6=0x00000000 G7=0xff351600 Y=0x00000004
PC=0xfd6fc904 nPC=0xfd6fc908
Top of Stack: (sp=0xc327ecf0)
0xc327ecf0: feeca0bc 0002ea24 0002e800 00000001
0xc327ed00: ff31a5f4 0002ddbc 00000000 00000000
0xc327ed10: c327f970 00000000 fef46700 0004fa30
0xc327ed20: feaf2c43 0002b400 c327ed90 fd6fc730
0xc327ed30: 00032e60 00014610 fee1e948 feef6d74
0xc327ed40: c327f74c c327f760 fee1e948 0002a400
0xc327ed50: fe51fc9a 0002a6e8 0002c800 00034200
0xc327ed60: 0000a228 0000a000 c327ed90 fd6fc5ec
Instructions: (pc=0xfd6fc904)
0xfd6fc8f4: 9d e3 bf 60 40 00 00 02 1b 00 5c 88 3b 00 00 ad
0xfd6fc904: f6 06 60 30 9a 03 60 50 b4 07 63 d8 b8 03 40 0f
Stack: [0xc3200000,0xc3280000), sp=0xc327ecf0, free space=507k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code,
C=native code)
V [libjvm.so+0x2fc904]
V [libjvm.so+0x2fc738]
V [libjvm.so+0x411e0c]
V [libjvm.so+0x2ac8f0]
V [libjvm.so+0x4285cc]
V [libjvm.so+0x425a3c]
V [libjvm.so+0xe10b18]
V [libjvm.so+0xc264f4]
Current CompileTask:
opto:118213 b jvs.expresso.func.scalar.static_assign_x.test()V (6307
bytes)
0xfd6fc8f4: post_compiled_method_load_event : save %sp, -160, %sp
0xfd6fc8f8: post_compiled_method_load_event+0x0004: call
post_compiled_method_load_event+0xc ! 0xfd6fc900
0xfd6fc8fc: post_compiled_method_load_event+0x0008: sethi
%hi(0x1722000), %o5
0xfd6fc900: post_compiled_method_load_event+0x000c: sethi
%hi(0x2b400), %i5
0xfd6fc904: post_compiled_method_load_event+0x0010: ld [%i1 + 48],
%i3 <------ SEGV
0xfd6fc908: post_compiled_method_load_event+0x0014: inc 80, %o5
0xfd6fc90c: post_compiled_method_load_event+0x0018: add %i5, 984, %i2
0xfd6fc910: post_compiled_method_load_event+0x001c: add %o5, %o7, %i4
0xfd6fc914: post_compiled_method_load_event+0x0020: st %i3, [%fp - 4]
0xfd6fc918: post_compiled_method_load_event+0x0024: ld [%i4 + %i2], %i
[Exit:jvs.expresso.func.scalar.static_andif_x]
......................................
[Enter:jvs.expresso.func.scalar.static_assign_x]
Java HotSpot(TM) Server VM warning: CodeCache is full. Compiler has been
disabled#
# An unexpected error has been detected by HotSpot Virtual Machine:
#
# SIGSEGV (0xb) at pc=0xfd6fc904, pid=8596, tid=12
#
# Java VM: Java HotSpot(TM) Server VM (1.6.0-internal-debug compiled mode)
# Problematic frame:
# V [libjvm.so+0x2fc904]
#
# An error report file with more information is saved as hs_err_pid8596.log
#
# If you would like to submit a bug report, please visit:
# http://java.sun.com/webapps/bugreport/crash.jsp
#
Current thread is 12
Dumping core ...
Abort
Java HotSpot(TM) Server VM warning: CodeCache is full. Compiler has been
disabled
###@###.### 2005-06-17 21:37:32 GMT
compiler thread (see the <---- line below),
because nm is null from a "code cache is full" condition.
From looking through the SCCS history, I'm guessing that
the change to add DTRACE support introduced the bug.
Hope this enough information to fix this (if you're the
right person to mention this to.) If not, I'll file a bug.
Thanks,
-ross
ciEnv.cpp
void ciEnv::register_method(ciMethod* target,
...
nmethod* nm = NULL;
...
if (nm == NULL) {
// The CodeCache is full. Print out warning and disable compilation.
...
// JVMTI/JVMPI -- compiled method notification (must be done outside lock)
post_compiled_method_load_event(nm);
}
// ------------------------------------------------------------------
// ciEnv::post_compiled_method_load_event
// new method for install_code() path
// Transfer information from compilation to jvmpi
// NOTE: lineno_table must be from long-term storage
void ciEnv::post_compiled_method_load_event(nmethod *nm) {
methodOop method = nm->method(); <---------------------- SEGV here
HS_DTRACE_PROBE8(hotspot, compiled__method__load,
....
}
hs_err log ===================
#
# An unexpected error has been detected by HotSpot Virtual Machine:
#
# SIGSEGV (0xb) at pc=0xfd6fc904, pid=8596, tid=12
#
# Java VM: Java HotSpot(TM) Server VM (1.6.0-internal-debug compiled mode)
# Problematic frame:
# V [libjvm.so+0x2fc904]
#
--------------- T H R E A D ---------------
Current thread (0x001b65c0): JavaThread "CompilerThread0" daemon
[_thread_in_vm, id=12]
siginfo:si_signo=11, si_errno=0, si_code=1, si_addr=0x00000030
Registers:
O0=0xfeaf2e1a O1=0x0002e210 O2=0x00030000 O3=0xfdfceffc
O4=0x00df87e0 O5=0x01722000 O6=0xc327ecf0 O7=0xfd6fc8f8
G1=0xc3800000 G2=0x00000ff3 G3=0x000c7bc0 G4=0xfeee6550
G5=0xfee1e948 G6=0x00000000 G7=0xff351600 Y=0x00000004
PC=0xfd6fc904 nPC=0xfd6fc908
Top of Stack: (sp=0xc327ecf0)
0xc327ecf0: feeca0bc 0002ea24 0002e800 00000001
0xc327ed00: ff31a5f4 0002ddbc 00000000 00000000
0xc327ed10: c327f970 00000000 fef46700 0004fa30
0xc327ed20: feaf2c43 0002b400 c327ed90 fd6fc730
0xc327ed30: 00032e60 00014610 fee1e948 feef6d74
0xc327ed40: c327f74c c327f760 fee1e948 0002a400
0xc327ed50: fe51fc9a 0002a6e8 0002c800 00034200
0xc327ed60: 0000a228 0000a000 c327ed90 fd6fc5ec
Instructions: (pc=0xfd6fc904)
0xfd6fc8f4: 9d e3 bf 60 40 00 00 02 1b 00 5c 88 3b 00 00 ad
0xfd6fc904: f6 06 60 30 9a 03 60 50 b4 07 63 d8 b8 03 40 0f
Stack: [0xc3200000,0xc3280000), sp=0xc327ecf0, free space=507k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code,
C=native code)
V [libjvm.so+0x2fc904]
V [libjvm.so+0x2fc738]
V [libjvm.so+0x411e0c]
V [libjvm.so+0x2ac8f0]
V [libjvm.so+0x4285cc]
V [libjvm.so+0x425a3c]
V [libjvm.so+0xe10b18]
V [libjvm.so+0xc264f4]
Current CompileTask:
opto:118213 b jvs.expresso.func.scalar.static_assign_x.test()V (6307
bytes)
0xfd6fc8f4: post_compiled_method_load_event : save %sp, -160, %sp
0xfd6fc8f8: post_compiled_method_load_event+0x0004: call
post_compiled_method_load_event+0xc ! 0xfd6fc900
0xfd6fc8fc: post_compiled_method_load_event+0x0008: sethi
%hi(0x1722000), %o5
0xfd6fc900: post_compiled_method_load_event+0x000c: sethi
%hi(0x2b400), %i5
0xfd6fc904: post_compiled_method_load_event+0x0010: ld [%i1 + 48],
%i3 <------ SEGV
0xfd6fc908: post_compiled_method_load_event+0x0014: inc 80, %o5
0xfd6fc90c: post_compiled_method_load_event+0x0018: add %i5, 984, %i2
0xfd6fc910: post_compiled_method_load_event+0x001c: add %o5, %o7, %i4
0xfd6fc914: post_compiled_method_load_event+0x0020: st %i3, [%fp - 4]
0xfd6fc918: post_compiled_method_load_event+0x0024: ld [%i4 + %i2], %i
[Exit:jvs.expresso.func.scalar.static_andif_x]
......................................
[Enter:jvs.expresso.func.scalar.static_assign_x]
Java HotSpot(TM) Server VM warning: CodeCache is full. Compiler has been
disabled#
# An unexpected error has been detected by HotSpot Virtual Machine:
#
# SIGSEGV (0xb) at pc=0xfd6fc904, pid=8596, tid=12
#
# Java VM: Java HotSpot(TM) Server VM (1.6.0-internal-debug compiled mode)
# Problematic frame:
# V [libjvm.so+0x2fc904]
#
# An error report file with more information is saved as hs_err_pid8596.log
#
# If you would like to submit a bug report, please visit:
# http://java.sun.com/webapps/bugreport/crash.jsp
#
Current thread is 12
Dumping core ...
Abort
Java HotSpot(TM) Server VM warning: CodeCache is full. Compiler has been
disabled
###@###.### 2005-06-17 21:37:32 GMT
- duplicates
-
JDK-6284830 vtest crashed with fastdebug build after Codecache was full
-
- Closed
-