SIGSEGV in GraalVM 0.31

Dmitry Samersoff dms at samersoff.net
Mon Feb 19 12:25:00 UTC 2018


Arthur,

It looks like the crash always happens in get_poll_stub method.

see:
http://hg.openjdk.java.net/jdk8/jdk8/hotspot/file/tip/src/share/vm/runtime/sharedRuntime.cpp

Could you provide a disassembler around crash point?

Is it possible to try fastdebug version of JVM?

-Dmitry

On 18.02.2018 23:21, Arthur Peters wrote:
> I have run into a Graal VM crash (SIGSEGV) when executing compiled Scala
> code. The problem occurs before Truffle initializes and only seems to
> happen when UseJVMCICompiler is turned on. Currently reproducing this
> crash requires running the entire Orc compiler
> (https://github.com/orc-lang/orc) and the crash is non-deterministic
> (occasionally the program runs much longer before crashing). Adding
> -XX:JVMCIThreads=1 works around the crash. I'm pretty sure it's a
> concurrency race somewhere in Graal that our Scala parser code can trigger.
> 
> I have a couple of questions:
> 
>  1. How can I determine what part of the Orc code is causing the crash?
>     I want to be able to create a minimal test case for you all.
>  2. For future issues like this, is it possible to disable the JVMCI
>     last-tier compiler for some packages (or jars) but not others? That
>     would make it easy to enable Graal on the packages that need it and
>     disable it for others.
> 
> Below is a trimmed version of one of the core dumps (well information I
> extracted from it). A number of compete dumps are at:
> https://gist.github.com/arthurp/9e725864d1c211e4238677cc787f6ba4
> 
> Thanks!!
> 
> -Arthur
> 
> GDB bt output:
> 
> Program terminated with signal SIGSEGV, Segmentation fault.
> 
> Thread 1 (Thread 0x7f67d232d700 (LWP 29881)):
> #0  0x00007f67d106f8ca in SharedRuntime::get_poll_stub(unsigned char*)
> () from /home/amp/shared/graalvm/graalvm-0.31/jre/lib/amd64/server/libjvm.so
> #1  0x00007f67d0fcd8d9 in JVM_handle_linux_signal () from
> /home/amp/shared/graalvm/graalvm-0.31/jre/lib/amd64/server/libjvm.so
> #2  0x00007f67d0fc1b48 in signalHandler(int, siginfo*, void*) () from
> /home/amp/shared/graalvm/graalvm-0.31/jre/lib/amd64/server/libjvm.so
> #3  <signal handler called>
> #4 0x00007f67b8087a1b in ?? ()
> [...]
> 
> jstack output:
> 
> Thread 29881: (state = IN_JAVA)
> 
> (this is not cut, the crashed thread always shows IN_JAVA and no stack.)
> 


-- 
Dmitry Samersoff
http://devnull.samersoff.net
* There will come soft rains ...



More information about the graal-dev mailing list