RFR: 8195979: [Graal] crash in src/hotspot/share/runtime/mutex.cpp:1341 when Graal JIT is used

Kim Barrett kim.barrett at oracle.com
Wed Jan 24 21:32:34 UTC 2018


> On Jan 24, 2018, at 4:22 PM, Karen Kinnear <karen.kinnear at oracle.com> wrote:
> 
> Code looks good for temporary workaround - thank you for putting the comment
> in that this is temporary.

Thanks.

> thanks,
> Karen
> 
> 
>> On Jan 24, 2018, at 2:52 PM, Kim Barrett <kim.barrett at oracle.com> wrote:
>> 
>> Please review this workaround for a lock rank ordering issue. When
>> using Graal, JNI references are released while holding the
>> Patching_lock (a rank=special lock).
>> 
>> Before the reimplementation of JNI global and weak global handles
>> using OopStorage (JDK-8194312), releasing such references was
>> accomplished without any locking. However, OopStorage::release
>> sometimes locks its allocation mutex. This change led to the reported
>> lock rank order problem for Graal.
>> 
>> As a temporary workaround we're reducing the ranks of the JNI
>> oopstorage mutexes, making them more special than "special", so they
>> can be locked while holding the Patching_lock. A better solution
>> (JDK-8196083) is being developed, but may take a little time. In the
>> interest of unblocking Graal testing, the simple rank reduction is
>> being proposed, even though it's ugly.
>> 
>> CR:
>> https://bugs.openjdk.java.net/browse/JDK-8195979
>> 
>> Webrev:
>> http://cr.openjdk.java.net/~kbarrett/8195979/open.00/
>> 
>> Testing:
>> Mach5 hs-tier{1-5}, jdk-tier{1-3}
>> Local testing of Ekaterina's reproducer in CR. 




More information about the hotspot-dev mailing list