<div>Hi,</div><div>Thanks for the help and guidance, I downloaded and ran the latest version of crash. it gives me the following output:</div><div><br></div><div>crash 4.0-7.4</div><div>Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008  Red Hat, Inc.</div>
<div>Copyright (C) 2004, 2005, 2006  IBM Corporation</div><div>Copyright (C) 1999-2006  Hewlett-Packard Co</div><div>Copyright (C) 2005, 2006  Fujitsu Limited</div><div>Copyright (C) 2006, 2007  VA Linux Systems Japan K.K.</div>
<div>Copyright (C) 2005  NEC Corporation</div><div>Copyright (C) 1999, 2002, 2007  Silicon Graphics, Inc.</div><div>Copyright (C) 1999, 2000, 2001, 2002  Mission Critical Linux, Inc.</div><div>This program is free software, covered by the GNU General Public License,</div>
<div>and you are welcome to change it and/or distribute copies of it under</div><div>certain conditions.  Enter "help copying" to see the conditions.</div><div>This program has absolutely no warranty.  Enter "help warranty" for details.</div>
<div><br></div><div>GNU gdb 6.1</div><div>Copyright 2004 Free Software Foundation, Inc.</div><div>GDB is free software, covered by the GNU General Public License, and you are</div><div>welcome to change it and/or distribute copies of it under certain conditions.</div>
<div>Type "show copying" to see the conditions.</div><div>There is absolutely no warranty for GDB.  Type "show warranty" for details.</div><div>This GDB was configured as "x86_64-unknown-linux-gnu"...(no debugging symbols found)...</div>
<div><br></div><div>crash: /boot/vmlinux-syms-2.6.16.13-xen: no debugging data available</div><div><br></div><div>On running gdb /boot/vmlinux-syms-2.6.16.13-xen i got the following output:</div><div><br></div><div><div>GNU gdb 6.1</div>
<div>Copyright 2004 Free Software Foundation, Inc.</div><div>GDB is free software, covered by the GNU General Public License, and you are</div><div>welcome to change it and/or distribute copies of it under certain conditions.</div>
<div>Type "show copying" to see the conditions.</div><div>There is absolutely no warranty for GDB.  Type "show warranty" for details.</div><div>This GDB was configured as "x86_64-unknown-linux-gnu"...(no debugging symbols found)...</div>
<div><br></div><div>crash: /boot/vmlinux-syms-2.6.16.13-xen: no debugging data available</div><div><br></div><div><br></div><div>GNU gdb Red Hat Linux (6.3.0.0-1.122rh)</div><div>Copyright 2004 Free Software Foundation, Inc.</div>
<div>GDB is free software, covered by the GNU General Public License, and you are</div><div>welcome to change it and/or distribute copies of it under certain conditions.</div><div>Type "show copying" to see the conditions.</div>
<div>There is absolutely no warranty for GDB.  Type "show warranty" for details.</div><div>This GDB was configured as "x86_64-redhat-linux-gnu"...</div><div>(no debugging symbols found)</div><div>Using host libthread_db library "/lib64/libthread_db.so.1".</div>
<div><br></div><div>(gdb)</div><div><br></div><div>The common point being debug info was not found. But when running crash it says GDB was configured as "x86_64-unknown-linux-gnu" and when running only gdb it says  GDB was configured as "x86_64-redhat-linux-gnu"</div>
<div><br></div><div>This may be a stupid question... but am I right in assuming that crash will now run if I compile xen again with -g option ?</div><div><br></div><div>Thanks,</div><div><br></div><div>Aditya Krishnan </div>
<div><br></div></div><div class="gmail_quote">On Mon, Nov 17, 2008 at 10:24 AM, Dave Anderson <span dir="ltr"><<a href="mailto:anderson@redhat.com">anderson@redhat.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<br>
----- "ADITYA KRISHNAN" <<a href="mailto:akrishn7@ncsu.edu">akrishn7@ncsu.edu</a>> wrote:<br>
<br>
> Hi,<br>
><br>
><br>
> I am new to crash utility. I want to run crash ( crash 4.0-2.18.1) on<br>
> dual-core AMD Opteron (x86_64) cluster. The cluster nodes are running<br>
> xen 3.0 the proc/version gives the following output : 2.6.16.13-xen<br>
> i am running xen 3.0 which has been installed on fc5.<br>
><br>
<br>
If the crash version 4.0-2.18.1 you are using is the Red Hat<br>
version 4.0-2.18.1, then it is well over 2 years old. I don't<br>
think that xen kernels were even supported back then?<br>
<br>
(see <a href="http://people.redhat.com/anderson/crash.changelog.html" target="_blank">http://people.redhat.com/anderson/crash.changelog.html</a>)<br>
<br>
In any case, please try the latest version by downloading<br>
crash-4.0-7.4.tar.gz from <a href="http://people.redhat.com/anderson" target="_blank">http://people.redhat.com/anderson</a>,<br>
and build it like this:<br>
<br>
 # tar xvzmf crash-4.0-7.4.tar.gz<br>
 ...<br>
 # cd crash-4.0-7.4<br>
 # make<br>
 ...<br>
 #<br>
<br>
If there is a bug here, then I need to know if it exists in<br>
the latest version.  I don't debug old versions.<br>
<br>
><br>
> I guess the kernel was not built with debugging info on<br>
<br>
I don't think so.  If that were true, it would have failed much<br>
earlier with a message like:<br>
<br>
 vmlinux-syms-2.6.16.13-xen: no debugging data available<br>
<br>
And given that the name of the file is "vmlinux-syms-2.6.16.13-xen"<br>
the "syms" presumably implies it's got debugging data in it.<br>
But I don't know how it works on whatever distribution you're<br>
running.  It seems strange that a "vmlinux-syms-2.6.16.13-xen"<br>
with full debuginfo data would be located in /boot?<br>
<br>
><br>
><br>
> Running crash gives the following output:<br>
><br>
><br>
><br>
> crash 4.0-2.18.1<br>
> Copyright (C) 2002, 2003, 2004, 2005, 2006 Red Hat, Inc.<br>
> Copyright (C) 2004, 2005, 2006 IBM Corporation<br>
> Copyright (C) 1999-2006 Hewlett-Packard Co<br>
> Copyright (C) 2005 Fujitsu Limited<br>
> Copyright (C) 2005 NEC Corporation<br>
> Copyright (C) 1999, 2002 Silicon Graphics, Inc.<br>
> Copyright (C) 1999, 2000, 2001, 2002 Mission Critical Linux, Inc.<br>
> This program is free software, covered by the GNU General Public<br>
> License,<br>
> and you are welcome to change it and/or distribute copies of it under<br>
> certain conditions. Enter "help copying" to see the conditions.<br>
> This program has absolutely no warranty. Enter "help warranty" for<br>
> details.<br>
><br>
><br>
> WARNING: cannot read linux_banner string<br>
> crash: /boot/vmlinux-syms-2.6.16.13-xen and /dev/mem do not match!<br>
><br>
><br>
> I read up on the previous threads that this is because /dev/mem<br>
> returns all zereos.<br>
> I think I need something like a patch for installing the /dev/crash<br>
> module. I am new to this so can anyone help me out with a detailed<br>
> procedure of what needs to be done.<br>
><br>
<br>
I wouldn't think the /dev/crash driver is necessary on a kernel of<br>
that vintage.  Only Red Hat kernels from RHEL4 onward and upstream<br>
kernels with the CONFIG_STRICT_DEVMEM configuration turned on would<br>
require an alternative like the Red Hat /dev/crash driver.<br>
<br>
But that being said, the "cannot read linux_banner string" means<br>
that either one of these two things happened:<br>
<br>
 1. the read() from /dev/mem failed, or<br>
 2. the read() from /dev/mem worked, but returned zeroes.<br>
<br>
I can't tell which happened, but I'm guessing the latter, because<br>
there are a handful of other read()'s done from /dev/mem before that<br>
particular one is done, which is trying to access the linux_banner string.<br>
It may be due to an incorrect access to the linux_banner string, which has<br>
changed over the years.  In some kernels, the "linux_banner" symbol<br>
is the address of the actual string, whereas on others it contains<br>
a pointer to the actual string.  The crash utility (*now*) has<br>
this code segment in its verify_version() function:<br>
<br>
        if (!(sp = symbol_search("linux_banner")))<br>
                error(FATAL, "linux_banner symbol does not exist?\n");<br>
        else if ((sp->type == 'R') || (sp->type == 'r'))<br>
                linux_banner = symbol_value("linux_banner");<br>
        else<br>
                get_symbol_data("linux_banner", sizeof(ulong), &linux_banner);<br>
<br>
If you do an "nm -Bn vmlinux-syms-2.6.16.13-xen | grep linux_banner",<br>
what do you see?  If it's type R or r, then crash reads directly from<br>
that symbol value address.  Otherwise it reads the contents of the<br>
that symbol value address, and reads the string from there.<br>
You can also try "gdb vmlinux-syms-2.6.16.13-xen", from which<br>
you can determine whether there's a level of indirection there.<br>
<br>
But I'm blanking out w/respect to your "previous threads that this is<br>
because /dev/mem returns all zeroes" statement.  I'm not aware (at<br>
least any more) of any case where /dev/mem would return zeroes instead<br>
of failing the read() call itself?  Can you point me to those<br>
threads?<br>
<br>
But again -- I'm not interested in issues with older versions<br>
of crash.  Please upgrade to the latest version, and if that<br>
doesn't work, run it as "crash -d3 /boot/vmlinux-syms-2.6.16.13-xen",<br>
and there will be a bunch of debug output displayed that may help nail<br>
it down.<br>
<br>
Dave<br>
<font color="#888888"><br>
<br>
--<br>
Crash-utility mailing list<br>
<a href="mailto:Crash-utility@redhat.com">Crash-utility@redhat.com</a><br>
<a href="https://www.redhat.com/mailman/listinfo/crash-utility" target="_blank">https://www.redhat.com/mailman/listinfo/crash-utility</a><br>
</font></blockquote></div><br>