Ben Woodard wrote:
Dave here is a segv for you to look at. I have the core file if you
want
it. It looks to me like it doesn't like it when the booted kernel is not
the mismatch between the kernel and the vmlinux file. I don't expect it
crash to run successfully in this situation, trying to do this was a
mistake on my part. However, I do think that crash shouldn't segv.
BTW IT#123806
4 [ben@wopri ~]$sudo crash /boot/vmlinux-2.6.9-70chaos
crash 4.0-4.1
<snip>
WARNING: /boot/vmlinux-2.6.9-70chaos and /proc/version do not match!
Segmentation fault (core dumped)
5 [ben@wopri ~]$uname -a
Linux wopri 2.6.9-69chaos #1 SMP Wed May 23 07:41:13 PDT 2007 x86_64
x86_64 x86_64 GNU/Linux
Got the dump, thanks, Ben.
Not sure how to fix this one yet. Given the live-kernel /proc/version
mismatch, it's looking at the /boot/System.map of the actual (booted) kernel
for the address of the system utsname structure. And it that matches OK,
it will use that System.map file for symbol values, and automatically
do the bait-and-switch operation for you. (i.e. the "please wait...
(patching ### gdb minimal_symbol values)" operation, as if you had
manually entered the System.map file on the command line)
But, as it's trying to do a kernel vtop operation on the system utsname
structure address -- which is no longer a simple mask operation on x86_64
because of the potentially varying physical base address -- it's crapping
out in x86_64_VTOP() using an uninitialized machdep structure.
May have to disallow that feature on x86_64 (and ia64 as well I think...)
Dave