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

jvmti/RedefineClasses/StressRedefine failed: assert(!is_null(v)) failed: narrow klass value can never be zero

    XMLWordPrintable

Details

    • b27
    • x86_64
    • windows
    • Verified

    Backports

      Description

        The following test failed in the JDK19 CI:

        vmTestbase/nsk/jvmti/RedefineClasses/StressRedefine/TestDescription.java

        Here's a snippet from the log file:

        Got expected exception: java.lang.reflect.InvocationTargetException
        Got expected exception: java.lang.reflect.InvocationTargetException
        Got expected exception: java.lang.reflect.InvocationTargetException
        # To suppress the following error report, specify this argument
        # after -XX: or in .hotspotrc: SuppressErrorAt=\\oops/compressedOops.inline.hpp:133
        #
        # A fatal error has been detected by the Java Runtime Environment:
        #
        # Internal Error (c:\\sb\\prod\\1659451653\\workspace\\open\\src\\hotspot\\share\\oops/compressedOops.inline.hpp:133), pid=32764, tid=35388
        # assert(!is_null(v)) failed: narrow klass value can never be zero
        #
        # JRE version: Java(TM) SE Runtime Environment (19.0+34) (fastdebug build 19-ea+34-2227)
        # Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 19-ea+34-2227, mixed mode, sharing, tiered, compressed oops, compressed class ptrs, parallel gc, windows-amd64)
        # Core dump will be written. Default location: C:\\sb\\prod\\1659511560\\testoutput\\test-support\\jtreg_open_test_hotspot_jtreg_vmTestbase_nsk_jvmti_quick\\scratch\\3\\hs_err_pid32764.mdmp
        #
        # An error report file with more information is saved as:
        # C:\\sb\\prod\\1659511560\\testoutput\\test-support\\jtreg_open_test_hotspot_jtreg_vmTestbase_nsk_jvmti_quick\\scratch\\3\\hs_err_pid32764.log
        #
        # If you would like to submit a bug report, please visit:
        # https://bugreport.java.com/bugreport/crash.jsp
        #
        ee the JVMTI spec.
        >>>>>>>> Invoke RedefineClasses():
        new class byte count=2353
        <<<<<<<< RedefineClasses() is successfully done
        >>>>>>>> Invoke RedefineClasses():
        new class byte count=2353
        <<<<<<<< RedefineClasses() is successfully done
        >>>>>>>> Invoke RedefineClasses():
        new class byte count=2353
        c:\\sb\\prod\\1659451653\\workspace\\open\\test\\hotspot\\jtreg\\vmTestbase\\nsk\\jvmti\\RedefineClasses\\StressRedefine\\stressRedefine.cpp: Failed to call RedefineClasses():
        the function returned error 62: JVMTI_ERROR_FAILS_VERIFICATION
        For more info about this error see the JVMTI spec.
        >>>>>>>> Invoke RedefineClasses():
        new class byte count=2353
        c:\\sb\\prod\\1659451653\\workspace\\open\\test\\hotspot\\jtreg\\vmTestbase\\nsk\\jvmti\\RedefineClasses\\StressRedefine\\stressRedefine.cpp: Failed to call RedefineClasses():
        the function returned error 60: JVMTI_ERROR_INVALID_CLASS_FORMAT
        For more info about this error see the JVMTI spec.
        >>>>>>>> Invoke RedefineClasses():
        new class byte count=2353
        <<<<<<<< RedefineClasses() is successfully done
        >>>>>>>> Invoke RedefineClasses():
        new class byte count=2353
        c:\\sb\\prod\\1659451653\\workspace\\open\\test\\hotspot\\jtreg\\vmTestbase\\nsk\\jvmti\\RedefineClasses\\StressRedefine\\stressRedefine.cpp: Failed to call RedefineClasses():
        the function returned error 67: JVMTI_ERROR_UNSUPPORTED_REDEFINITION_METHOD_DELETED
        For more info about this error see the JVMTI spec.
        >>>>>>>> Invoke RedefineClasses():
        new class byte count=2353
        <<<<<<<< RedefineClasses() is successfully done
        >>>>>>>> Invoke RedefineClasses():
        new class byte count=2353
        c:\\sb\\prod\\1659451653\\workspace\\open\\test\\hotspot\\jtreg\\vmTestbase\\nsk\\jvmti\\RedefineClasses\\StressRedefine\\stressRedefine.cpp: Failed to call RedefineClasses():
        the function returned error 60: JVMTI_ERROR_INVALID_CLASS_FORMAT
        For more info about this error see the JVMTI spec.
        >>>>>>>> Invoke RedefineClasses():
        new class byte count=2353
        <<<<<<<< RedefineClasses() is successfully done
        c:\\sb\\prod\\1659451653\\workspace\\open\\test\\hotspot\\jtreg\\vmTestbase\\nsk\\jvmti\\RedefineClasses\\StressRedefine\\stressRedefine.cpp: Failed to call RedefineClasses():
        the function returned error 62: JVMTI_ERROR_FAILS_VERIFICATION
        For more info about this error see the JVMTI spec.
        >>>>>>>> Invoke RedefineClasses():
        new class byte count=2353
        c:\\sb\\prod\\1659451653\\workspace\\open\\test\\hotspot\\jtreg\\vmTestbase\\nsk\\jvmti\\RedefineClasses\\StressRedefine\\stressRedefine.cpp: Failed to call RedefineClasses():
        the function returned error 62: JVMTI_ERROR_FAILS_VERIFICATION
        For more info about this error see the JVMTI spec.
        >>>>>>>> Invoke RedefineClasses():
        new class byte count=2353
        c:\\sb\\prod\\1659451653\\workspace\\open\\test\\hotspot\\jtreg\\vmTestbase\\nsk\\jvmti\\RedefineClasses\\StressRedefine\\stressRedefine.cpp: Failed to call RedefineClasses():
        the function returned error 62: JVMTI_ERROR_FAILS_VERIFICATION
        For more info about this error see the JVMTI spec.
        >>>>>>>> Invoke RedefineClasses():
        new class byte count=2353
        ----------System.err:(11/3643)*----------


        Here's the crashing thread's stack:

        --------------- T H R E A D ---------------

        Current thread (0x000001bff51b5c00): VMThread "VM Thread" [stack: 0x0000003db8000000,0x0000003db8100000] [id=35388]

        Stack: [0x0000003db8000000,0x0000003db8100000]
        Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
        V [jvm.dll+0xc853f1] os::platform_print_native_stack+0xf1 (os_windows_x86.cpp:235)
        V [jvm.dll+0xee78eb] VMError::report+0x10eb (vmError.cpp:835)
        V [jvm.dll+0xee942e] VMError::report_and_die+0x7fe (vmError.cpp:1687)
        V [jvm.dll+0xee9bb4] VMError::report_and_die+0x64 (vmError.cpp:1468)
        V [jvm.dll+0x5a72a7] report_vm_error+0xb7 (debug.cpp:283)
        V [jvm.dll+0x22af2] oopDesc::klass+0x52 (oop.inline.hpp:86)
        V [jvm.dll+0x812c16] java_lang_Class::set_klass+0x76 (javaClasses.cpp:1508)
        V [jvm.dll+0x7c5faf] InstanceKlass::deallocate_contents+0x6f (instanceKlass.cpp:583)
        V [jvm.dll+0x5022f1] ClassLoaderData::free_deallocate_list+0x381 (classLoaderData.cpp:866)
        V [jvm.dll+0x505d6d] ClassLoaderDataGraph::clean_deallocate_lists+0x7d (classLoaderDataGraph.cpp:164)
        V [jvm.dll+0xa5232d] VM_RedefineClasses::doit+0x1ed (jvmtiRedefineClasses.cpp:298)
        V [jvm.dll+0xef0927] VM_Operation::evaluate+0xc7 (vmOperations.cpp:71)
        V [jvm.dll+0xef2575] VMThread::evaluate_operation+0xb5 (vmThread.cpp:283)
        V [jvm.dll+0xef2d26] VMThread::inner_execute+0x256 (vmThread.cpp:432)
        V [jvm.dll+0xef30a4] VMThread::run+0x154 (vmThread.cpp:175)
        V [jvm.dll+0xe59e0c] Thread::call_run+0x1ac (thread.cpp:366)
        V [jvm.dll+0xc83c99] thread_native_entry+0xb9 (os_windows.cpp:545)
        C [ucrtbase.dll+0x1fb80]
        C [KERNEL32.DLL+0x84d4]
        C [ntdll.dll+0x51791]

        VM_Operation (0x0000003dbb7feff0): RedefineClasses, mode: safepoint, requested by thread 0x000001bffbbee7c0, redefining class MyClass

        There's a much older unresolved bug that mentions the same assert:

        JDK-8203350 Crash in vmTestbase/nsk/jvmti/scenarios/hotswap/HS201/hs201t002/TestDescription.java

        Attachments

          Issue Links

            Activity

              People

                coleenp Coleen Phillimore
                dcubed Daniel Daugherty
                Votes:
                0 Vote for this issue
                Watchers:
                12 Start watching this issue

                Dates

                  Created:
                  Updated:
                  Resolved: