RFR: JDK-8280002: jmap -histo may leak stream
Aleksey Shipilev
shade at openjdk.java.net
Fri Jan 14 12:55:25 UTC 2022
On Fri, 14 Jan 2022 10:04:53 GMT, Thomas Stuefe <stuefe at openjdk.org> wrote:
> Very trivial fix to a handle/memory leak.
>
> JDK-8215624 added parallel heap iteration to both `jmap -histo` and `jcmd GC.class_histogram`. When called with an explicit file and an invalid argument for number of threads, it leaks the file (bit of memory and a handle).
>
> Reproduce with:
>
> `jmap -histo:parallel=notanumber,file=xx.txt`
>
> Can only be reproduced with jmap. jcmd is safe, arguments are handled correctly in shared code.
This is not as trivial, AFAICS. Note that the existing code `delete fs` after checking `if (os != NULL && os != out)`. Does it mean this patch can effectively `delete out`?
-------------
PR: https://git.openjdk.java.net/jdk/pull/7078
More information about the serviceability-dev
mailing list