On 4/8/19 7:27 AM, David Holmes wrote:
On 8/04/2019 3:07 pm, Stefan Karlsson wrote:
Looks good!
+1
Thanks, Robbin (I can be reviewer)
Thanks - do you want to be co-contributor or a reviewer? :)
David
StefanK
On 2019-04-08 03:49, David Holmes wrote:
Bug: https://bugs.openjdk.java.net/browse/JDK-8221584
webrev: http://cr.openjdk.java.net/~dholmes/8221584/webrev/
I'm really just sponsoring this fix as the problem was diagnozed by Robbin
Ehn and Stefan Karlsson - thanks guys! :) So they are the contributors and
I'm already one Reviewer.
There's a missing loadstore barrier between extracting the ParkEvent from an
ObjectWaiter node, and setting the node's TState to allow the the entering
thread to proceed. It seems our recent update to gcc 8.2 resulted in the
compiler reordering those two actions, meaning that the Objectwaiter pointer
could now be pointing into a stack location with random contents. That might
manifest as a SEGV or we may treat random memory as a pthread_mutex_t and get
an EINVAL (or potentially other errors) on pthread_mutex_lock.
Testing: mach5 tiers 1-3 (sanity - the added barrier can't break anything)
Thanks,
David