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

Requesting CLASS_LOAD event causes hotspot VM to crash with Unxpected Signal.

    Details

    • Subcomponent:
    • Resolved In Build:
      hopper
    • CPU:
      generic, x86
    • OS:
      generic, windows_2000
    • Verification:
      Not verified

      Backports

        Description

        Using merlin-prebeta3 (1.4) release build 80 :
        ----------------------------------------------

        When parsing a heap dump, we are often seeing classes and objects for which we have not received CLASS_LOAD/OBJ_ALLOC events. We attempt to request these events. When we request an OBJ_ALLOC event, more often than not the request fails, but the jvm does not crash. When we request a CLASS_LOAD event, an access violation occurs within jvm.dll.

         Unexpected Signal : EXCEPTION_ACCESS_VIOLATION occurred at
         PC=0x6D3836E8
         Function=JVM_FindSignal+0x6DB7
         Library=c:\jdk1.4b79\jdk1.4\jre\bin\client\jvm.dll

        Refer to Incident Manager bug report # 132562 for more details about the outputs generated on windows platform.

        We don't know if it was working before because this is the first time we are
        trying to request CLASS_LOAD events while parsing a heap dump (we're trying
        this to workaround some of the existing problems - Bug 4506239 - Missing class load events for object arrays in heap dump). It would be hard to see if it was working before because the problems we're attempting to workaround didn't exist before, therefore there was no need to request the CLASS_LOAD events while parsing the heap dump. Using my modified hprof (see below) with earlier versions wouldn't do the trick because class is never
        NULL.


        Reproduction Steps :
        --------------------

        In order to reproduce this, modify hprof_heapdump.c source file and Compile hprof again and run it with a simple "Hello World" java program. What I am doing is asking for the CLASS_LOAD event when we don't recognize the array element class (Bug 4506239). I added the following lines to function hprof_process_dump_buffer, under the JVMPI_GC_OBJ_ARRAY_DUMP case:

        if (class == NULL && class_id != 0) {
        CALL(RequestEvent)(JVMPI_EVENT_CLASS_LOAD, class_id);
        }

        Attached is the modify hprof_heapdump.c file.
        rebuild libhprof.so using this modified source file and copy it to jdk1.4/jre/lib/sparc directory.

         prithvi 283 =>./bin/java -Xrunhprof:heap=dump test
        Hello World
        Dumping Java heap ...
        Unexpected Signal : 10 occurred at PC=0xFE69AAA0
        Function=[Unknown. Nearest: JVM_RaiseSignal+0x34E80]
        Library=/home/raghuv/jdk1.4/jre/lib/sparc/client/libjvm.so

        Current Java thread:

        Dynamic libraries:
        0x10000 ./bin/java
        0xff350000 /usr/lib/libthread.so.1
        0xff390000 /usr/lib/libdl.so.1
        0xff200000 /usr/lib/libc.so.1
        0xff330000 /usr/platform/SUNW,Ultra-5_10/lib/libc_psr.so.1
        0xfe400000 /home/raghuv/jdk1.4/jre/lib/sparc/client/libjvm.so
        0xff2d0000 /usr/lib/libCrun.so.1
        0xff1e0000 /usr/lib/libsocket.so.1
        0xff100000 /usr/lib/libnsl.so.1
        0xff0d0000 /usr/lib/libm.so.1
        0xff300000 /usr/lib/libw.so.1
        0xff0b0000 /usr/lib/libmp.so.2
        0xff080000 /home/raghuv/jdk1.4/jre/lib/sparc/native_threads/libhpi.so
        0xff050000 /home/raghuv/jdk1.4/jre/lib/sparc/libverify.so
        0xff020000 /home/raghuv/jdk1.4/jre/lib/sparc/libjava.so
        0xfe3e0000 /home/raghuv/jdk1.4/jre/lib/sparc/libzip.so
        0xfcba0000 /home/raghuv/jdk1.4/jre/lib/sparc/libhprof.so

        Local Time = Thu Sep 27 11:04:19 2001
        Elapsed Time = 3
        #
        # HotSpot Virtual Machine Error : 10
        # Error ID : 4F530E43505002BA 01
        # Please report this error at
        # http://java.sun.com/cgi-bin/bugreport.cgi
        #
        # Java VM: Java HotSpot(TM) Client VM (1.4.0-beta3-b80 mixed mode)
        #
        # An error report file has been saved as hs_err_pid8961.log.
        # Please refer to the file for further information.
        #
        Abort
         prithvi 284 =>

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  mchung Mandy Chung
                  Reporter:
                  rverabel Raghu Verabelli (Inactive)
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  0 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved:
                    Imported:
                    Indexed: