[jdk17u-dev] RFR: 8283469: Don't use memset to initialize members in FileMapInfo and fix memory leak
Martin Doerr
mdoerr at openjdk.java.net
Mon May 16 09:41:53 UTC 2022
On Fri, 13 May 2022 14:10:39 GMT, Zhengyu Gu <zgu at openjdk.org> wrote:
> I would like to backport this patch to 17u, to fix a memory leak, also eliminates dangerous memset call, could potentially result in fatal crash.
>
> The original patch does not apply cleanly, due to [JDK-8261455](https://bugs.openjdk.java.net/browse/JDK-8261455), where it changed FileMapInfo's constructor signature to pass in full_path as a parameter. The conflict is resolved manually by initializing _full_path to nullptr.
>
> I also bought down following code from [JDK-8261455](https://bugs.openjdk.java.net/browse/JDK-8261455), given it is a P4 enhancement, I don't see it is a candidate for backport itself. But following code obviously fixes a bug that leaves file open after use.
>
> ```
> if (_file_open) {
> os::close(_fd);
> }
>
>
> Test:
> - [x] hotspot_cds on Linux x86_64
> - [x] GHA
Backport lgtm. Please add empty line before integrating.
src/hotspot/share/cds/filemap.cpp line 195:
> 193: assert(_dynamic_archive_info == this, "must be singleton"); // not thread safe
> 194: _dynamic_archive_info = NULL;
> 195: }
Original change adds an empty line here. Please insert.
-------------
Marked as reviewed by mdoerr (Reviewer).
PR: https://git.openjdk.java.net/jdk17u-dev/pull/397
More information about the jdk-updates-dev
mailing list