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

[GenShen] Assertion "size must be multiple of card table size"" with TestElasticTLAB

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • P4
    • None
    • None
    • hotspot
    • gc

    Description

      Reported by Martin Doerr:

      gc/shenandoah/TestElasticTLAB.java#generational
      # Internal Error (src/hotspot/share/gc/shenandoah/shenandoahFreeSet.cpp:695), pid=2948314, tid=2948983
      # assert(size % CardTable::card_size_in_words() == 0) failed: size must be multiple of card table size, was 258


      This assertion was seen on linux aarch64 with the following stack snippet:
      V [libjvm.so+0x15795a0] ShenandoahFreeSet::allocate_aligned_plab(unsigned long, ShenandoahAllocRequest&, ShenandoahHeapRegion*)+0x22c (shenandoahFreeSet.cpp:695)
      V [libjvm.so+0x157c748] ShenandoahFreeSet::try_allocate_in(ShenandoahHeapRegion*, ShenandoahAllocRequest&, bool&)+0x3e8 (shenandoahFreeSet.cpp:788)
      V [libjvm.so+0x157dac8] ShenandoahFreeSet::allocate_old_with_affiliation(ShenandoahAffiliation, ShenandoahAllocRequest&, bool&)+0x404 (shenandoahFreeSet.cpp:432)
      V [libjvm.so+0x157f384] ShenandoahFreeSet::allocate_single(ShenandoahAllocRequest&, bool&)+0xaf4 (shenandoahFreeSet.cpp:589)
      V [libjvm.so+0x15b533c] ShenandoahHeap::allocate_memory_under_lock(ShenandoahAllocRequest&, bool&, bool)+0xac (shenandoahHeap.cpp:1440)
      V [libjvm.so+0x15b5940] ShenandoahHeap::allocate_memory(ShenandoahAllocRequest&, bool)+0x50 (shenandoahHeap.cpp:1331)
      V [libjvm.so+0x15b654c] ShenandoahHeap::allocate_from_plab_slow(Thread*, unsigned long, bool)+0x10c (shenandoahHeap.cpp:1281)
      V [libjvm.so+0x372bd4] ShenandoahHeap::try_evacuate_object(oop, Thread*, ShenandoahHeapRegion*, ShenandoahAffiliation)+0x1614 (shenandoahHeap.inline.hpp:306)
      V [libjvm.so+0x373c08] ShenandoahHeap::evacuate_object(oop, Thread*)+0x7a8 (shenandoahHeap.inline.hpp:346)
      V [libjvm.so+0x1687dcc] void ShenandoahEvacuateUpdateRootClosureBase<true, false>::do_oop_work<oop>(oop*)+0xcac (shenandoahClosures.inline.hpp:156)
      V [libjvm.so+0x16880a8] ShenandoahEvacuateUpdateRootClosureBase<true, false>::do_oop(oop*)+0x88 (shenandoahClosures.inline.hpp:122)
      V [libjvm.so+0xb355dc] frame::oops_interpreted_do(OopClosure*, RegisterMap const*, bool) const [clone .part.0]+0x17c (frame.cpp:909)
      V [libjvm.so+0x16fc784] StackWatermarkFramesIterator::process_one(void*)+0x174 (stackWatermark.cpp:103)
      V [libjvm.so+0x16fce44] StackWatermark::start_processing_impl(void*)+0xb4 (stackWatermark.cpp:217)
      V [libjvm.so+0x1686f38] ShenandoahStackWatermark::start_processing_impl(void*)+0xa8 (shenandoahStackWatermark.cpp:118)
       

      Attachments

        Issue Links

          Activity

            People

              kdnilsen Kelvin Nilsen
              ysr Y. Ramakrishna
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: