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

profiler "prof" crashes VM with assert(i < len, "oopmap not found")

    XMLWordPrintable

    Details

    • Subcomponent:
    • CPU:
      generic
    • OS:
      generic

      Description



      Name: egR10015 Date: 08/08/2001



      HotSpot 1.4.0-beta_refresh-b74 fails to pass the following test

      nsk/jdi/ArrayReference/setValues_l/setvaluesl001

      from testbase_nsk on all platforms in profiling mode with
      standard profiler "prof". The VM intermittently crashes, usually
      one time in 8-10 executions of the test. The debug VM crashes
      on every execution with the following assertions:

      assert(i < len, "oopmap not found")
      Error ID: /export/home3/jdk/jdk1.4/ws/hotspot/src/share/vm/compiler/oopMap.cpp, 335 [Patched]

      or

      assert(!precise || at(i)->offset() == pc_offset, "oopmap not found")
      Error happened during: deoptimize
      Error ID: /export/home3/jdk/jdk1.4/ws/hotspot/src/share/vm/compiler/oopMap.cpp, 336 [ Patched ]

      The crash happens only if standard profiler "prof" is enabled by
      java option "-prof".

      The test mentioned above checks the setValues(List) method of
      ArrayReference interface of com.sun.jdi package. It consists of
      a debugger part (the file setvaluesl001.java) and a debuggee part
      (the file setvaluesl001a.java).

      To reproduce the bug run with HS1.4

      ksh doit.sh $JAVA_HOME
      or
      ksh doit_g.sh $DEBUG_JAVA_HOME

      in
      /net/sqesvr.eng/export/vsn/GammaBase/Bugs/<this bug number>

      where JAVA_HOME should point to jdk1.4

      and wait until the VM crash.

      ------------------ output on SolSparc with HS 1.4.0-b74: --------------------
      $ ksh doit.sh ~/hotspot/jdk1.4/solsparc
      Compiling support classes...
      Compiling test classes...
      java version "1.4.0-beta_refresh"
      Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.0-beta_refresh-b74)
      Java HotSpot(TM) Client VM (build 1.4.0-beta_refresh-b74, mixed mode)

      ----------------------------------
      Executing the test (attempt #1)...
      [skipped]
      exit code = 95
      ----------------------------------
      Executing the test (attempt #2)...
      HPROF ERROR: thread local table NULL in method exit 9eefc
      HPROF ERROR: thread local table NULL in method exit 9eefc
      HPROF ERROR: thread local table NULL in method exit 9f8ac
      HPROF ERROR : stack underflow in method exit
      HPROF ERROR : stack underflow in method exit
      binder> Listening for a pipe connection to port: 7000
      binder> VirtualMachineManager: version 1.4
      binder> FindingConnector: default
      binder> LaunchingConnector:
      binder> name: com.sun.jdi.CommandLineLaunch
      binder> description: Launches target using Sun Java VM command line and attaches to it
      binder> transport: dt_socket
      binder> Connector arguments:
      binder> home=/export/ld54/java/dest/jdk1.4.0beta-b74/solsparc/jre
      binder> vmexec=java
      binder> options= -classpath ".:share/classes:/home/eug/hotspot/jdk1.4/solsparc/lib/tools.jar"
      binder> main=nsk.jdi.ArrayReference.setValues_l.setvaluesl001a -verbose "-verbose" "-waittime=1"
      binder> quote="
      binder> suspend=true
      binder> Launch debugee
      binder> Waiting for pipe connection
      debugee.stderr> debugee.pipe> Making pipe connection to socket: localhost:7000
      debugee.stderr> DEBUGEE> debugee started.
      debuger> debugee's "ready" signal recieved.
      debuger> Total fields in debugee read: 22 total fields in debuger: 14

      debuger> Got sample fields for primitive types.
      debuger> boolean is nsk.jdi.ArrayReference.setValues_l.ClassToCheck.z1S
      debuger> byte is nsk.jdi.ArrayReference.setValues_l.ClassToCheck.b1S
      debuger> char is nsk.jdi.ArrayReference.setValues_l.ClassToCheck.c1S
      debuger> double is nsk.jdi.ArrayReference.setValues_l.ClassToCheck.d1S
      debuger> float is nsk.jdi.ArrayReference.setValues_l.ClassToCheck.f1S
      debuger> int is nsk.jdi.ArrayReference.setValues_l.ClassToCheck.i1S
      debuger> long is nsk.jdi.ArrayReference.setValues_l.ClassToCheck.l1S
      debuger> short is nsk.jdi.ArrayReference.setValues_l.ClassToCheck.r1S

      debuger> Got sample array references for primitive types.
      debuger> boolean is instance of boolean[2] (id=106)
      debuger> byte is instance of byte[5] (id=107)
      debuger> char is instance of char[4] (id=108)
      debuger> double is instance of double[9] (id=109)
      debuger> float is instance of float[9] (id=110)
      debuger> int is instance of int[6] (id=111)
      debuger> long is instance of long[5] (id=112)
      debuger> short is instance of short[5] (id=113)

      debuger> Got list of values for primitive types.
      debuger> boolean is [true, false]
      debuger> byte is [-128, -1, 0, 1, 127]

      Unexpected Signal : 11 occurred at PC=0xFE59C8A4
      Function=JVM_IsInterrupted+0xC30
      Library=/export/ld54/java/dest/jdk1.4.0beta-b74/solsparc/jre/lib/sparc/client/libjvm.so


      Dynamic libraries:
      0x10000 /home/eug/hotspot/jdk1.4/solsparc/bin/java
      0xff360000 /usr/lib/libthread.so.1
      0xff3a0000 /usr/lib/libdl.so.1
      0xff280000 /usr/lib/libc.so.1
      0xff270000 /usr/platform/SUNW,Ultra-60/lib/libc_psr.so.1
      0xfe400000 /export/ld54/java/dest/jdk1.4.0beta-b74/solsparc/jre/lib/sparc/client/libjvm.so
      0xff210000 /usr/lib/libCrun.so.1
      0xff1f0000 /usr/lib/libsocket.so.1
      0xff100000 /usr/lib/libnsl.so.1
      0xff0d0000 /usr/lib/libm.so.1
      0xff240000 /usr/lib/libw.so.1
      0xff0b0000 /usr/lib/libmp.so.2
      0xff080000 /export/ld54/java/dest/jdk1.4.0beta-b74/solsparc/jre/lib/sparc/native_threads/libhpi.so
      0xff050000 /export/ld54/java/dest/jdk1.4.0beta-b74/solsparc/jre/lib/sparc/libverify.so
      0xff020000 /export/ld54/java/dest/jdk1.4.0beta-b74/solsparc/jre/lib/sparc/libjava.so
      0xfe7e0000 /export/ld54/java/dest/jdk1.4.0beta-b74/solsparc/jre/lib/sparc/libzip.so
      0xfe200000 /export/ld54/java/dest/jdk1.4.0beta-b74/solsparc/jre/lib/sparc/libhprof.so
      0xfe180000 /export/ld54/java/dest/jdk1.4.0beta-b74/solsparc/jre/lib/sparc/libnet.so
      0xfe160000 /usr/lib/nss_nisplus.so.1
      0xfc960000 /usr/lib/libdoor.so.1
      0xfc940000 /export/ld54/java/dest/jdk1.4.0beta-b74/solsparc/jre/lib/sparc/libnio.so
      0xfc920000 /usr/lib/libposix4.so.1
      0xfc860000 /usr/lib/libaio.so.1

      Local Time = Wed Aug 8 15:28:05 2001
      Elapsed Time = 11
      #
      # HotSpot Virtual Machine Error : 11
      # Error ID : 4F530E43505002D7 01
      # Please report this error at
      # http://java.sun.com/cgi-bin/bugreport.cgi
      #
      # Java VM: Java HotSpot(TM) Client VM (1.4.0-beta_refresh-b74 mixed mode)
      #
      # An error report file has been saved as hs_err_pid6814.log.
      # Please refer to the file for further information.
      #
      doit.sh[46]: 6814 Abort
      exit code = 134
      -----------------------------------------------------------------------------

      ---------------- output on SolSparc with debug HS 1.4.0-b74:-----------------
      $ ksh doit_g.sh ~/hotspot/jdk1.4/solsparc
      Compiling support classes...
      Note: share/Status.java uses or overrides a deprecated API.
      Note: Recompile with -deprecation for details.
      Compiling test classes...
      Note: setvaluesl001.java uses or overrides a deprecated API.
      Note: Recompile with -deprecation for details.
      java version "1.4.0-beta_refresh"
      Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.0-beta_refresh-b74)
      Java HotSpot(TM) Client VM (build 1.4.0-beta_refresh-b74-debug, mixed mode)

      ----------------------------------
      Executing the test (attempt #1)...
      HPROF ERROR: thread local table NULL in method exit c7690
      HPROF ERROR: thread local table NULL in method exit c7690
      HPROF ERROR: thread local table NULL in method exit c8388
      HPROF ERROR : stack underflow in method exit
      HPROF ERROR : stack underflow in method exit
      binder> Listening for a pipe connection to port: 7000
      binder> VirtualMachineManager: version 1.4
      binder> FindingConnector: default
      binder> LaunchingConnector:
      binder> name: com.sun.jdi.CommandLineLaunch
      binder> description: Launches target using Sun Java VM command line and attaches to it
      binder> transport: dt_socket
      binder> Connector arguments:
      binder> home=/export/ld54/java/dest/jdk1.4.0beta-b74/solsparc/jre
      binder> vmexec=java
      binder> options= -classpath ".:share/classes:/home/eug/hotspot/jdk1.4/solsparc/lib/tools.jar"
      binder> main=nsk.jdi.ArrayReference.setValues_l.setvaluesl001a -verbose "-verbose" "-waittime=1"
      binder> quote="
      binder> suspend=true
      binder> Launch debugee
      debugee.stderr> debugee.pipe> Making pipe connection to socket: localhost:7000
      debugee.stderr> DEBUGEE> debugee started.
      binder> Waiting for pipe connection
      debuger> debugee's "ready" signal recieved.
      debuger> Total fields in debugee read: 22 total fields in debuger: 14

      debuger> Got sample fields for primitive types.
      debuger> boolean is nsk.jdi.ArrayReference.setValues_l.ClassToCheck.z1S
      #
      # HotSpot Virtual Machine Error, assertion failure
      # Please report this error at
      # http://java.sun.com/cgi-bin/bugreport.cgi
      #
      # Java VM: Java HotSpot(TM) Client VM (1.4.0-beta_refresh-b74-debug mixed mode)
      #
      # assert(!precise || at(i)->offset() == pc_offset, "oopmap not found")
      #
      # Error ID: /export/home3/jdk/jdk1.4/ws/hotspot/src/share/vm/compiler/oopMap.cpp, 336 [ Patched ]
      #
      # Problematic Thread: prio=5 tid=0xc59c0 nid=0x4 runnable
      #
      Dumping core....
      doit_g.sh[46]: 6857 Abort
      exit code = 134
      -----------------------------------------------------------------------------

      ======================================================================

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              dmcox David Cox
              Reporter:
              eugsunw Eug Eug (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:
                Imported:
                Indexed: