Assertion failure in new field layout code when ContendedPaddingWidth == 0.

XMLWordPrintable

    • Type: Bug
    • Resolution: Fixed
    • Priority: P3
    • 15
    • Affects Version/s: 15
    • Component/s: hotspot
    • None
    • b11

      If ContendedPaddingWidth is zero, method fill_holes() triggers an assertion failure when trying to insert the padding blocks.

      #
      # Internal Error ( /openjdk/nb/rs6000_64/nightly/jdk/src/hotspot/share/classfile/fieldLayoutBuilder.cpp:48), pid=16449912, tid=258
      # assert(size > 0) failed: Sanity check
      #

      from

      if (super_klass->has_contended_annotations()) {
          LayoutRawBlock* p = new LayoutRawBlock(LayoutRawBlock::PADDING, ContendedPaddingWidth);

      Method fill_holes() should not try to insert a padding block itself, but should call FieldLayoutBuilder::insert_contended_padding() which is designed to handle the case where ContendedPaddingWidth is zero.

            Assignee:
            Frederic Parain
            Reporter:
            Frederic Parain
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: