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

[lworld][c1] TestLWorld.java fails with -XX:ValueFieldMaxFlatSize=0


    • Type: Bug
    • Status: Resolved
    • Priority: P3
    • Resolution: Duplicate
    • Affects Version/s: repo-valhalla
    • Fix Version/s: repo-valhalla
    • Component/s: hotspot
    • Labels:


      Scenario #4 of TestLWorld.java fails with a heap verification error:

      $ jtreg ....... -vmoptions:-XX:+EnableValhallaC1 -vmoptions:-XX:TieredStopAtLevel=1 -DVerbose=true -DScenarios=4 TestLWorld.java

      # Internal Error (/home/iklam/jdk/valhalla/open/src/hotspot/share/oops/compressedOops.inline.hpp:51), pid=30120, tid=30182
      # assert(check_obj_alignment(result)) failed: address not aligned: 0x0000000000000001
      # JRE version: Java(TM) SE Runtime Environment (13.0) (fastdebug build 13-internal+0-adhoc.iklam.open)
      # Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 13-internal+0-adhoc.iklam.open, mixed mode, tiered, compressed oops, g1 gc, linux-amd64)
      # Problematic frame:
      # V [libjvm.so+0xc68c4a] CompressedOops::decode_not_null(unsigned int)+0x8a

      Native frames: (J=compiled Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, C=native code)
      V [libjvm.so+0xc68c4a] CompressedOops::decode_not_null(unsigned int)+0x8a
      V [libjvm.so+0x11d1d52] void VerifyLiveClosure::verify_liveness<unsigned int>(unsigned int*)+0x62
      V [libjvm.so+0x11d243d] void VerifyLiveClosure::do_oop_work<unsigned int>(unsigned int*)+0x9d
      V [libjvm.so+0x11cfa85] void OopOopIterateDispatch<G1Mux2Closure>::Table::oop_oop_iterate<InstanceKlass, unsigned int>(G1Mux2Closure*, oop, Klass*)+0xd5
      V [libjvm.so+0x11cb666] HeapRegion::verify(VerifyOption, bool*) const+0x2f6
      V [libjvm.so+0x10def64] VerifyRegionClosure::do_heap_region(HeapRegion*)+0xc4
      V [libjvm.so+0x11dc402] HeapRegionManager::par_iterate(HeapRegionClosure*, HeapRegionClaimer*, unsigned int) const+0x72
      V [libjvm.so+0x10dc28d] G1ParVerifyTask::work(unsigned int)+0x6d
      V [libjvm.so+0x1d31440] GangWorker::loop()+0xe0
      V [libjvm.so+0x1bcfa86] Thread::call_run()+0xf6
      V [libjvm.so+0x18b0a2e] thread_native_entry(Thread*)+0x10e

      This failure can be avoided by changing this part of the scenario 4 flags:

      public abstract class ValueTypeTest {
          public String[] getVMParameters(int scenario) {
              switch (scenario) {
              case 4: return new String[] {
           // "-XX:ValueFieldMaxFlatSize=0", // comment out this line to avoid the crash
              case 5: return new String[] {


          Issue Links



              • Assignee:
                iklam Ioi Lam
                iklam Ioi Lam
              • Votes:
                0 Vote for this issue
                1 Start watching this issue


                • Created: