[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