shenandoah c2 compiler crash in jdk8

Nick Evgeniev nevgeniev at gmail.com
Mon Nov 2 20:02:41 UTC 2020


hi,

I'll try to come up with sample code, not sure to what degree compilation
'context' is critical. But if you have some build to try (with more
logging/tracing) i'm more than willing to help... Also i've tried to bump
up in steps 75k->80k->90k->100k. It fails everywhere in between. for 80k it
fails in Node::req()

I think that the qn that needs to be answered is whether there is a `leak`
in nodes or you just need more of them. Does that make sense? If so, is
there an option to dump c2 node usage over time?

also just in case there is original stack trace (from release build w/o
assertions):

Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native
code)
V  [libjvm.so+0x4b6eae]  Compile::final_graph_reshaping()+0x1e
V  [libjvm.so+0x4b923e]  Compile::Optimize()+0xd8e
V  [libjvm.so+0x4bb217]  Compile::Compile(ciEnv*, C2Compiler*, ciMethod*,
int, bool, bool, bool)+0x11c7
V  [libjvm.so+0x40fd8c]  C2Compiler::compile_method(ciEnv*, ciMethod*,
int)+0x20c
V  [libjvm.so+0x4c2096]
 CompileBroker::invoke_compiler_on_method(CompileTask*)+0xd46
V  [libjvm.so+0x4c4977]  CompileBroker::compiler_thread_loop()+0x657
V  [libjvm.so+0xb22981]  JavaThread::thread_main_inner()+0xf1
V  [libjvm.so+0x9674a2]  java_start(Thread*)+0x132
C  [libpthread.so.0+0x7ea5]  start_thread+0xc5


On Mon, 2 Nov 2020 at 02:32, Roland Westrelin <rwestrel at redhat.com> wrote:

>
> Hi,
>
> > It stops crashing if I add `-XX:MaxNodeLimit=100000` option.. Is it true
> > that Shenandoah needs substantially more nodes compared to CMS? If so,
> > default (75000) probably needs to be adjusted... as crash in release
> > version has less than obvious stacktrace
> >
> > Pls confirm it's not a bug :)
>
> I'm not sure bumping MaxNodeLimit is the best way to fix this. Would
> there be a way for us to reproduce the crash?
>
> Roland.
>
>


More information about the shenandoah-dev mailing list