[aarch64-port-dev ] Sporadic crashes on aarch64 after switching from OpenJDK 9 to 10
Aleksey Shipilev
shade at redhat.com
Thu Jun 21 14:14:26 UTC 2018
On 06/21/2018 03:04 PM, Stephan Bergmann wrote:
> On 20/06/18 10:19, Stephan Bergmann wrote:
>> cppunittester sets up all its signal handlers (which do /not/ include one for SIGSEGV) way before
>> the in-process JVM is instantiated, so this always used to work fine without a need to LD_PRELOAD
>> libjsig.so. However, trying with LD_PRELOAD nevertheless, I could no longer reproduce the
>> (sporadic) failure. Odd.
>
> Ha, turns out that while the cppunittester process didn't set a SIGSEGV handler at start, it
> erroneously reset whatever SIGSEGV handler to SIG_DFL towards the end of execution, shortly before
> exit. And with some luck, JVM threads executing JIT'ed code could apparently still run at that
> time, inducing SIGSEGV that would rely on the JVM's handler.
>
> Appears to be just a coincidence that I only experienced that crash with OpenJDK 10 on aarch64.
> Sorry for the noise...
Yup, no problem!
Years ago I wasted a day trying to diagnose a crash like that, before learning that users' config
had a weird native library that defined its own SEGV handler. Since then my knee-jerk reaction to
any crash that originates from the safepoint poll is cocking a shotgun and looking for a bastard
native code that touched any signal handlers.
-Aleksey
More information about the aarch64-port-dev
mailing list