-
Bug
-
Resolution: Fixed
-
P4
-
21.0.2, 22
-
b27
-
aix
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8322695 | 21.0.3 | Martin Doerr | P4 | Resolved | Fixed | b01 |
We should not mix os::dll_load() with dlclose(), but should call os::dll_unload(). At the moment this is benign, but this prevents certain type of platforms specific workarounds inside os::dll_load().
There are two places I see where this happens, both are AIX specific:
```
os/aix/libodm_aix.cpp
51: dlclose(_libhandle);
58: if (_libhandle) { dlclose(_libhandle); }
os/aix/libperfstat_aix.cpp
117: dlclose(g_libhandle);
```
Also, "void* _libhandle" is a bug: It uses a local variable instead of the class member.
There are two places I see where this happens, both are AIX specific:
```
os/aix/libodm_aix.cpp
51: dlclose(_libhandle);
58: if (_libhandle) { dlclose(_libhandle); }
os/aix/libperfstat_aix.cpp
117: dlclose(g_libhandle);
```
Also, "void* _libhandle" is a bug: It uses a local variable instead of the class member.
- backported by
-
JDK-8322695 [AIX] Dont mix os::dll_load() with direct dlclose() calls
- Resolved
- relates to
-
JDK-8313616 support loading library members on AIX in os::dll_load
- Resolved
-
JDK-8320890 [AIX] Find a better way to mimic dl handle equality
- Resolved
-
JDK-8320005 Allow loading of shared objects with .a extension on AIX
- Resolved
- links to
-
Commit openjdk/jdk21u-dev/ca26279e
-
Commit openjdk/jdk/61653a1f
-
Review openjdk/jdk21u-dev/86
-
Review openjdk/jdk/16846
(3 links to)