Re: Crash segv

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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...)

Actually, it only segv's on x86_64 and ia64, but the search for the
booted System.map file fails quietly for all but s390 and s390x.
VTOP() used to be a simple masking of the kernel virtual address,
but over time, the base kernel virtual addresses can vary, and the
base address determination has not happened this early in the crash
session.

So I'm going to change it such that a more useful error message
gets printed, and then a graceful exit, like this:

  # crash vmlinux-2.6.18-8.el5

  crash 4.0-4.3rc1
  Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007  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  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.

  WARNING: vmlinux-2.6.18-8.el5 and /proc/version do not match!

  WARNING: /proc/version indicates kernel version: 2.6.18-8.1.3.el5

  crash: please use the vmlinux file for that kernel version, or try using
         the System.map for that kernel version as an additional argument.

  #

Now obviously the best remedy is to use the correct vmlinux file.
But if it's not available, and the non-matching vmlinux file is
"close enough", then the System.map suggestion may work.  Taking the
example above, it works like so:

  # crash vmlinux-2.6.18-8.el5 /boot/System.map-2.6.18-8.1.3.el5

  crash 4.0-4.3rc1
  Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007  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  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 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 "ia64-unknown-linux-gnu"...

  please wait... (patching 27218 gdb minimal_symbol values)

    SYSTEM MAP: /boot/System.map-2.6.18-8.1.3.el5
  DEBUG KERNEL: vmlinux-2.6.18-8.el5 (2.6.18-8.el5)
      DUMPFILE: /dev/mem
          CPUS: 2
          DATE: Wed Jun 13 15:42:55 2007
        UPTIME: 5 days, 15:12:08
  LOAD AVERAGE: 1.10, 1.04, 1.05
         TASKS: 123
      NODENAME: hp-rx2660-01.lab.boston.redhat.com
       RELEASE: 2.6.18-8.1.3.el5
       VERSION: #1 SMP Mon Apr 16 15:55:02 EDT 2007
       MACHINE: ia64  (1594 Mhz)
        MEMORY: 16 GB
           PID: 29467
       COMMAND: "crash"
          TASK: e00000012f2e8000  [THREAD_INFO: e00000012f2e9040]
           CPU: 0
         STATE: TASK_RUNNING (ACTIVE)

  crash>

Dave



--
Crash-utility mailing list
Crash-utility@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/crash-utility

[Index of Archives]     [Fedora Development]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite News]     [KDE Users]     [Fedora Tools]

 

Powered by Linux