RFR: 8200195 : serviceability/jvmti/FieldAccessWatch/FieldAccessWatch.java crashes with "assert(thread->thread_state() == _thread_in_native) failed: coming from wrong thread state"

serguei.spitsyn at oracle.com serguei.spitsyn at oracle.com
Mon Apr 9 22:19:38 UTC 2018


Hi Alex,

The fix looks good.
Thank you for replacing the javaEnv with the jni_env.

Thanks,
Serguei



On 4/9/18 15:04, Alex Menkov wrote:
> updated webrev: 
> http://cr.openjdk.java.net/~amenkov/field_access_graal/webrev.02/
> (javaEnv is replaced with jni_env)
>
> On 04/09/2018 14:35, David Holmes wrote:
>> +1
>>
>> Though I'd also like to understand why the test only fails sometimes 
>> and which other thread is involved?
>
> It always fails with Graal compiler on win, linux and macosx.
> Looks like with Graal compiler access/modification events are sent on 
> several threads (sorry, I don't have enough knowledge about Graal).
>
> --alex
>
>>
>> Thanks,
>> David
>>
>> On 10/04/2018 7:28 AM, Chris Plummer wrote:
>>> Hi Alex,
>>>
>>> I'd suggest renaming javaEnv to jni_env to be consistent. Not sure 
>>> why javaEnv was chosen in the original implementation. Otherwise the 
>>> changes look good.
>>>
>>> thanks,
>>>
>>> Chris
>>>
>>> On 4/9/18 2:13 PM, Alex Menkov wrote:
>>>> Hi all,
>>>>
>>>> Please review a fix for 
>>>> https://bugs.openjdk.java.net/browse/JDK-8200195
>>>> webrev: http://cr.openjdk.java.net/~amenkov/field_access_graal/webrev/
>>>>
>>>> The problem with the test is it uses cached JNIEnv value instead 
>>>> using a value passed to the callbacks. JNIEnv is valid only for the 
>>>> current thread.
>>>>
>>>> --alex
>>>
>>>



More information about the serviceability-dev mailing list