I've been experimenting with the latest crash version on a system
running Xen (3.0.2-2 with kernel 2.6.16) and am experiencing problems
when attempting to debug the system live; debugging of saved guest files
and guest crash dumps works well, it's just live debugging of dom0 that
is problematical.
The symptom is that I get the error:
WARNING: cannot read linux_banner string
When I debug crash, I can see that it is finding the correct unstripped
kernel from which it finds the address of the linux_banner variable
_but_ when it attempts to read the string from /dev/mem it gets all
zeroes back. I have confirmed that the address is correct by using gdb
against /proc/kcore - gdb reads the string quite nicely from the virtual
address (happens to be 0xc0450000, I can see that crash translates this
to physical address 450000 and gets all zeroes when it reads this
location from /dev/mem).
I'm pretty sure that the various files in /boot for dom0 all match the
running system. Output from 'crash -d2' attached in case its useful...
So - the question is - what's the obvious thing I am missing!
Thanks,
Simon
crash 4.0-2.24
Copyright (C) 2002, 2003, 2004, 2005, 2006 Red Hat, Inc.
Copyright (C) 2004, 2005, 2006 IBM Corporation
Copyright (C) 1999-2006 Hewlett-Packard Co
Copyright (C) 2005 Fujitsu Limited
Copyright (C) 2005 NEC Corporation
Copyright (C) 1999, 2002 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.
find_booted_kernel: search for [Linux version 2.6.16-xen0
(sgraham(a)anna.sn.stratus.com) (gcc version 3.4.4 20050721 (Red Hat
3.4.4-2)) #3 Sat May 6 19:04:09 EDT 2006
]
mount_points[0]: / (83a1ac0)
mount_points[1]: /proc (83a1ad0)
mount_points[2]: /dev (83a1ae0)
mount_points[3]: / (83a1af0)
mount_points[4]: /dev (83a1b00)
mount_points[5]: /proc (83a1b10)
mount_points[6]: /sys (83a1b20)
mount_points[7]: /dev/pts (83a1b30)
mount_points[8]: /boot (83a1b48)
mount_points[9]: /dev/shm (83a1b58)
searchdirs[9]: /usr/lib/debug/lib/modules/2.6.16-xen0/
searchdirs[0]: /usr/src/linux/
searchdirs[1]: /boot/
searchdirs[2]: /boot/efi/redhat
searchdirs[3]: /boot/efi/EFI/redhat
searchdirs[4]: /
searchdirs[5]: /usr/src/kernels/
searchdirs[6]: /usr/src/debug/
searchdirs[7]: /usr/src/redhat/BUILD/kernel-2.6.16/linux/
searchdirs[8]: /usr/src/redhat/BUILD/kernel-2.6.16/linux-2.6.16/
find_booted_kernel: check: /boot/xen-syms-3.0.2-2
find_booted_kernel: check: /boot/vmlinux-syms-2.6.16-xenU
find_booted_kernel: check: /boot/vmlinux-syms-2.6.16-xen0
find_booted_kernel: found: /boot/vmlinux-syms-2.6.16-xen0
get_live_memory_source: /dev/mem
/proc/version:
Linux version 2.6.16-xen0 (sgraham(a)anna.sn.stratus.com) (gcc version
3.4.4 20050721 (Red Hat 3.4.4-2)) #3 Sat May 6 19:04:09 EDT 2006
/boot/vmlinux-syms-2.6.16-xen0:
Linux version 2.6.16-xen0 (sgraham(a)anna.sn.stratus.com) (gcc version
3.4.4 20050721 (Red Hat 3.4.4-2)) #3 Sat May 6 19:04:09 EDT 2006
gdb /boot/vmlinux-syms-2.6.16-xen0
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"...
WARNING: cannot read linux_banner string
/proc/version:
Linux version 2.6.16-xen0 (sgraham(a)anna.sn.stratus.com) (gcc version
3.4.4 20050721 (Red Hat 3.4.4-2)) #3 Sat May 6 19:04:09 EDT 2006
linux_banner:
crash: /boot/vmlinux-syms-2.6.16-xen0 and /dev/mem do not match!
Usage:
crash [-h [opt]][-v][-s][-i file][-d num] [-S] [mapfile] [namelist]
[dumpfile]
Enter "crash -h" for details.