[Crash-utility] Crash, won't read my vmcore "crash: page excluded: kernel virtual address:"
Dave Anderson
anderson at redhat.com
Mon Feb 10 16:05:00 UTC 2014
A couple other things I should have mentioned with respect to
your validity tests:
----- Original Message -----
> [root at kvm7 127.0.0.1-2014-02-07-19:17:09]# crash
> /boot/System.map-2.6.32-220.el6.x86_64.debug
> /usr/lib/debug/lib/modules/2.6.32-220.el6.x86_64.debug/vmlinux vmcore
>
> crash 5.1.8-1.el6
> Copyright (C) 2002-2011 Red Hat, Inc.
> Copyright (C) 2004, 2005, 2006 IBM Corporation
> Copyright (C) 1999-2006 Hewlett-Packard Co
> Copyright (C) 2005, 2006 Fujitsu Limited
> Copyright (C) 2006, 2007 VA Linux Systems Japan K.K.
> Copyright (C) 2005 NEC Corporation
> Copyright (C) 1999, 2002, 2007 Silicon Graphics, Inc.
> Copyright (C) 1999, 2000, 2001, 2002 Mission Critical Linux, Inc.
> This program 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. Enter "help copying" to see the conditions.
> This program has absolutely no warranty. Enter "help warranty" for details.
> GNU gdb (GDB) 7.0
> Copyright (C) 2009 Free Software Foundation, Inc.
> License GPLv3+: GNU GPL version 3 or later < http://gnu.org/licenses/gpl.html
> >
> This is free software: you are free to change and redistribute it.
> There is NO WARRANTY, to the extent permitted by law. Type "show copying"
> and "show warranty" for details.
> This GDB was configured as "x86_64-unknown-linux-gnu"...
>
> crash: page excluded: kernel virtual address: ffffffff81542000 type:
> "cpu_possible_mask"
>
> I can go into minimal,
Yes, but you didn't indicate whether data that is readable in the --minimal mode
is meaningful. The best way to do that is to verify that you can read the
linux_banner string at the advertised address, for example:
crash> rd -a linux_banner 100
ffffffff81600020: Linux version 2.6.32-313.el6.x86_64 (mockbuild at x86-022.build
ffffffff8160005c: .eng.bos.redhat.com) (gcc version 4.4.6
crash>
If the command above doesn't show the "Linux ..." string lined up, you've got the
wrong vmlinux.
>
> nm -Bn /usr/lib/debug/lib/modules/2.6.32-220.el6.x86_64.debug/vmlinux | grep _stext
> ffffffff81000198 T _stext
>
> cat /proc/kallsyms | grep _stext
> ffffffff81000198 T _stext
That's not a valid test. The "_stext" symbol for both the standard kernel and
the debug kernel variant both have the same "_stext" offset, but the symbols
become rapidly out of sync afterwards.
This is from the standard kernel's vmlinux file:
$ nm -Bn vmlinux | grep -e _stext -e linux_banner
ffffffff81000198 T _stext
ffffffff81600020 R linux_banner
$
as compared to the debug variant's vmlinux file:
$ nm -Bn vmlinux.debug | grep -e _stext -e linux_banner
ffffffff81000198 T _stext
ffffffff8152e020 R linux_banner
$
Dave
More information about the Crash-utility
mailing list