RFR: JDK-8248725: Shenandoah: Claim verifier thread roots for parallel processing

rkennke at redhat.com rkennke at redhat.com
Fri Jul 3 12:11:50 UTC 2020


On Fri, 2020-07-03 at 06:48 -0400, Zhengyu Gu wrote:
> 
> On 7/2/20 5:03 PM, rkennke at redhat.com wrote:
> > We see occasional crashes during CI testing:
> > 
> > # Internal Error (/home/jenkins/workspace/nightly/jdk-
> > jdk/src/hotspot/cpu/x86/frame_x86.cpp:684), pid=25982, tid=26009
> > # assert(_last_Java_pc == NULL) failed: already walkable
> > 
> > This seems to be caused by calls to
> > Threads::possibly_parallel_oops_do() with par=false even though
> > it's
> > called by multiple workers. This leads to threads being visited by
> > more
> > than one worker, and thus trip this assert.
> 
> You need to change thread claim token for parallel iteration in root 
> verifier constructor.

Oh. I filed
https://bugs.openjdk.java.net/browse/JDK-8248799

and I'm currently testing a fix.

Thanks for pointing out!

Roman

> 
> -Zhengyu
> 
> > Bug:
> > https://bugs.openjdk.java.net/browse/JDK-8248725
> > Webrev:
> > http://cr.openjdk.java.net/~rkennke/JDK-8248725/
> > 
> > Testing: multiple runs of hotspot_gc_shenandoah (which exposed the
> > bug
> > before)
> > 
> > Is the right way to push this to: 
> > http://hg.openjdk.java.net/jdk/jdk15/
> >   ?
> > 
> > Roman
> > 



More information about the shenandoah-dev mailing list