RFR: 8214068: ZGC crashes with vmTestbase/nsk/jdi/ReferenceType/instances/instances004/TestDescription.java
Daniel D. Daugherty
daniel.daugherty at oracle.com
Wed Nov 21 14:58:08 UTC 2018
On 11/21/18 4:11 AM, Per Liden wrote:
> This patch adds a missing load barrier to the JVMTI heap walker. In
> VM_HeapWalkOperation::collect_simple_roots() the SimpleRootsClosure
> closure should not do raw loads of oops. Instead it should be loading
> them using NativeAccess<AS_NO_KEEPALIVE>::oop_load().
>
> This problem only affects ZGC, since it's (so far) the only collector
> that scans JNIHandles concurrently.
>
> The problem was easily reproducible when running
> vmTestbase/nsk/jdi/ReferenceType/instances/instances004/TestDescription.java.
> However, for some reason this isn't reproducing in our CI pipeline,
> likely because of luck with timing. For example, this is harder to
> reproduce in a scenario where your using a smaller heap and hence have
> GC cycles happen more frequently.
>
> Bug: https://bugs.openjdk.java.net/browse/JDK-8214068
> Webrev: http://cr.openjdk.java.net/~pliden/8214068/webrev.0
src/hotspot/share/prims/jvmtiTagMap.cpp
No comments.
Nice catch! Thumbs up.
Since this is in the JVM/TI heap walker, I wonder if there are other
sightings in JBS that might be tracked back to this. Looks like
Zhengyu put a nice stack trace in the bug report so dup matching
should be easy (if there are any).
Dan
>
> /Per
More information about the hotspot-dev
mailing list