RFR: JDK-8298084: Memory leak in Method::build_profiling_method_data
Justin King
jcking at openjdk.org
Wed Dec 7 08:50:00 UTC 2022
On Wed, 7 Dec 2022 08:08:30 GMT, Tobias Hartmann <thartmann at openjdk.org> wrote:
>> Resolve memory leak related to `MethodData::_extra_data_lock` in `Method::build_profiling_method_data` by defining `MethodData::release_C_heap_structures` and calling it where appropriate before deallocating `MethodData`.
>
> src/hotspot/share/oops/method.cpp line 602:
>
>> 600:
>> 601: if (!Atomic::replace_if_null(&method->_method_data, method_data)) {
>> 602: method_data->release_C_heap_structures();
>
> What about leaving the `_extra_data_lock` as is and explicitly calling `~MethodData()` here?
We can, but in general calling a member function after calling a destructor is likely undefined behavior. The lifetime of the object has ended.
-------------
PR: https://git.openjdk.org/jdk/pull/11526
More information about the hotspot-dev
mailing list