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.
|