-
Bug
-
Resolution: Unresolved
-
P4
-
None
-
19, 21, 22
After updating references, verifier should run before cset is destroyed. Otherwise, verifier may output some confusing message, e.g.
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (/home/zgu/ws/jdk/src/hotspot/share/gc/shenandoah/shenandoahVerifier.cpp:91), pid=3813852, tid=3813887
# Error: After Updating References, Reachable; Object should be in active region
Referenced from:
interior location: 0x00000000d0d64028
0x00000000d0d63ea8 - klass 0x00000008000362f8 jdk.internal.vm.StackChunk
allocated after mark start
after update watermark
marked strong
marked weak
not in collection set
mark: mark(is_neutral no_hash age=0)
region: | 53|R |BTE d0d40000, d0d80000, d0d80000|TAMS d0d40000|UWM d0d40000|U 256K|T 256K|G 0B|S 0B|L 0B|CP 0
Object:
0x00000000e4ae56b0 - klass 0x0000000801001510 Skynet$Channel
not allocated after mark start
not after update watermark
marked strong
not marked weak
not in collection set <==== this is confusing, since the object has legit forwardee
mark: marked(0x00000000ffd6b82b)
region: | 1323|T |BTE e4ac0000, e4b00000, e4b00000|TAMS e4b00000|UWM e4b00000|U 256K|T 256K|G 0B|S 0B|L 162K|CP 0
Forwardee:
0x00000000ffd6b828 - safe print, no details
region: | 3061|R |BTE ffd40000, ffd80000, ffd80000|TAMS ffd40000|UWM ffd80000|U 256K|T 0B|G 256K|S 0B|L 0B|CP 0
It shows that object is not in cset and has legit forwardee - confusing.
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (/home/zgu/ws/jdk/src/hotspot/share/gc/shenandoah/shenandoahVerifier.cpp:91), pid=3813852, tid=3813887
# Error: After Updating References, Reachable; Object should be in active region
Referenced from:
interior location: 0x00000000d0d64028
0x00000000d0d63ea8 - klass 0x00000008000362f8 jdk.internal.vm.StackChunk
allocated after mark start
after update watermark
marked strong
marked weak
not in collection set
mark: mark(is_neutral no_hash age=0)
region: | 53|R |BTE d0d40000, d0d80000, d0d80000|TAMS d0d40000|UWM d0d40000|U 256K|T 256K|G 0B|S 0B|L 0B|CP 0
Object:
0x00000000e4ae56b0 - klass 0x0000000801001510 Skynet$Channel
not allocated after mark start
not after update watermark
marked strong
not marked weak
not in collection set <==== this is confusing, since the object has legit forwardee
mark: marked(0x00000000ffd6b82b)
region: | 1323|T |BTE e4ac0000, e4b00000, e4b00000|TAMS e4b00000|UWM e4b00000|U 256K|T 256K|G 0B|S 0B|L 162K|CP 0
Forwardee:
0x00000000ffd6b828 - safe print, no details
region: | 3061|R |BTE ffd40000, ffd80000, ffd80000|TAMS ffd40000|UWM ffd80000|U 256K|T 0B|G 256K|S 0B|L 0B|CP 0
It shows that object is not in cset and has legit forwardee - confusing.
- relates to
-
JDK-8345399 GenShen: Error: Verify init-mark remembered set violation; clean card should be dirty
- Open
-
JDK-8298781 jtreg test gc/TestAllocHumongousFragment.java fails intermittent
- Open
-
JDK-8309371 [GenShen] TestAllocHumongousFragment#generation failed
- Closed