[Crash-utility] crash bug on 2.6.27.8

Dave Anderson anderson at redhat.com
Mon Feb 9 14:51:51 UTC 2009


----- "Jun Koi" <junkoi2004 at gmail.com> wrote:

> Hi,
> 
> When using the latest crash on 2.6.27.14 to analyze live memory
> (running crash without any option), I got a bug like below. How can I
> fix that?
> 
> (A similar problem is also seen on 2.6.27.8)
> 
> Thanks,
> Jun

The "read error" indications are most likely due to your kernel
being configured with CONFIG_STRICT_DEVMEM, which restricts
/dev/mem access to the first 256 pages of physical memory,
which makes it useless for the crash utility.

If you cannot reconfigure your kernel without it, then you
have two other options.

1. Port the RHEL/Fedora /dev/crash (drivers/char/crash.c) memory
   driver, and insmod it prior to invoking crash.  Red Hat kernels
   have had the /dev/mem restriction in place by default since
   RHEL4.  It's only fairly recently that it's been imposed by
   default in upstream kernels.
2. You can also write a simple kprobe module module that 
   modifies the kernel's devmem_is_allowed() function to
   always return 1.  That will fake the /dev/mem driver into
   accepting all physical address requests.

I don't have the links off-hand, but if you search through
this mailing list's archives, say since the September 2008
timeframe, you can find threads that that describe how (1)
and (2) can be accomplished.

But if it all possible, the easiest way to go is by reconfiguring
your kernel with CONFIG_STRICT_DEVMEM turned off.

I'm going to be out of touch for a couple of days, so I won't be
of much further help until Wednesday.  If anybody else on the list
has done this, please give this guy any pointers you might have.

Thanks,
  Dave



> 
> .....
> GNU gdb 6.1
> Copyright 2004 Free Software Foundation, Inc.
> GDB is free software, covered by the GNU General Public License, and
> you are
> welcome to change it and/or distribute copies of it under certain
> conditions.
> Type "show copying" to see the conditions.
> There is absolutely no warranty for GDB.  Type "show warranty" for
> details.
> This GDB was configured as "i686-pc-linux-gnu"...
> 
> crash: read error: kernel virtual address: c0488200  type:
> "cpu_possible_map"
> WARNING: cannot read cpu_possible_map
> crash: read error: kernel virtual address: c041b428  type:
> "cpu_present_map"
> WARNING: cannot read cpu_present_map
> crash: read error: kernel virtual address: c041ab00  type:
> "cpu_online_map"
> WARNING: cannot read cpu_online_map
> crash: read error: kernel virtual address: c04b1900  type: "xtime"
> 
> --
> Crash-utility mailing list
> Crash-utility at redhat.com
> https://www.redhat.com/mailman/listinfo/crash-utility




More information about the Crash-utility mailing list