[10] RFR for JDK-8169961: Memory leak after debugging session

Shafi Ahmad shafi.s.ahmad at oracle.com
Mon Jul 24 07:21:30 UTC 2017


Hi,

> -----Original Message-----
> From: Langer, Christoph [mailto:christoph.langer at sap.com]
> Sent: Monday, July 17, 2017 9:01 PM
> To: Poonam Parhar <poonam.bajaj at oracle.com>
> Cc: Shafi Ahmad <shafi.s.ahmad at oracle.com>; serviceability-
> dev at openjdk.java.net
> Subject: RE: [10] RFR for JDK-8169961: Memory leak after debugging session
> 
> Hi Poonam,
> 
> 
> > Line 182: Here, eventController.release() is called after the 'vm' is disposed.
> > And eventController.release() causes the following statement to be
> > executed on the eventcontroller thread after the 'vm' is disposed:
> >
> > JDWP.VirtualMachine.ReleaseEvents.process(vm);
> >
> > Which does not seem to be right. Someone from the Serviceability group
> > can confirm the correctness of this change.
> 
> I think this is okay, because with the new change shouldListen() is called right
> after the thread returns from wait(). And this will lead to the thread
> immediately exiting. JDWP.VirtualMachine.ReleaseEvents.process(vm);
> should not be called in this case.
> 
> > Line 330: Instance variable 'VirtualMachineImpl vm' is removed from
> > the EventController class. It is being used further down in its run()
> > method. So I think it cannot be removed.
> 
> The vm object is used from the outer class TargetVM, as EventController is an
> inner class of it.
> 
> So in my view it's all correct but still somebody of the serviceability group
> might know better...

Could someone from serviceability group review this.

Regards,
Shafi

> 
> Best regards
> Christoph
> 


More information about the serviceability-dev mailing list