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