RFR: 8205020: ZGC: Apply workaround for buggy sem_post() in glibc < 2.21

Per Liden per.liden at oracle.com
Thu Jun 14 09:53:33 UTC 2018


Thanks Erik and Stefan!

/Per

On 06/14/2018 11:41 AM, Erik Österlund wrote:
> Hi Per,
> 
> Looks good.
> 
> Thanks,
> /Erik
> 
> On 2018-06-14 11:34, Per Liden wrote:
>> We should apply a workaround for a bug in sem_post() in glibc < 2.21, 
>> where it's not safe to destroy the semaphore immediately after 
>> returning from sem_wait(). The reason is that sem_post() can touch the 
>> semaphore after a waiting thread have returned from sem_wait(). To 
>> avoid this race we should force the waiting thread to acquire/release 
>> the lock held by the posting thread. This workaround is a bit ugly, 
>> but I propose we use this until we find a batter solution. I can also 
>> add that we've never actually seen any problems related to the 
>> specific cases addressed in this patch, but the sem_post() bug has 
>> shown up in the Handshake code (JDK-8204166), so we want to protect 
>> these paths too.
>>
>> For more details about the sem_post() bug, see 
>> https://sourceware.org/bugzilla/show_bug.cgi?id=12674
>>
>> Bug: https://bugs.openjdk.java.net/browse/JDK-8205020
>> Webrev: http://cr.openjdk.java.net/~pliden/8205020/webrev.0/
>>
>> Testing: Passed tier{1,2,3,4}
>>
>> cheers,
>> Per
> 



More information about the hotspot-gc-dev mailing list