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

assert(ctrl == kit.control()) failed: Control flow was added although the intrinsic bailed out

    XMLWordPrintable

Details

    • b14
    • x86_64, aarch64
    • linux, os_x

    Backports

      Description

        The following test failed in my jdk-20+10 stress testing run:

        jdk/javadoc/doclet/testConstantValuesPage/TestConstantValuesPage.java

        Here's a snippet from the log file:

        #section:main
        ----------messages:(6/250)----------
        command: main TestConstantValuesPage
        reason: User specified action: run main TestConstantValuesPage
        Mode: agentvm
        Agent id: 17
        Additional exports to unnamed modules from @modules: jdk.javadoc/jdk.javadoc.internal.tool
        elapsed time (seconds): 36.539
        ----------configuration:(19/2222)----------

        <snip>

        ----------stdout:(21/1429)----------
        # To suppress the following error report, specify this argument
        # after -XX: or in .hotspotrc: SuppressErrorAt=/library_call.cpp:136
        #
        # A fatal error has been detected by the Java Runtime Environment:
        #
        # Internal Error (/System/Volumes/Data/work/shared/bug_hunt/thread_SMR_stress/jdk20_exp.git/open/src/hotspot/share/opto/library_call.cpp:136), pid=37690, tid=23555
        # assert(ctrl == kit.control()) failed: Control flow was added although the intrinsic bailed out
        #
        # JRE version: Java(TM) SE Runtime Environment (20.0) (slowdebug build 20-internal-2022-08-11-1509175.dcubed...)
        # Java VM: Java HotSpot(TM) 64-Bit Server VM (slowdebug 20-internal-2022-08-11-1509175.dcubed..., mixed mode, tiered, compressed oops, compressed class ptrs, g1 gc, bsd-aarch64)
        # Core dump will be written. Default location: /cores/core.37690
        #
        # An error report file with more information is saved as:
        # /System/Volumes/Data/work/shared/bug_hunt/thread_SMR_stress/jdk20_exp.git/build/macosx-aarch64-normal-server-slowdebug/test-support/jtreg_open_test_langtools_tier1/scratch/1/hs_err_pid37690.log
        #
        # Compiler replay data is saved as:
        # /System/Volumes/Data/work/shared/bug_hunt/thread_SMR_stress/jdk20_exp.git/build/macosx-aarch64-normal-server-slowdebug/test-support/jtreg_open_test_langtools_tier1/scratch/1/replay_pid37690.log
        #
        # If you would like to submit a bug report, please visit:
        # https://bugreport.java.com/bugreport/crash.jsp
        #
        result: Error. Agent communication error: java.io.EOFException; check console log for any additional details


        Here's the crashing thread's stack:

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

        Current thread (0x0000000131825c10): JavaThread "C2 CompilerThread0" daemon [_thread_in_native, id=23555, stack(0x0000000171178000,0x000000017137b000)]


        Current CompileTask:
        C2:1083529 13421 4 com.sun.tools.javac.code.ClassFinder::fillIn (160 bytes)
                
        Stack: [0x0000000171178000,0x000000017137b000], sp=0x000000017135ad20, free space=1931k
        Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
        V [libjvm.dylib+0x10b719c] VMError::report_and_die(int, char const*, char const*, char*, Thread*, unsigned char*, void*, void*, char const*, int, unsigned long)+0x868
        V [libjvm.dylib+0x10b77cc] VMError::report_and_die(Thread*, void*, char const*, int, char const*, char const*, char*)+0x68
        V [libjvm.dylib+0x5ea188] report_vm_error(char const*, int, char const*, char const*, ...)+0x88
        V [libjvm.dylib+0xc0fc6c] LibraryIntrinsic::generate(JVMState*)+0x314
        V [libjvm.dylib+0x6d909c] Parse::do_call()+0x8f0
        V [libjvm.dylib+0xe2c254] Parse::do_one_bytecode()+0x3bd8
        V [libjvm.dylib+0xe1c868] Parse::do_one_block()+0x4f8
        V [libjvm.dylib+0xe1b544] Parse::do_all_blocks()+0x3a4
        V [libjvm.dylib+0xe18904] Parse::Parse(JVMState*, ciMethod*, float)+0xd04
        V [libjvm.dylib+0xe1be48] Parse::Parse(JVMState*, ciMethod*, float)+0x38
        V [libjvm.dylib+0x449320] ParseGenerator::generate(JVMState*)+0xe0
        V [libjvm.dylib+0x6d909c] Parse::do_call()+0x8f0
        V [libjvm.dylib+0xe2c254] Parse::do_one_bytecode()+0x3bd8
        V [libjvm.dylib+0xe1c868] Parse::do_one_block()+0x4f8
        V [libjvm.dylib+0xe1b544] Parse::do_all_blocks()+0x3a4
        V [libjvm.dylib+0xe18904] Parse::Parse(JVMState*, ciMethod*, float)+0xd04
        V [libjvm.dylib+0xe1be48] Parse::Parse(JVMState*, ciMethod*, float)+0x38
        V [libjvm.dylib+0x449320] ParseGenerator::generate(JVMState*)+0xe0
        V [libjvm.dylib+0x44d040] PredictedCallGenerator::generate(JVMState*)+0x38c
        V [libjvm.dylib+0x44d040] PredictedCallGenerator::generate(JVMState*)+0x38c
        V [libjvm.dylib+0x6d909c] Parse::do_call()+0x8f0
        V [libjvm.dylib+0xe2c254] Parse::do_one_bytecode()+0x3bd8
        V [libjvm.dylib+0xe1c868] Parse::do_one_block()+0x4f8
        V [libjvm.dylib+0xe1b544] Parse::do_all_blocks()+0x3a4
        V [libjvm.dylib+0xe18904] Parse::Parse(JVMState*, ciMethod*, float)+0xd04
        V [libjvm.dylib+0xe1be48] Parse::Parse(JVMState*, ciMethod*, float)+0x38
        V [libjvm.dylib+0x449320] ParseGenerator::generate(JVMState*)+0xe0
        V [libjvm.dylib+0x6d909c] Parse::do_call()+0x8f0
        V [libjvm.dylib+0xe2c254] Parse::do_one_bytecode()+0x3bd8
        V [libjvm.dylib+0xe1c868] Parse::do_one_block()+0x4f8
        V [libjvm.dylib+0xe1b544] Parse::do_all_blocks()+0x3a4
        V [libjvm.dylib+0xe18904] Parse::Parse(JVMState*, ciMethod*, float)+0xd04
        V [libjvm.dylib+0xe1be48] Parse::Parse(JVMState*, ciMethod*, float)+0x38
        V [libjvm.dylib+0x449320] ParseGenerator::generate(JVMState*)+0xe0
        V [libjvm.dylib+0x44d040] PredictedCallGenerator::generate(JVMState*)+0x38c
        V [libjvm.dylib+0x6d909c] Parse::do_call()+0x8f0
        V [libjvm.dylib+0xe2c254] Parse::do_one_bytecode()+0x3bd8
        V [libjvm.dylib+0xe1c868] Parse::do_one_block()+0x4f8
        V [libjvm.dylib+0xe1b544] Parse::do_all_blocks()+0x3a4
        V [libjvm.dylib+0xe18904] Parse::Parse(JVMState*, ciMethod*, float)+0xd04
        V [libjvm.dylib+0xe1be48] Parse::Parse(JVMState*, ciMethod*, float)+0x38
        V [libjvm.dylib+0x449320] ParseGenerator::generate(JVMState*)+0xe0
        V [libjvm.dylib+0x44d040] PredictedCallGenerator::generate(JVMState*)+0x38c
        V [libjvm.dylib+0x44d040] PredictedCallGenerator::generate(JVMState*)+0x38c
        V [libjvm.dylib+0x6d909c] Parse::do_call()+0x8f0
        V [libjvm.dylib+0xe2c254] Parse::do_one_bytecode()+0x3bd8
        V [libjvm.dylib+0xe1c868] Parse::do_one_block()+0x4f8
        V [libjvm.dylib+0xe1b544] Parse::do_all_blocks()+0x3a4
        V [libjvm.dylib+0xe18904] Parse::Parse(JVMState*, ciMethod*, float)+0xd04
        V [libjvm.dylib+0xe1be48] Parse::Parse(JVMState*, ciMethod*, float)+0x38
        V [libjvm.dylib+0x449320] ParseGenerator::generate(JVMState*)+0xe0
        V [libjvm.dylib+0x44d040] PredictedCallGenerator::generate(JVMState*)+0x38c
        V [libjvm.dylib+0x6d909c] Parse::do_call()+0x8f0
        V [libjvm.dylib+0xe2c254] Parse::do_one_bytecode()+0x3bd8
        V [libjvm.dylib+0xe1c868] Parse::do_one_block()+0x4f8
        V [libjvm.dylib+0xe1b544] Parse::do_all_blocks()+0x3a4
        V [libjvm.dylib+0xe18904] Parse::Parse(JVMState*, ciMethod*, float)+0xd04
        V [libjvm.dylib+0xe1be48] Parse::Parse(JVMState*, ciMethod*, float)+0x38
        V [libjvm.dylib+0x449320] ParseGenerator::generate(JVMState*)+0xe0
        V [libjvm.dylib+0x44d040] PredictedCallGenerator::generate(JVMState*)+0x38c
        V [libjvm.dylib+0x6d909c] Parse::do_call()+0x8f0
        V [libjvm.dylib+0xe2c254] Parse::do_one_bytecode()+0x3bd8
        V [libjvm.dylib+0xe1c868] Parse::do_one_block()+0x4f8
        V [libjvm.dylib+0xe1b544] Parse::do_all_blocks()+0x3a4
        V [libjvm.dylib+0xe18904] Parse::Parse(JVMState*, ciMethod*, float)+0xd04
        V [libjvm.dylib+0xe1be48] Parse::Parse(JVMState*, ciMethod*, float)+0x38
        V [libjvm.dylib+0x449320] ParseGenerator::generate(JVMState*)+0xe0
        V [libjvm.dylib+0x6d909c] Parse::do_call()+0x8f0
        V [libjvm.dylib+0xe2c254] Parse::do_one_bytecode()+0x3bd8
        V [libjvm.dylib+0xe1c868] Parse::do_one_block()+0x4f8
        V [libjvm.dylib+0xe1b544] Parse::do_all_blocks()+0x3a4
        V [libjvm.dylib+0xe18904] Parse::Parse(JVMState*, ciMethod*, float)+0xd04
        V [libjvm.dylib+0xe1be48] Parse::Parse(JVMState*, ciMethod*, float)+0x38
        V [libjvm.dylib+0x449320] ParseGenerator::generate(JVMState*)+0xe0
        V [libjvm.dylib+0x44d040] PredictedCallGenerator::generate(JVMState*)+0x38c
        V [libjvm.dylib+0x6d909c] Parse::do_call()+0x8f0
        V [libjvm.dylib+0xe2c254] Parse::do_one_bytecode()+0x3bd8
        V [libjvm.dylib+0xe1c868] Parse::do_one_block()+0x4f8
        V [libjvm.dylib+0xe1b544] Parse::do_all_blocks()+0x3a4
        V [libjvm.dylib+0xe18904] Parse::Parse(JVMState*, ciMethod*, float)+0xd04
        V [libjvm.dylib+0xe1be48] Parse::Parse(JVMState*, ciMethod*, float)+0x38
        V [libjvm.dylib+0x449320] ParseGenerator::generate(JVMState*)+0xe0
        V [libjvm.dylib+0x44d040] PredictedCallGenerator::generate(JVMState*)+0x38c
        V [libjvm.dylib+0x44d040] PredictedCallGenerator::generate(JVMState*)+0x38c
        V [libjvm.dylib+0x6d909c] Parse::do_call()+0x8f0
        V [libjvm.dylib+0xe2c254] Parse::do_one_bytecode()+0x3bd8
        V [libjvm.dylib+0xe1c868] Parse::do_one_block()+0x4f8
        V [libjvm.dylib+0xe1b544] Parse::do_all_blocks()+0x3a4
        V [libjvm.dylib+0xe18904] Parse::Parse(JVMState*, ciMethod*, float)+0xd04
        V [libjvm.dylib+0xe1be48] Parse::Parse(JVMState*, ciMethod*, float)+0x38
        V [libjvm.dylib+0x449320] ParseGenerator::generate(JVMState*)+0xe0
        V [libjvm.dylib+0x44d040] PredictedCallGenerator::generate(JVMState*)+0x38c
        V [libjvm.dylib+0x6d909c] Parse::do_call()+0x8f0
        V [libjvm.dylib+0xe2c254] Parse::do_one_bytecode()+0x3bd8
        V [libjvm.dylib+0xe1c868] Parse::do_one_block()+0x4f8
        V [libjvm.dylib+0xe1b544] Parse::do_all_blocks()+0x3a4
        V [libjvm.dylib+0xe18904] Parse::Parse(JVMState*, ciMethod*, float)+0xd04
        V [libjvm.dylib+0xe1be48] Parse::Parse(JVMState*, ciMethod*, float)+0x38
        V [libjvm.dylib+0x449320] ParseGenerator::generate(JVMState*)+0xe0
        V [libjvm.dylib+0x44d040] PredictedCallGenerator::generate(JVMState*)+0x38c
        ...<more frames>...

        Attachments

          Issue Links

            Activity

              People

                dlong Dean Long
                dcubed Daniel Daugherty
                Votes:
                0 Vote for this issue
                Watchers:
                5 Start watching this issue

                Dates

                  Created:
                  Updated:
                  Resolved: