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

Timeout during error reporting

    XMLWordPrintable

Details

    Description

      Deliberately introducing a SIGSEGV during JIT compilation by the following change and running 'java', causes a timeout during error handling for me (release build on Linux x64, it requires some repetitions until it triggers):

      diff --git a/src/hotspot/share/opto/loopopts.cpp b/src/hotspot/share/opto/loopopts.cpp
      index 22e1a741981..ddbb595d69f 100644
      --- a/src/hotspot/share/opto/loopopts.cpp
      +++ b/src/hotspot/share/opto/loopopts.cpp
      @@ -1500,7 +1500,7 @@ bool PhaseIdealLoop::try_merge_identical_ifs(Node* n) {
           //
       
           // clone pinned nodes thru the resulting regions
      - push_pinned_nodes_thru_region(dom_if, new_true_region);
      + push_pinned_nodes_thru_region(dom_if, NULL);
           push_pinned_nodes_thru_region(dom_if, new_false_region);

      #
      # A fatal error has been detected by the Java Runtime Environment:
      #
      # SIGSEGV (0xb) at pc=0x00007f97f33439f5, pid=946306, tid=946335
      #
      # JRE version: Java(TM) SE Runtime Environment (20.0) (build 20-internal-2022-11-24-1516579.tobias...)
      # Java VM: Java HotSpot(TM) 64-Bit Server VM (20-internal-2022-11-24-1516579.tobias..., mixed mode, tiered, compressed oops, compressed class ptrs, g1 gc, linux-amd64)
      # Problematic frame:
      # V [libjvm.so+0xb629f5] PhaseIdealLoop::push_pinned_nodes_thru_region(IfNode*, Node*)+0x15
      #
      # No core dump will be written. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
      #
      # An error report file with more information is saved as:
      # /oracle/jdk3/hs_err_pid946306.log
      [thread 946319 also had an error]
      [thread 946336 also had an error]
      [thread 946307 also had an error]

      ------ Timeout during error reporting after 120 s. ------
      # [ timer expired, abort... ]
      Aborted



      The same happens when adding a 'guarantee(false, ...)'

      #
      # A fatal error has been detected by the Java Runtime Environment:
      #
      # Internal Error (loopopts.cpp:1502), pid=1014961, tid=1014979
      # guarantee(false) failed: FAIL
      #
      # JRE version: Java(TM) SE Runtime Environment (20.0) (build 20-internal-2022-11-30-0744594.tohartma...)
      # Java VM: Java HotSpot(TM) 64-Bit Server VM (20-internal-2022-11-30-0744594.tohartma..., mixed mode, tiered, compressed oops, compressed class ptrs, g1 gc, linux-amd64)
      # Problematic frame:
      # V [libjvm.so+0xb6336c] PhaseIdealLoop::try_merge_identical_ifs(Node*)+0x22c
      #
      # Core dump will be written. Default location: /scratch/tohartma/jdk/core.1014961
      #
      # An error report file with more information is saved as:
      # /scratch/tohartma/jdk/hs_err_pid1014961.log
      [thread 1014974 also had an error]
      [thread 1014980 also had an error]
      [thread 1014962 also had an error]

      ------ Timeout during error reporting after 120 s. ------
      # [ timer expired, abort... ]
      Aborted (core dumped)

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              thartmann Tobias Hartmann
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

                Created:
                Updated: