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

one of eight VMs working in parallel crashes

    Details

    • Type: Bug
    • Status: Closed
    • Priority: P2
    • Resolution: Duplicate
    • Affects Version/s: 1.4.0
    • Fix Version/s: None
    • Component/s: hotspot
    • Labels:
    • Subcomponent:
    • CPU:
      sparc
    • OS:
      solaris_2.6

      Description

      When several HotSpot Virtual Machines run the same simple class
      simultaneously, sometimes
      one of that machines terminates abnormally. This failure is shown with
      'Segmentation Fault - core dumped' and return code 139.

      This behavior of HotSpot is shown on a machine with the following
      characteristics:
      |
      |$uname -a
      |SunOS sqeel 5.6 Generic_105181-23 sun4u sparc SUNW,Ultra-Enterprise
      |
      |This is a multiprocessor machine with 8 processor units.
      |
      |$java -version
      |java version "1.4.0-beta"
      |Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.0-beta-b46)
      |Java HotSpot(TM) Client VM (build 1.4beta-B45, mixed mode)
      |
      |concurrency factor (number of VMs working simultaneously): 8
      |average executions before the first failure: 500

      First this bug appeared in JCK build (merlin-beta) with 'dmake' and HotSpot
      (build 1.4.0-beta-b46).
      'dmake' ran with concurrency factor equal to 8. Factor 4 gave no failures.

      To reproduce the failure on 'sqeel' use java program (Test.java) and
      a shell script (stress). To run the test:
      1. copy two files into current directory
      2. execute ./stress 8 1000

      ------------------- Test.java
      class Test {
          public static void main(String argv[]) {
              for (int i = 0; i < argv.length; ++i) {
              }
          }
      }

      ------------------- stress
      #!/bin/sh

      #stess test for Hotspot 1.4-beta46
      #
      #usage:
      # stress <concurrency factor> <number of tries for each concurrent
      process>

      echo "$*"

      CONC=${1:-3}
      TRIES=${2:-5}

      javabin=/java/jck-dev/scratch/jdk1.4betab46/solaris/bin

      echo concurrency $CONC
      echo tries $TRIES
      echo $javabin/java
      $javabin/java -version

      $javabin/javac Test.java || exit 1

      while [ $CONC -gt 0 ]; do
          (
              TRY=$TRIES
              while [ $TRY -gt 0 ]; do
      # echo $CONC-$TRY
                  $javabin/java Test $CONC $TRY || echo error $?
                  TRY=`expr $TRY - 1`
              done
          )&
          CONC=`expr $CONC - 1`
      done

      wait
      echo Done
      -----------------------------------

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                acorn Karen Kinnear (Inactive)
                Reporter:
                reysunw Rey Rey (Inactive)
              • Votes:
                0 Vote for this issue
                Watchers:
                1 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:
                  Imported:
                  Indexed: