[Crash-utility] [PATCH] add arm support for libgcore
HATAYAMA Daisuke
d.hatayama at jp.fujitsu.com
Thu Feb 16 00:13:20 UTC 2012
From: Dave Anderson <anderson at redhat.com>
Subject: Re: [Crash-utility] [PATCH] add arm support for libgcore
Date: Wed, 15 Feb 2012 15:54:35 -0500 (EST)
>
>
> ----- Original Message -----
> ...
>> > > The reason why I've included the ``page fault'' in the default warning
>> > > message is to avoid the situation where users get confused they have
>> > > successfully got complete user-space coredump.
>> > >
>> > > GDB tends to work well because part of user stack necessary for
>> > > backtrace is not paged out most of time; of course, the backtrace
>> > > would fail if paged-out.
>> > >
>> > > Thanks.
>> > > HATAYAMA, Daisuke
>> > >
>> >
>> > I see, thanks for detailed explanation.
>> > My another curious is whether we could refill those missing swapped page, if
>> > we provide whole swap partition data?
>> >
>> > Thanks,
>> > Lei
>>
>> Aren't most of those "page fault" references that you see
>> during a gcore operation typically referring to pages that
>> exist in the target task's virtual memory map but have not
>> been referenced?
>
> For example, none of these pages are swapped out:
>
> crash> gcore 1951
> gcore: WARNING: FPU may be inaccurate: 1951
> gcore: WARNING: page fault at 386df98000
> gcore: WARNING: page fault at 386df99000
> gcore: WARNING: page fault at 386df9e000
> gcore: WARNING: page fault at 386df9f000
> gcore: WARNING: page fault at 7fff632f3000
> gcore: WARNING: page fault at 7fff632f4000
> gcore: WARNING: page fault at 7fff632f5000
> gcore: WARNING: page fault at 7fff632f6000
> gcore: WARNING: page fault at 7fff632f7000
> gcore: WARNING: page fault at 7fff632f8000
> gcore: WARNING: page fault at 7fff632f9000
> gcore: WARNING: page fault at 7fff632fa000
> gcore: WARNING: page fault at 7fff632fb000
> gcore: WARNING: page fault at 7fff632fc000
> gcore: WARNING: page fault at 7fff632fd000
> gcore: WARNING: page fault at 7fff632fe000
> gcore: WARNING: page fault at 7fff632ff000
> gcore: WARNING: page fault at 7fff63300000
> gcore: WARNING: page fault at 7fff63301000
> gcore: WARNING: page fault at 7fff63302000
> gcore: WARNING: page fault at 7fff63303000
> gcore: WARNING: page fault at 7fff63304000
> gcore: WARNING: page fault at 7fff63305000
> Saved core.1951.system_crash
> crash>
>
> In fact, no swap was used at all:
>
> crash> swap
> FILENAME TYPE SIZE USED PCT PRIORITY
> /dm-1 PARTITION 5439480k 0k 0% -1
> crash>
>
> And here are the "page fault" pages from above, all either unreferenced
> file-backed pages or unreferenced data pages:
>
> crash> vm -p
> ... [ cut ] ...
> VIRTUAL PHYSICAL
> ... [ cut ] ...
> 386df98000 FILE: /lib64/libc-2.12.so OFFSET: 198000
> 386df99000 FILE: /lib64/libc-2.12.so OFFSET: 199000
> ... [ cut ] ...
> 386df9e000 (not mapped)
> 386df9f000 (not mapped)
> ... [ cut ] ...
> 7fff632f3000 (not mapped)
> 7fff632f4000 (not mapped)
> 7fff632f5000 (not mapped)
> 7fff632f6000 (not mapped)
> 7fff632f7000 (not mapped)
> 7fff632f8000 (not mapped)
> 7fff632f9000 (not mapped)
> 7fff632fa000 (not mapped)
> 7fff632fb000 (not mapped)
> 7fff632fc000 (not mapped)
> 7fff632fd000 (not mapped)
> 7fff632fe000 (not mapped)
> 7fff632ff000 (not mapped)
> 7fff63300000 (not mapped)
> 7fff63301000 (not mapped)
> 7fff63302000 (not mapped)
> 7fff63303000 (not mapped)
> 7fff63304000 (not mapped)
> 7fff63305000 (not mapped)
> ...
>
> Dave
>
Thanks for complement, Dave.
I overlooked lazy allocation case in my explanation... In this sense,
the warning message might be unkind to users. Still, there's a way of
checking each page's status by a variety of crash sub-commands.
Lei, I think it's surely possible to reconstruct complete core dump
from swap data if the swap partition is preserved entirely.
Thanks.
HATAYAMA, Daisuke
More information about the Crash-utility
mailing list