Bug: -XX:-ShenandoahWriteBarrierMemBar crashes XmlTransform

Aleksey Shipilev shade at redhat.com
Tue Jan 23 10:36:34 UTC 2018


On 01/22/2018 11:16 PM, Roman Kennke wrote:
> Interestingly, I don't see it with the traversal patch. So maybe something in it fixes it, or the
> different graph shapes generated by traversal doesn't trigger it. Maybe try with the latest patch
> from the 'Traversal GC' thread?

Actually it fails with Traversal GC patch too, although much less (intermittently). I see that
Traversal GC disables some WB-related optimizations with do_evac flags, but it seems the graph is
still incorrect and it fails.

#  Internal Error (/home/shade/trunks/shenandoah-jdk10/src/hotspot/share/opto/loopopts.cpp:1537),
pid=61675, tid=61700
#  Error: assert(b->is_Bool()) failed

V  [libjvm.so+0x1169dc6]  PhaseIdealLoop::clone_iff(PhiNode*, IdealLoopTree*)+0x86
V  [libjvm.so+0x116e10c]  PhaseIdealLoop::clone_loop(IdealLoopTree*, Node_List&, int,
PhaseIdealLoop::CloneLoopMode, Node*)+0x10ec
V  [libjvm.so+0x11444bc]  PhaseIdealLoop::create_slow_version_of_loop(IdealLoopTree*, Node_List&,
int, PhaseIdealLoop::CloneLoopMode)+0xcac
V  [libjvm.so+0x1149735]  PhaseIdealLoop::do_unswitching(IdealLoopTree*, Node_List&, bool)+0x125
V  [libjvm.so+0x113f263]  IdealLoopTree::iteration_split(PhaseIdealLoop*, Node_List&)+0x163
V  [libjvm.so+0x113f176]  IdealLoopTree::iteration_split(PhaseIdealLoop*, Node_List&)+0x76


Anyhow, it should be fixed before Traversal GC arrives, because the ShWBMemBar should be
independently backportable.

-Aleksey



More information about the shenandoah-dev mailing list