RFR: 8241296: Segfault in JNIHandleBlock::oops_do()

Andrew Haley aph at redhat.com
Thu Mar 19 14:58:19 UTC 2020


We're seeing intermittent SEGVs in JDKs with some newer GCC versions
and combinations of options. It turns out that it's a pretty trivial
error which has never been noticed before.

Thread::oops_do() does this:

void Thread::oops_do(OopClosure* f, CodeBlobClosure* cf) {
  active_handles()->oops_do(f);

However, there is a window while a Thread is being constructed when
active_handles() is NULL. GC can occur during this time period, and
it's a matter of luck that we haven't seen this crash before.

http://cr.openjdk.java.net/~aph/8241296/

OK to push?

-- 
Andrew Haley  (he/him)
Java Platform Lead Engineer
Red Hat UK Ltd. <https://www.redhat.com>
https://keybase.io/andrewhaley
EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671




More information about the hotspot-gc-dev mailing list