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

Compact_InternedStrings fails with "missing Printezis mark?"

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Duplicate
    • Icon: P4 P4
    • None
    • 7
    • hotspot
    • None
    • gc
    • generic
    • generic

      http://gtee.sfbay/gtee/results/MUSTANG/NIGHTLY/VM-MAIN/2007-06-25/GC_Baseline-Xconc/vm/LINUX-I586-ANY/server/mixed/vm-LINUX-I586-ANY_server_mixed_vm.gc.testlist2007-06-25-20-11-05/ResultDir/Compact_InternedStrings/Compact_InternedStrings.log

      says that vm/gc/compact//Compact_InternedStrings failed with

          [2007-06-26T04:27:22.23] # Internal Error (/PrtBuildDir/workspace/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp:6036), pid=15420, tid=2889628592
          [2007-06-26T04:27:22.23] # Error: assert(_markBitMap.isMarked(addr) && _markBitMap.isMarked(addr + 1),"missing Printezis mark?")

      I see from the search page that this test occasionally fails

          Testcase Baseline Failure Platform Date
          ------------------------ -------- ------- ---------------- ----------
          Compact_InternedStrings GC New Solaris Sparc V9 2007-06-01
          Compact_InternedStrings1 GC New Solaris Sparc V9 2007-06-01
          Compact_InternedStrings GC-XConc New Solaris Sparc 2007-06-21

      (and last night, on Linux-i586, though that doesn't seem to show up in the search).

      I've attached the decoded hs_err file from last night's failure.
      The stack trace is

          Current thread (0x08083400): ConcurrentGCThread [stack: 0xac343000,0xac3c4000] [id=15425]

          Stack: [0xac343000,0xac3c4000], sp=0xac3c2c00, free space=511k
          Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
          V [libjvm.so+0xae84b5];; VMError::report_and_die()+0x275
          V [libjvm.so+0x5b7c85];; report_assertion_failure(const char*, int, const char*)+0x55
          V [libjvm.so+0x58fe9c];; CMSCollector::block_size_using_printezis_bits(HeapWord*) const+0x11c
          V [libjvm.so+0x5904f2];; CMSCollector::next_card_start_after_block(HeapWord*) const+0x32
          V [libjvm.so+0x589b24];; CMSCollector::preclean_card_table(ConcurrentMarkSweepGeneration*, ScanMarkedObjectsAgainCarefullyClosure*)+0x414
          V [libjvm.so+0x5881d9];; CMSCollector::preclean_work(bool, bool)+0x699
          V [libjvm.so+0x5877b0];; CMSCollector::abortable_preclean()+0x220
          V [libjvm.so+0x580693];; CMSCollector::collect_in_background(bool)+0xa63
          V [libjvm.so+0x59e258];; ConcurrentMarkSweepThread::run()+0x2a8
          V [libjvm.so+0x94cc58];; java_start(Thread*)+0x138
          C [libpthread.so.0+0x5297]

      It looks like this has already been filed, as

          6324141: CMS: nightly testing asserts during concurrent marking
          http://monaco.sfbay/detail.jsf?cr=6324141

      but that says it was fixed in JDK-6 b58. That bug had a different
      stack trace:

          V [libjvm.so+0x3e7480];; unsigned CMSCollector::block_size_using_printezis_bits(HeapWord*)const+0x198
          V [libjvm.so+0x391ac4];; unsigned CompactibleFreeListSpace::block_size(HeapWord*,CMSCollector*)const+0x400
          V [libjvm.so+0x3d7da4];; void CMSConcMarkingTask::do_scan_and_mark(int,CompactibleFreeListSpace*)+0x1f4
          V [libjvm.so+0x3d74a4];; void CMSConcMarkingTask::work(int)+0x2d8
          V [libjvm.so+0xd73468];; void YieldingFlexibleGangWorker::loop()+0x10c

      so maybe this is a different bug.

            ysr Y. Ramakrishna
            pbk Peter Kessler
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: