Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-4622663

redefine and pop frame from jdb command crashes JVM.

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: P4
    • Resolution: Fixed
    • Affects Version/s: 1.4.0_01
    • Fix Version/s: 1.4.0_01
    • Component/s: vm-legacy
    • Labels:
    • Subcomponent:
    • Resolved In Build:
      01
    • CPU:
      sparc
    • OS:
      solaris_2.6

      Backports

        Description

        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

          Attachments

            Issue Links

              Activity

                People

                Assignee:
                busersunw Btplusnull User (Inactive)
                Reporter:
                swamyv Swamy Venkataramanappa
                Votes:
                0 Vote for this issue
                Watchers:
                0 Start watching this issue

                  Dates

                  Created:
                  Updated:
                  Resolved:
                  Imported:
                  Indexed: