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

JVMDI_EVENT_SINGLE_STEP generation forces VM to throw OutOfMemoryError

XMLWordPrintable

    • hopper
    • generic
    • generic
    • Verified



      Name: egR10015 Date: 08/07/2001



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

      nsk/stress/numeric/numeric001
      nsk/stress/numeric/numeric002
      nsk/stress/numeric/numeric003
      nsk/stress/numeric/numeric004
      nsk/stress/numeric/numeric005
      nsk/stress/numeric/numeric006
      nsk/stress/numeric/numeric007
      nsk/stress/numeric/numeric008
      nsk/stress/numeric/numeric009
      nsk/stress/numeric/numeric010

      from testbase_nsk on all platforms in VM debug mode with
      JVMDI client. The VM throws unexpected exception java.lang.OutOfMemory
      while executing a test. It happens only if single step events
      JVMDI_EVENT_SINGLE_STEP are enabled for a thread by calling
      JVMDI function SetEventNotificationMode(). Enabling other kinds of
      events such as JVMDI_EVENT_EXCEPTION_CATCH,JVMDI_EVENT_METHOD_ENTRY,
      JVMDI_EVENT_METHOD_EXIT does not force the VM to throw OutOfMemory.
      Throwing this exception by the VM prevents a debuggee program
      from normal debugging.

      The tests mentioned above calculate the product A*A for a square
      matrix A of different java types. As example the test numeric001
      was put into GammaBase. Details about numeric algorithm please
      read in the file numeric001.README. The file numeric001.java contains
      the main test program, the file JVMDIagent.c contains a simple
      JVMDI client.

      To reproduce the bug run with HS1.4

      sh doit.sh $JAVA_HOME stress_level

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

      where JAVA_HOME should point to jdk1.4
            stress_level is 2, or 3:
                 2 - enable generation of events JVMDI_EVENT_EXCEPTION_CATCH,
                                                 JVMDI_EVENT_METHOD_ENTRY,
                                                 JVMDI_EVENT_METHOD_EXIT
                 3 - enable generation of events JVMDI_EVENT_SINGLE_STEP,
                                                 JVMDI_EVENT_EXCEPTION_CATCH,
                                                 JVMDI_EVENT_METHOD_ENTRY,
                                                 JVMDI_EVENT_METHOD_EXIT

      and wait until throwing the exception java.lang.OutOfMemory.

      output on Windows 2000 with HS 1.4.0-b74 with JVMDI_EVENT_SINGLE_STEP generation:
      ---------------------------------------------------------------------------------
      $ sh doit.sh h:/hotspot/jdk1.4/win 3
      Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 12.00.8168 for 80x86
      Copyright (C) Microsoft Corp 1984-1998. All rights reserved.

      JVMDIagent.c
      Microsoft (R) Incremental Linker Version 6.00.8447
      Copyright (C) Microsoft Corp 1992-1998. All rights reserved.

      /dll
      /implib:wintel/JVMDIagent.lib
      /out:wintel/JVMDIagent.dll
      JVMDIagent.obj
         Creating library wintel/JVMDIagent.lib and object wintel/JVMDIagent.exp
      Compiling the test ...
      Executing the test ...
      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)
      #### JVMDIagent: turned debug mode on ####
      #### JVMDIagent: turned stress level 3 on ####
      #### JVMDIagent: EventHook was successfully set ####
      #### JVMDIagent: all events was successfully enabled ####
      Exception in thread "Thread-1" java.lang.OutOfMemoryError: requested 152 bytes
      exit code = 1
      ---------------------------------------------------------------------------------

      output on Windows 2000 with HS 1.4.0-b74 w/o JVMDI_EVENT_SINGLE_STEP generation:
      ---------------------------------------------------------------------------------
      $ sh doit.sh h:/hotspot/jdk1.4/win 2
      Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 12.00.8168 for 80x86
      Copyright (C) Microsoft Corp 1984-1998. All rights reserved.

      JVMDIagent.c
      Microsoft (R) Incremental Linker Version 6.00.8447
      Copyright (C) Microsoft Corp 1992-1998. All rights reserved.

      /dll
      /implib:wintel/JVMDIagent.lib
      /out:wintel/JVMDIagent.dll
      JVMDIagent.obj
         Creating library wintel/JVMDIagent.lib and object wintel/JVMDIagent.exp
      Compiling the test ...
      Executing the test ...
      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)
      #### JVMDIagent: turned debug mode on ####
      #### JVMDIagent: turned stress level 2 on ####
      #### JVMDIagent: EventHook was successfully set ####
      #### JVMDIagent: all events was successfully enabled ####
      exit code = 95
      ---------------------------------------------------------------------------------

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

            swamyv Swamy Venkataramanappa
            eugsunw Eug Eug (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: