RFR 8082782: vm crash on StressRedefineWithoutBytecodeCorruption fails with assert(((Metadata*)obj)->is_, valid()) failed: obj is valid
serguei.spitsyn at oracle.com
serguei.spitsyn at oracle.com
Thu Jul 23 00:35:17 UTC 2015
On 7/22/15 5:29 PM, Coleen Phillimore wrote:
>
>
> On 7/22/15 8:15 PM, serguei.spitsyn at oracle.com wrote:
>> Coleen,
>>
>> The fix looks good.
>> I'm not sure the changes in the CompileQueue::get() are really needed
>> though.
>
> There's a safepoint after we remove the task before it becomes
> attached to the compile thread in CompileTaskWrapper, when we release
> the MethodCompileQueue_lock and purge_stale_tasks() could release and
> reaquire this lock. Unfortunately the fix is ugly for this small window.
Ok.
Thank you for extra explanation!
Thanks,
Serguei
>
> Thank you for the code review!
> Coleen
>>
>>
>> Thanks,
>> Serguei
>>
>>
>> On 7/22/15 9:20 AM, Coleen Phillimore wrote:
>>> Summary: Walk compile task for Method* to not deallocate, store
>>> methods in methodHandle while compile task is being created
>>>
>>> I couldn't reproduce this or write a test with the exact timing
>>> needed to get this crash, but this is what the stack trace and code
>>> inspection tells me what happened. Reran all redefinition and
>>> internal tonga 'quick' tests on the change with no regression.
>>>
>>> open webrev at http://cr.openjdk.java.net/~coleenp/8082782.01/
>>> bug link https://bugs.openjdk.java.net/browse/JDK-8082782
>>>
>>> Thanks,
>>> Coleen
>>
>
More information about the hotspot-dev
mailing list