SIGSEGV in GraalVM 0.31

Doug Simon doug.simon at oracle.com
Mon Feb 19 12:41:27 UTC 2018


Hi Arthur,

Could you please open an issue for this crash at https://github.com/oracle/graal/issues. We trying to move to GitHub as the primary point for handling Graal issues. I'll update that issue once a debug JVM binary is available.

-Doug

> On 19 Feb 2018, at 13:25, Dmitry Samersoff <dms at samersoff.net> wrote:
> 
> 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