Bug: String deduplication misses code roots?

Aleksey Shipilev shade at redhat.com
Wed Feb 14 10:06:51 UTC 2018


Hey Zhengyu,

New asserts capture this in ShenandoahStrDedupStress:
 http://cr.openjdk.java.net/~shade/shenandoah/strdedup-coderoot-hs_err.log

It seems we have unmarked byte array in a code root:

#  Internal Error
(/home/shade/trunks/shenandoah-jdk10/src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp:808),
pid=65297, tid=65312
#  Error: Shenandoah assert: Object should be marked (complete)

Referenced from:
  interior location: 0x000014855e8c2db2
  outside of Java heap
  0x000014855e8c2db2 is at entry_point+210 in (nmethod*)0x000014855e8c2a10


Object:
  0x00000000c0020aa8 - klass 0x00000001000007b0 [B
    not allocated after complete mark start
        allocated after next mark start
    not marked complete
        marked next
        in collection set
  region: |0x000014857006c0c0|    0|CS |BTE 0x00000000c0000000, 0x00000000c0080000,
0x00000000c0080000|U 100%|T  62%|G  37%|S   0%|L  37%|FTS           85728|LTS           85898| |CP
0|TAMS 0x00000000c0080000, 0x00000000c0000000|

Forwardee:
  (the object itself)

Thanks,
-Aleksey



More information about the shenandoah-dev mailing list