RFR: 8268635: Corrupt oop in ClassLoaderData [v2]

David Holmes dholmes at openjdk.java.net
Wed Jul 7 01:56:52 UTC 2021


On Wed, 7 Jul 2021 01:31:07 GMT, Coleen Phillimore <coleenp at openjdk.org> wrote:

>> We worked on writing a test for this but weren't successful.  Based on analysis by @stefank this missing call may have been the cause of the crash.
>> Tested with tier1-3.
>
> Coleen Phillimore has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains one commit:
> 
>   8268635: Corrupt oop in ClassLoaderData

Hi Coleen,

Given the code in `add_handle` this change seems appropriate. But in looking at the other code I did notice that this call to `record_modified_oops`  in `ClassLoaderData::record_dependency` seems redundant:


>     Handle dependency(Thread::current(), to);
>     add_handle(dependency);
>     // Added a potentially young gen oop to the ClassLoaderData
>     record_modified_oops();
> 


And it did raise a question for me as to whether the code that checks (and potentially clears) _modified_oops can run concurrently with this code, as we set the flag before we actually do the addition in the other methods?

Thanks,
David

-------------

Marked as reviewed by dholmes (Reviewer).

PR: https://git.openjdk.java.net/jdk/pull/4701


More information about the hotspot-runtime-dev mailing list