-
Bug
-
Resolution: Fixed
-
P4
-
8, 9, 10, 11, 12, 13
-
b02
-
linux
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8243979 | 13.0.4 | Yasumasa Suenaga | P4 | Resolved | Fixed | b01 |
JDK-8227204 | 11.0.9-oracle | Alex Menkov | P4 | Resolved | Fixed | b01 |
JDK-8226568 | 11.0.5 | Yasumasa Suenaga | P4 | Resolved | Fixed | b01 |
JDK-8226364 | openjdk8u232 | Yasumasa Suenaga | P4 | Resolved | Fixed | b01 |
I attempted to open the core which is generated by RHEL 6, but it could not .
I got debug log from SA with LIBSAPROC_DEBUG=1 as below:
```
libsaproc DEBUG: first link map is at 0x3fd6c22188
libsaproc DEBUG: path /lib64/libpthread.so.0 substituted for /lib64/libpthread.so.0
libsaproc DEBUG: reading library /lib64/libpthread.so.0 @ 0x0 [ 0x0 ]
libsaproc DEBUG: address conflict @ 0x0 (existing map size = 129808, size = 93908, flags = 5)
libsaproc DEBUG: can't read shared object's segments
```
The OS which generated the core is set to enable prelink, and libpthread is prelinked.
According to GDB implementation, load address of prelinked library should be calculated by offset of link_map.l_ld and the address of .dynamic section.
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=blob;f=gdb/solib-svr4.c;h=2828c96c68355931332c1704035e9a0d8f691fad;hb=HEAD#l285
I attached the patch for this issue (sa-prelink.patch).
I got debug log from SA with LIBSAPROC_DEBUG=1 as below:
```
libsaproc DEBUG: first link map is at 0x3fd6c22188
libsaproc DEBUG: path /lib64/libpthread.so.0 substituted for /lib64/libpthread.so.0
libsaproc DEBUG: reading library /lib64/libpthread.so.0 @ 0x0 [ 0x0 ]
libsaproc DEBUG: address conflict @ 0x0 (existing map size = 129808, size = 93908, flags = 5)
libsaproc DEBUG: can't read shared object's segments
```
The OS which generated the core is set to enable prelink, and libpthread is prelinked.
According to GDB implementation, load address of prelinked library should be calculated by offset of link_map.l_ld and the address of .dynamic section.
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=blob;f=gdb/solib-svr4.c;h=2828c96c68355931332c1704035e9a0d8f691fad;hb=HEAD#l285
I attached the patch for this issue (sa-prelink.patch).
- backported by
-
JDK-8226364 SA can't handle prelinked libraries
- Resolved
-
JDK-8226568 SA can't handle prelinked libraries
- Resolved
-
JDK-8227204 SA can't handle prelinked libraries
- Resolved
-
JDK-8243979 SA can't handle prelinked libraries
- Resolved
- relates to
-
JDK-8235637 jhsdb jmap from OpenJDK 11.0.5 doesn't work if prelink is enabled
- Resolved