[prev in list] [next in list] [prev in thread] [next in thread]
List: openjdk-serviceability-dev
Subject: Can't attach core image through SA tools
From: suenaga.yasumasa () oss ! ntt ! co ! jp (Yasumasa Suenaga)
Date: 2012-01-31 13:16:55
Message-ID: 4F27E9C7.9090301 () oss ! ntt ! co ! jp
[Download RAW message or body]
Hi David,
Thank you for your cooperation.
I couldn't find this CR.
I will vote it.
Thanks,
Yasumasa
On 2012/01/31 19:58, David Holmes wrote:
> Hi,
>
> A bug was opened for this just a few days ago - 7133122.
>
> I'll add your patch to the CR.
>
> David Holmes
> ------------
>
> On 31/01/2012 8:32 PM, Yasumasa Suenaga wrote:
> > Hi,
> >
> > I've tried attach a corefile with jstack. However, I couldn't.
> >
> > I guess that this problem is caused by incorrect address mapping of libsaproc.so \
> > . I've made a patch which is attached this email. And I've been able to get \
> > correct thread stack with jstack.
> > So, I'd like to contribute this patch, and I'd like to backport to JDK6/7 .
> > Could you help me?
> >
> >
> > ------ details ------
> >
> > I got these messages then I ran jstack with LIBSAPROC_DEBUG environment variable:
> >
> > /*************************/
> >
> > >
> >
> > libsaproc DEBUG: reading library \
> > /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.1.x86_64/jre/lib/amd64/server/libjvm.so @ \
> > 0x7f53b455a000 [ 0x7f53b455a000 ] libsaproc DEBUG: ---- sorted virtual address \
> > map ----
> > >
> >
> > libsaproc DEBUG: base = 0x7f53b455a000 size = 9993772
> > libsaproc DEBUG: base = 0x7f53b455a000 size = 4096
> >
> > >
> >
> > libsaproc DEBUG: can't locate map_info at 0x7f53b4dbe000
> > libsaproc DEBUG: core read failed for 4096 byte(s) @ 0x7f53b4dbe000 (4096 more \
> > bytes)
> > >
> >
> > /*************************/
> >
> > libsaproc.so tries to read libjvm.so library address, and it is duplicated.
> > I read Linux kernel source code of function of core dump, and I found these \
> > comment:
> > source code: kernel-3.2.1-3.fc16.src.rpm (Fedora16 x86_64)
> > in fs/binfmt_elf.c: static unsigned long vma_dump_size(struct vm_area_struct \
> > *vma, unsigned long mm_flags)
> > ----------------------
> > /*
> > * If this looks like the beginning of a DSO or executable mapping,
> > * check for an ELF header. If we find one, dump the first page to
> > * aid in determining what was mapped here.
> > */
> > ----------------------
> >
> > In fact, core image has executable load section which size is 1 page(0x1000)
> > ----------------------
> > LOAD 0x0000000005173000 0x00007f53b455a000 0x0000000000000000
> > 0x0000000000001000 0x0000000000988000 R E 1000
> > ----------------------
> >
> > So, we must think these case when we attach core image.
> > I modified "read_lib_segments()" in hotspot/agent/src/os/linux/ps_core.c to \
> > overwrite correct address in shared library .
> >
> >
> > Please check it.
> >
> > Thanks,
> > Yasumasa
> >
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic