[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