Ive 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, its 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).

Im 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@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@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@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@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.