Skip to content
Permalink
Browse files
8273902: Memory leak in OopStorage due to bug in OopHandle::release()
Reviewed-by: sspitsyn, coleenp
  • Loading branch information
Volker Simonis committed Sep 16, 2021
1 parent 9c5441c commit bc48a0ac297b99a997482dcb59f85acc1cdb0c47
Showing with 2 additions and 4 deletions.
  1. +1 −1 src/hotspot/share/oops/oopHandle.inline.hpp
  2. +1 −3 src/hotspot/share/prims/jvmtiImpl.cpp
@@ -48,7 +48,7 @@ inline OopHandle::OopHandle(OopStorage* storage, oop obj) :
}

inline void OopHandle::release(OopStorage* storage) {
if (peek() != NULL) {
if (_obj != NULL) {
// Clear the OopHandle first
NativeAccess<>::oop_store(_obj, (oop)NULL);
storage->release(_obj);
@@ -206,9 +206,7 @@ JvmtiBreakpoint::JvmtiBreakpoint(Method* m_method, jlocation location)
}

JvmtiBreakpoint::~JvmtiBreakpoint() {
if (_class_holder.peek() != NULL) {
_class_holder.release(JvmtiExport::jvmti_oop_storage());
}
_class_holder.release(JvmtiExport::jvmti_oop_storage());
}

void JvmtiBreakpoint::copy(JvmtiBreakpoint& bp) {

3 comments on commit bc48a0a

@openjdk-notifier

This comment has been minimized.

Copy link

@openjdk-notifier openjdk-notifier bot replied Sep 16, 2021

@simonis

This comment has been minimized.

Copy link
Member

@simonis simonis replied Sep 16, 2021

/backport jdk17u

@openjdk

This comment has been minimized.

Copy link

@openjdk openjdk bot replied Sep 16, 2021

@simonis the backport was successfully created on the branch simonis-backport-bc48a0ac in my personal fork of openjdk/jdk17u. To create a pull request with this backport targeting openjdk/jdk17u:master, just click the following link:

➡️ Create pull request

The title of the pull request is automatically filled in correctly and below you find a suggestion for the pull request body:

Hi all,

this pull request contains a backport of commit bc48a0ac from the openjdk/jdk repository.

The commit being backported was authored by Volker Simonis on 16 Sep 2021 and was reviewed by Serguei Spitsyn and Coleen Phillimore.

Thanks!

If you need to update the source branch of the pull then run the following commands in a local clone of your personal fork of openjdk/jdk17u:

$ git fetch https://github.com/openjdk-bots/jdk17u simonis-backport-bc48a0ac:simonis-backport-bc48a0ac
$ git checkout simonis-backport-bc48a0ac
# make changes
$ git add paths/to/changed/files
$ git commit --message 'Describe additional changes made'
$ git push https://github.com/openjdk-bots/jdk17u simonis-backport-bc48a0ac
Please sign in to comment.