Hi Andrew,

I could reproduce it in my environment.


* libsaproc debug
```
libsaproc DEBUG: address of _DYNAMIC is 0x563bc6dd8d28
```

* Address of .dynamic in GDB
```
        0x0000563bc6dd7d28 - 0x0000563bc6dd7f68 is .dynamic
```

It differs 1 page (0x1000).
In this case, according to GDB, `java` was loaded 0x563bc6dd7000.
According to readelf of `java`, offset of dynamic section is 0x1d28.
So I want to investigate why we found 1 memory page difference.
(Is it caused by ASLR? Do you have any idea?)


Thanks,

Yasumasa


On 2017/02/08 20:46, Andrew Haley wrote:
Okay, thanks.

The patch will have to be submitted to JDK 9 first and then back-
ported to earlier releases.  Unfortunately it doesn't work on JDK 9.
I don't know why: I spent some time looking at it, but I couldn't
figure out what was wrong.

Is there any way you could have a look?  This is using 
hg.openjdk.java.net/jdk9/hs
on F25.

Thanks,

Andrew.


[aph@localhost hs-8173941]$ LIBSAPROC_DEBUG=1 
./build/linux-x86_64-normal-server-fastdebug/images/jdk/bin/jhsdb jstack --core 
core.63600 --exe build/linux-x86_64-normal-server-fastdebug/images/jdk/bin/java
Attaching to core core.63600 from executable 
build/linux-x86_64-normal-server-fastdebug/images/jdk/bin/java, please wait...
libsaproc DEBUG: Note header with n_type = 3 and n_descsz = 136
libsaproc DEBUG: Note header with n_type = 1 and n_descsz = 336
libsaproc DEBUG: got integer regset for lwp 63600
libsaproc DEBUG: integer regset
...
libsaproc DEBUG: Note address of NT_FILE is 0x564be32e5000
libsaproc DEBUG: ELF interpreter /lib64/ld-linux-x86-64.so.2
libsaproc DEBUG: address of _DYNAMIC p_vaddr is 0x201d28
libsaproc DEBUG: address of _DYNAMIC is 0x564be32e6d28
libsaproc DEBUG: ---- sorted virtual address map ----
...
libsaproc DEBUG: base = 0x7fe62227c000  size = 4096
libsaproc DEBUG: base = 0x7ffeabb33000  size = 135168
libsaproc DEBUG: base = 0x7ffeabbc0000  size = 8192
libsaproc DEBUG: base = 0xffffffffff600000      size = 4096
libsaproc DEBUG: can't locate map_info at 0x564be32e7000
libsaproc DEBUG: core read failed for 16 byte(s) @ 0x564be32e7000 (8 more bytes)
libsaproc DEBUG: 1: can't read debug info from _DYNAMIC
Error attaching to core file: Can't attach to the core file
sun.jvm.hotspot.debugger.DebuggerException: Can't attach to the core file
        at 
jdk.hotspot.agent/sun.jvm.hotspot.debugger.linux.LinuxDebuggerLocal.attach0(Native
 Method)
        at 
jdk.hotspot.agent/sun.jvm.hotspot.debugger.linux.LinuxDebuggerLocal.attach(LinuxDebuggerLocal.java:286)
        at 
jdk.hotspot.agent/sun.jvm.hotspot.HotSpotAgent.attachDebugger(HotSpotAgent.java:679)
        at 
jdk.hotspot.agent/sun.jvm.hotspot.HotSpotAgent.setupDebuggerLinux(HotSpotAgent.java:617)

Reply via email to