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

Async UL needs to handle ERANGE on exceeding SEM_VALUE_MAX

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: P3
    • Resolution: Fixed
    • Affects Version/s: 17, 18
    • Fix Version/s: 18
    • Component/s: hotspot
    • Subcomponent:
    • Resolved In Build:
      b07

      Backports

        Description

        This happens on our AIX systems, which have a SEM_VALUE_MAX limit of 32k, during gtest execution. However, this is not a platform-dependent issue - the JVM should gracefully handle this case to be platform-neutral.

        stdout:
        ```
        [ RUN ] LogConfigurationTest.reconfigure_decorators_MT_vm
        # To suppress the following error report, specify this argument
        # after -XX: or in .hotspotrc: SuppressErrorAt=/semaphore_posix.cpp:57
        #
        # A fatal error has been detected by the Java Runtime Environment:
        #
        # Internal Error (/sapmnt/sapjvm_work/openjdk/nb/rs6000_64/jdk17/src/hotspot/os/posix/semaphore_posix.cpp:57), pid=9961906, tid=5398
        # assert(ret == 0) failed: sem_post failed; error='Result too large' (errno=ERANGE)
        #
        # JRE version: OpenJDK Runtime Environment (17.0) (fastdebug build 17-internal+0-adhoc.openjdk.jdk17)
        # Java VM: OpenJDK 64-Bit Server VM (fastdebug 17-internal+0-adhoc.openjdk.jdk17, mixed mode, tiered, compressed oops, compressed class ptrs, g1 gc, aix-ppc64)
        # Core dump will be written. Default location: /priv/jvmtests/output_openjdk17_stage_dbgU_rs6000_64/jtreg_hotspot_work/JTwork/gtest/AsyncLogGtest/core or core.9961906
        #
        # An error report file with more information is saved as:
        # /priv/jvmtests/output_openjdk17_stage_dbgU_rs6000_64/jtreg_hotspot_work/JTwork/gtest/AsyncLogGtest/hs_err_pid9961906.log
        #
        # If you would like to submit a bug report, please visit:
        # https://bugreport.java.com/bugreport/crash.jsp
        #
        assert failed: assert(ret == 0) failed: sem_post failed; error='Result too large' (errno=ERANGE)
        ```

        stack:
        ```
        ------ current frame:
        iar: 0x090000001629fdd4 libjvm.so::_ZN18AixNativeCallstack27print_callstack_for_contextEP12outputStreamPK10ucontext_tbPcm+0x934 (C++ saves_lr stores_bc gpr_saved:18 fixedparms:5 )
        lr: 0x0000000116da1f20 (unknown module)::(unknown function)+?
        sp: 0x0000000116da1c90 (base - 0x1BF8)
        rtoc: 0x08001000a04483e8
        |---stackaddr----| |----lrsave------|: <function name>
        0x0000000116da23e0 - 0x0900000016368600 libjvm.so::_ZN2os27platform_print_native_stackEP12outputStreamPvPci+0x20 (C++ saves_lr stores_bc fixedparms:4 )
        0x0000000116da2450 - 0x090000001627d414 libjvm.so::_ZN7VMError6reportEP12outputStreamb+0x28d4 (C++ saves_cr saves_lr stores_bc gpr_saved:15 fixedparms:2 )
        0x0000000116da2840 - 0x09000000162803c4 libjvm.so::_ZN7VMError14report_and_dieEiPKcS1_PcP6ThreadPhPvS6_S1_im+0x1e4 (C++ saves_cr saves_lr stores_bc gpr_saved:18 fixedparms:8 )
        0x0000000116da2bb0 - 0x0900000016281888 libjvm.so::_ZN7VMError14report_and_dieEP6ThreadPvPKciS4_S4_Pc+0x48 (C++ saves_lr stores_bc fixedparms:7 )
        0x0000000116da2c40 - 0x090000001601341c libjvm.so::_Z15report_vm_errorPKciS0_S0_z+0x17c (C++ saves_lr stores_bc gpr_saved:6 fixedparms:8 parmsonstk:1)
        0x0000000116da2df0 - 0x0900000016289f34 libjvm.so::_ZN14PosixSemaphore6signalEj@AF13_5+0xd4 (C++ saves_lr stores_bc gpr_saved:6 fixedparms:2 )
        0x0000000116da2e90 - 0x0900000017c26a6c libjvm.so::_ZN14AsyncLogWriter14enqueue_lockedERK15AsyncLogMessage+0x2ec (C++ saves_lr stores_bc gpr_saved:5 fixedparms:2 )
        0x0000000116da2f30 - 0x0900000017c26be0 libjvm.so::_ZN14AsyncLogWriter7enqueueER13LogFileOutputRK14LogDecorationsPKc+0xc0 (C++ saves_lr stores_bc gpr_saved:4 fixedparms:4 )
        0x0000000116da3010 - 0x0900000017c2dd1c libjvm.so::_ZN13LogFileOutput5writeERK14LogDecorationsPKc@AF36_20+0x13c (C++ saves_lr stores_bc gpr_saved:3 fixedparms:3 )
        0x0000000116da30a0 - 0x09000000161cdf80 libjvm.so::_ZN9LogTagSet6vwriteEN8LogLevel4typeEPKcPc+0x140 (C++ saves_cr saves_lr stores_bc gpr_saved:10 fixedparms:4 )
        0x0000000116da33a0 - 0x0900000016782a24 libjvm.so::_ZN7LogImplILN6LogTag4typeE70ELS1_0ELS1_0ELS1_0ELS1_0ELS1_0EE5writeILN8LogLevel4typeE2EEEvPKcz+0x44 (C++ saves_lr stores_bc fixedparms:8 parmsonstk:1)
        0x0000000116da3410 - 0x09000000167802d4 libjvm.so::_ZNK17ConcurrentLogsite11runUnitTestEv+0x34 (C++ saves_lr stores_bc fixedparms:1 )
        0x0000000116da3480 - 0x0900000016780214 libjvm.so::_ZN14UnitTestThread8main_runEv+0x74 (C++ saves_lr stores_bc gpr_saved:3 fixedparms:1 )
        0x0000000116da3510 - 0x0900000016345f4c libjvm.so::_ZN14JavaTestThread3runEv+0x2c (C++ saves_lr stores_bc fixedparms:1 )
        0x0000000116da3580 - 0x09000000160a09f8 libjvm.so::_ZN6Thread8call_runEv+0x318 (C++ saves_lr stores_bc gpr_saved:8 fixedparms:1 )
        0x0000000116da36b0 - 0x090000001601fc10 libjvm.so::_ZL19thread_native_entryP6Thread+0x210 (C++ uses_alloca saves_lr stores_bc gpr_saved:12 fixedparms:1 )
        0x0000000116da37a0 - 0x090000000054dfec libpthreads.a::_pthread_body+0xec (C saves_lr stores_bc gpr_saved:1 fixedparms:1 )
        0x0000000116da3820 - 0x0000000000000000
        *** end of backchain ***
        ```

        ---------------------

          Attachments

            Issue Links

              Activity

                People

                Assignee:
                xliu Xin Liu
                Reporter:
                stuefe Thomas Stuefe
                Votes:
                0 Vote for this issue
                Watchers:
                7 Start watching this issue

                  Dates

                  Created:
                  Updated:
                  Resolved: