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

java_g assertion failure: must generate an adapter blob

    XMLWordPrintable

    Details

    • Subcomponent:
    • CPU:
      x86
    • OS:
      windows_nt

      Description



      Name: szC45993 Date: 12/13/99



       /net/sqesvr/vsn/testbase/testbase_nsk/src/nsk/arguments/args00133 test,
      which uses developing options, crashes java_g (java version "1.2.2"
      Java HotSpot(TM) Server VM (2.0rc1, mixed mode, debug build I))
      on WinNT (Pentium II, 350MHz, 128Mb RAM, Windows NT 4.0 Workstation).
      See log and sources below.

      TONGA'S LOG:
      ============
      [#] cd d:/zss/TONGA_WSs/ZSS_workdir/Administrator.NT.x86/args00133
      [#] base_js/src/nsk/arguments/args00133/gammarc.gammarc -verify args00133 <
      VM option 'NmethodSweepFraction=16'
      VM option 'NMethodSweepInterval=1000'
      VM option 'MemProfilingInterval=500'
      VM option 'PostMortemDump=1'
      VM option 'AssertRepeat=1'
      VM option 'HandleAllocationLimit=1024'
      VM option 'TotalHandleAllocationLimit=1024'
      VM option 'StackPrintLimit=100'
      VM option 'MaxElementPrintSize=256'
      VM option 'MaxSubklassPrintSize=4'
      VM option 'MaxInlineLevel=5'
      VM option 'MaxInlineSize=12'
      VM option 'MaxTrivialSize=6'
      VM option 'MaxBackPatches=3'
      VM option 'AlignEntryCode=4'
      VM option 'CodeBufferSize=64*K'
      VM option 'MaxNMethodSize=8*K'
      VM option 'MethodHistogramCutoff=100'
      VM option 'ProfilerNumberOfInterpretedMethods=25'
      VM option 'ProfilerNumberOfCompiledMethods=25'
      VM option 'ProfilerNumberOfStubMethods=25'
      VM option 'ICacheAlignmentMode=0'
      VM option 'ScavengeALotInterval=1'
      VM option 'DontYieldALotInterval=10'
      VM option 'EventLogLength=2000'
      VM option 'ProfilerPCTickThreshold=15'
      VM option 'DeoptimizeALotInterval=5'
      VM option 'MallocVerifyInterval=0'
      VM option 'MallocVerifyStart=0'
      VM option 'CodeCacheSegmentSize=64'
      VM option 'CodeEntryAlignment=32'
      VM option 'InitialCodeCacheSize=9000*K'
      VM option 'ReservedCodeCacheSize=9000*K'
      VM option 'CodeCacheExpansionSize=32'
      VM option 'BinarySwitchThreshold=5'
      VM option 'StopInterpreterAt=0'
      VM option 'TraceBytecodesAt=0'
      VM option 'CompileThreshold=1000'
      VM option 'MaxRecompilationSearchLength=10'
      VM option 'MaxInterpretedSearchLength=3'
      VM option 'RecompilationMonitorIntervalLength=200'
      VM option 'RecompilationMonitorIntervals=5'
      VM option 'CompilationPercentageThresholdHigh=20'
      VM option 'CompilationPercentageThresholdLow=5'
      VM option 'InterpreterOverheadThresholdHigh=15'
      VM option 'InterpreterOverheadThresholdLow=5'
      VM option 'CompileThresholdMin=500'
      VM option 'CompileThresholdMax=50000'
      VM option 'CompileThresholdAdjustFactor=150'
      VM option 'CounterHalfLifeTime=30'
      VM option 'OptoStart=0'
      VM option 'OptoStop=-1'
      VM option 'ThreadStackSize=0'
      #
      # HotSpot Virtual Machine Error, assertion failure
      #
      # assert(osr != 0, "must generate an adapter blob")
      #
      # Error ID: C:/hotspot\src\share\vm\code\onStackReplacement.cpp, 81
      #
      [#] echo $?
      1
      [#]


      SOURCES:
      ========

      //--------------------- args00133.java:
      //args00133.java
      /* This test simply creates a series of circularly
       * linked memeory objects which should be able to be
       * GC'd
       */


      class MemoryObject
      {
          byte array[];
          MemoryObject next;
          MemoryObject previous;

          public MemoryObject(int size)
          {
              array = new byte[size];
          }
      }

      class args00133
      {
          static final int ARRAY_SIZE = 100;
          static final int OBJECT_SIZE = 10;
          static final int LOOP_COUNT = 5;
          static final int CIRCULARITY_SIZE = 3;

          static MemoryObject memoryArray[] = new MemoryObject[ARRAY_SIZE];

          public static void main(String args[])
          {
              for (int j = 0; j < LOOP_COUNT; j++)
              {
                  System.out.println(j + ": " + Runtime.getRuntime().freeMemory());
                  for (int i = 0; i < ARRAY_SIZE; i ++)
                  {
                      memoryArray[i] = new MemoryObject(OBJECT_SIZE);
                      makeCircular(memoryArray[i], CIRCULARITY_SIZE);
                  }
              }

              // if there's any memory left, let's assume it's okay
              System.out.println("Test passed.");

          }

          public static void makeCircular(MemoryObject mObj, int depth)
          {
      MemoryObject tmpObj = mObj;

              for (int i = 0; i < depth; i++)
              {
                  tmpObj.next = new MemoryObject(OBJECT_SIZE);
                  tmpObj= tmpObj.next;
              }
      tmpObj.next = mObj;
          }

          public static void confirmCircular(MemoryObject mObj)
          {
      int count = 0;
      MemoryObject mObj2 = mObj;
      while (mObj2.next != mObj)
      {
      count++;
      mObj2 = mObj2.next;
      }
      System.out.println("Circularity level: " + count);
          }
      }
      //---------------------



      #--------------------- gammarc.gammarc:
      NmethodSweepFraction=16
      NMethodSweepInterval=1000
      MemProfilingInterval=500
      PostMortemDump=1
      AssertRepeat=1
      HandleAllocationLimit=1024
      TotalHandleAllocationLimit=1024
      StackPrintLimit=100
      MaxElementPrintSize=256
      MaxSubklassPrintSize=4
      MaxInlineLevel=5
      MaxInlineSize=12
      MaxTrivialSize=6
      MaxBackPatches=3
      AlignEntryCode=4
      CodeBufferSize=64*K
      MaxNMethodSize=8*K
      MethodHistogramCutoff=100
      ProfilerNumberOfInterpretedMethods=25
      ProfilerNumberOfCompiledMethods=25
      ProfilerNumberOfStubMethods=25
      ICacheAlignmentMode=0
      ScavengeALotInterval=1
      DontYieldALotInterval=10
      EventLogLength=2000
      ProfilerPCTickThreshold=15
      DeoptimizeALotInterval=5
      MallocVerifyInterval=0
      MallocVerifyStart=0
      CodeCacheSegmentSize=64
      CodeEntryAlignment=32
      InitialCodeCacheSize=9000*K
      ReservedCodeCacheSize=9000*K
      CodeCacheExpansionSize=32
      BinarySwitchThreshold=5
      StopInterpreterAt=0
      TraceBytecodesAt=0
      CompileThreshold=1000
      MaxRecompilationSearchLength=10
      MaxInterpretedSearchLength=3
      RecompilationMonitorIntervalLength=200
      RecompilationMonitorIntervals=5
      CompilationPercentageThresholdHigh=20
      CompilationPercentageThresholdLow=5
      InterpreterOverheadThresholdHigh=15
      InterpreterOverheadThresholdLow=5
      CompileThresholdMin=500
      CompileThresholdMax=50000
      CompileThresholdAdjustFactor=150
      CounterHalfLifeTime=30
      OptoStart=0
      OptoStop=-1
      ThreadStackSize=0
      #---------------------


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

        Attachments

          Activity

            People

            Assignee:
            mpalecznsunw Michael Paleczny (Inactive)
            Reporter:
            zsssunw Zss Zss (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: