Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-2050650 | 1.4.1 | Btplusnull User | P4 | Closed | Fixed | hopper |
After redefining a class, if top frame is poped the JVM core dumps.
stack trace:
dbx >where
> current thread: t@1
> [1] __sigprocmask(0x0, 0xffbecf10, 0x0, 0x0, 0x0, 0x0), at 0xff379bf0
> [2] _resetsig(0xff37c510, 0x0, 0x0, 0x28180, 0xff38e000, 0x0), at 0xff36e620
> [3] _sigon(0x28180, 0xff395990, 0x6, 0xffbecfe4, 0x28180, 0xffbed028), at
> 0xff36dd10
> [4] _thrp_kill(0x0, 0x1, 0x6, 0xff38e000, 0x1, 0xff33a428), at 0xff370e84
> [5] raise(0x6, 0x0, 0x0, 0xffffffff, 0xff33a394, 0xffbed140), at 0xff2c9b08
> [6] abort(0xff336000, 0xffbed140, 0x0, 0xfffffff8, 0x4, 0xffbed161), at
> 0xff2b5124
> =>[7] os::abort(dump_core = 1), line 1081 in "os_solaris.cpp"
> [8] report_error(is_vm_internal_error = 1, file_name = 0xfe312945
> "/home/swamyv/ws/4489212ws/src/share/vm/oops/methodOop.cpp", line_no = 717,
> title = 0xfe285f69 "assertion failure", format = 0xfe285f7b "assert(%s, "%s")",
> ...), line 338 in "debug.cpp"
> [9] report_assertion_failure(code_str = 0xfe31293b "index<len", file_name =
> 0xfe312945 "/home/swamyv/ws/4489212ws/src/share/vm/oops/methodOop.cpp", line_no
> = 717, message = 0xfe31297f "should have found method"), line 140 in "debug.cpp"
> [10] methodOopDesc::jni_id(this = 0xf5919430), line 717 in "methodOop.cpp"
> [11] JvmdiThreadState::compare_and_set_current_location(this = 0x3df30,
> new_method = 0xf5919430, new_location = 0xf5919489 "\xb6", event = 1), line 1848
> in "jvmdi.cpp"
> [12] jvmdi::at_single_stepping_point(thread = 0x3d340, method = 0xf5919430,
> location = 0xf5919489 "\xb6"), line 3577 in "jvmdi.cpp"
> [13] InterpreterRuntime::at_safepoint(thread = 0x3d340), line 943 in
> "interpreterRuntime.cpp"
> [14] 0xf9c0c778(0xf1846388, 0xb6, 0x21, 0xf9c2851c, 0xf59185e0, 0xffbeddc0),
> at 0xf9c0c777
> [15] 0xf9c06570(0xf183f9a8, 0xb6, 0x25, 0xf9c2851c, 0xf59185e0, 0xffbede48),
> at 0xf9c0656f
> [16] 0xf9c06680(0xf183f998, 0x3d340, 0x8, 0xf9c2851c, 0xffbee1c8, 0xffbeded0),
> at 0xf9c0667f
> [17] 0xf9c00528(0xffbedfbc, 0xffbee2b0, 0xa, 0xf5918e80, 0xf9c0d7ac,
> 0xffbee1a8), at 0xf9c00527
> [18] JavaCalls::call_helper(result = 0xffbee2a8, m = 0xffbee168, args =
> 0xffbee19c, __the_thread__ = 0x3d340), line 360 in "javaCalls.cpp"
> [19] os::os_exception_wrapper(f = 0xfddc8730 =
> &JavaCalls::call_helper(JavaValue*,methodHandle*,JavaCallArguments*,Thread*),
> value = 0xffbee2a8, method = 0xffbee168, args = 0xffbee19c, thread = 0x3d340),
> line 2006 in "os_solaris.cpp"
> [20] JavaCalls::call(result = 0xffbee2a8, method = CLASS, args = 0xffbee19c,
> __the_thread__ = 0x3d340), line 297 in "javaCalls.cpp"
> [21] jni_invoke_static(env = 0x3d3e8, result = 0xffbee2a8, receiver = (nil),
> call_type = JNI_STATIC, methodID = 0x193280, args = 0xffbee28c, __the_thread__ =
> 0x3d340), line 685 in "jni.cpp"
> [22] jni_CallStaticVoidMethod(env = 0x3d3e8, cls = 0x3e080, methodID =
> 0x193280, ...), line 1072 in "jni.cpp"
> [23] main(argc = 0, argv =
To reproduce this write a simple java code which does this foo calls bar.
Then in jdi redefine the foo when it is executing in bar and do the pop
frame. Then debuggee jvm core dumps.
###@###.### 2002-01-23
To reproduce this problem run this script:
/net/jano.sfbay/export/disk20/serviceability/ws/regressionTestsInWaiting/RedefinePop.sh
-Swamy
stack trace:
dbx >where
> current thread: t@1
> [1] __sigprocmask(0x0, 0xffbecf10, 0x0, 0x0, 0x0, 0x0), at 0xff379bf0
> [2] _resetsig(0xff37c510, 0x0, 0x0, 0x28180, 0xff38e000, 0x0), at 0xff36e620
> [3] _sigon(0x28180, 0xff395990, 0x6, 0xffbecfe4, 0x28180, 0xffbed028), at
> 0xff36dd10
> [4] _thrp_kill(0x0, 0x1, 0x6, 0xff38e000, 0x1, 0xff33a428), at 0xff370e84
> [5] raise(0x6, 0x0, 0x0, 0xffffffff, 0xff33a394, 0xffbed140), at 0xff2c9b08
> [6] abort(0xff336000, 0xffbed140, 0x0, 0xfffffff8, 0x4, 0xffbed161), at
> 0xff2b5124
> =>[7] os::abort(dump_core = 1), line 1081 in "os_solaris.cpp"
> [8] report_error(is_vm_internal_error = 1, file_name = 0xfe312945
> "/home/swamyv/ws/4489212ws/src/share/vm/oops/methodOop.cpp", line_no = 717,
> title = 0xfe285f69 "assertion failure", format = 0xfe285f7b "assert(%s, "%s")",
> ...), line 338 in "debug.cpp"
> [9] report_assertion_failure(code_str = 0xfe31293b "index<len", file_name =
> 0xfe312945 "/home/swamyv/ws/4489212ws/src/share/vm/oops/methodOop.cpp", line_no
> = 717, message = 0xfe31297f "should have found method"), line 140 in "debug.cpp"
> [10] methodOopDesc::jni_id(this = 0xf5919430), line 717 in "methodOop.cpp"
> [11] JvmdiThreadState::compare_and_set_current_location(this = 0x3df30,
> new_method = 0xf5919430, new_location = 0xf5919489 "\xb6", event = 1), line 1848
> in "jvmdi.cpp"
> [12] jvmdi::at_single_stepping_point(thread = 0x3d340, method = 0xf5919430,
> location = 0xf5919489 "\xb6"), line 3577 in "jvmdi.cpp"
> [13] InterpreterRuntime::at_safepoint(thread = 0x3d340), line 943 in
> "interpreterRuntime.cpp"
> [14] 0xf9c0c778(0xf1846388, 0xb6, 0x21, 0xf9c2851c, 0xf59185e0, 0xffbeddc0),
> at 0xf9c0c777
> [15] 0xf9c06570(0xf183f9a8, 0xb6, 0x25, 0xf9c2851c, 0xf59185e0, 0xffbede48),
> at 0xf9c0656f
> [16] 0xf9c06680(0xf183f998, 0x3d340, 0x8, 0xf9c2851c, 0xffbee1c8, 0xffbeded0),
> at 0xf9c0667f
> [17] 0xf9c00528(0xffbedfbc, 0xffbee2b0, 0xa, 0xf5918e80, 0xf9c0d7ac,
> 0xffbee1a8), at 0xf9c00527
> [18] JavaCalls::call_helper(result = 0xffbee2a8, m = 0xffbee168, args =
> 0xffbee19c, __the_thread__ = 0x3d340), line 360 in "javaCalls.cpp"
> [19] os::os_exception_wrapper(f = 0xfddc8730 =
> &JavaCalls::call_helper(JavaValue*,methodHandle*,JavaCallArguments*,Thread*),
> value = 0xffbee2a8, method = 0xffbee168, args = 0xffbee19c, thread = 0x3d340),
> line 2006 in "os_solaris.cpp"
> [20] JavaCalls::call(result = 0xffbee2a8, method = CLASS, args = 0xffbee19c,
> __the_thread__ = 0x3d340), line 297 in "javaCalls.cpp"
> [21] jni_invoke_static(env = 0x3d3e8, result = 0xffbee2a8, receiver = (nil),
> call_type = JNI_STATIC, methodID = 0x193280, args = 0xffbee28c, __the_thread__ =
> 0x3d340), line 685 in "jni.cpp"
> [22] jni_CallStaticVoidMethod(env = 0x3d3e8, cls = 0x3e080, methodID =
> 0x193280, ...), line 1072 in "jni.cpp"
> [23] main(argc = 0, argv =
To reproduce this write a simple java code which does this foo calls bar.
Then in jdi redefine the foo when it is executing in bar and do the pop
frame. Then debuggee jvm core dumps.
###@###.### 2002-01-23
To reproduce this problem run this script:
/net/jano.sfbay/export/disk20/serviceability/ws/regressionTestsInWaiting/RedefinePop.sh
-Swamy
- backported by
-
JDK-2050650 redefine and pop frame from jdb command crashes JVM.
-
- Closed
-