RFR: 8241439: jdk.NativeLibraryEvent hooks all opened regular files
Yasumasa Suenaga
suenaga at oss.nttdata.com
Thu Apr 9 07:00:46 UTC 2020
Hi all,
Please review this change:
JBS: https://bugs.openjdk.java.net/browse/JDK-8241439
webrev: http://cr.openjdk.java.net/~ysuenaga/JDK-8241439/webrev.00/
HotSpot has os::get_loaded_modules_info() to get all loaded native libraries, however it would call callback in twice on same library on Linux. Also it would call callback even if the file is not a library.
We can see this problem in jdk.NativeLibrary JFR event as below:
```
jdk.NativeLibrary {
startTime = 16:59:06.621
name = "/usr/lib64/libc-2.30.so"
baseAddress = 0x7FDB06ACC000
topAddress = 0x7FDB06AF1000
}
jdk.NativeLibrary {
startTime = 16:59:06.621
name = "/usr/lib64/libc-2.30.so"
baseAddress = 0x7FDB06AF1000
topAddress = 0x7FDB06C40000
}
:
```
```
jdk.NativeLibrary {
startTime = 16:59:06.621
name = "/home/ysuenaga/OpenJDK/jdk/build/linux-x86_64-server-fastdebug/images/jdk/lib/server/classes.jsa"
baseAddress = 0x800000000
topAddress = 0x800007000
}
```
This change uses dl_iterate_phdr() to get them, so these problem has gone.
Thanks,
Yasumasa
More information about the hotspot-runtime-dev
mailing list