未来のいつか/hyoshiokの日記

hyoshiokの日々思うことをあれやこれや

crash

$ crash /boot/System.map-2.6.9-5.25AXsmp /usr/lib/debug/lib/modules/2.6.9-5.25AXsmp/vmlinux /var/crash/vmcore.1

crash 3.10-1
Copyright (C) 2002, 2003, 2004  Red Hat, Inc.
Copyright (C) 2004  IBM Corp.
Copyright (C) 1998-2004  Hewlett-Packard Co
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: Because this kernel was compiled with gcc version 3.4.3, certain
         commands or command options may fail unless crash is invoked with
         the  "--readnow" command line option.

GNU gdb 6.0
Copyright 2003 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"...


please wait... (patching 24399 gdb minimal_symbol values)
  SYSTEM MAP: /boot/System.map-2.6.9-5.25AXsmp
DEBUG KERNEL: /usr/lib/debug/lib/modules/2.6.9-5.25AXsmp/vmlinux (2.6.9-5.25AXsmp)
    DUMPFILE: /var/crash/vmcore.1
        CPUS: 1
        DATE: Wed Jun  8 10:33:31 2005
      UPTIME: 00:06:08
LOAD AVERAGE: 4.83, 6.05, 3.50
       TASKS: 27
    NODENAME: dhcp-176.miraclelinux.com
     RELEASE: 2.6.9-5.25AXsmp
     VERSION: #1 SMP Thu May 26 14:33:30 EDT 2005
     MACHINE: i686  (3400 Mhz)
      MEMORY: 6.5 GB
       PANIC: "Oops: 0000 [#1]" (check log for details)
         PID: 1
     COMMAND: "init"
        TASK: f7f31630  [THREAD_INFO: f7f08000]
         CPU: 0
       STATE: TASK_RUNNING (PANIC)

crash>

という感じである。
最初の第一歩はどこで落ちているかをさぐる。

crash> bt
PID: 1      TASK: f7f31630  CPU: 0   COMMAND: "init"
 #0 [f7f08d70] disk_dump at f8909a54
 #1 [f7f08d74] printk at c0124c8f
 #2 [f7f08d80] freeze_other_cpus at f8909885
 #3 [f7f08d90] start_disk_dump at f8909930
 #4 [f7f08da0] try_crashdump at c0136eed
 #5 [f7f08da8] die at c010603f
 #6 [f7f08ddc] LKST_ETYPE_OOPS_PGFAULT_HEADER_hook at c011d498
 #7 [f7f08e28] __mark_inode_dirty at c0177dfd
 #8 [f7f08e58] generic_file_aio_write_nolock at c0142c06
 #9 [f7f08ea8] do_lookup at c0167802
#10 [f7f08efc] tty_open at c01fbbea
#11 [f7f08f20] chrdev_open at c0163a49
#12 [f7f08f3c] dentry_open at c015b569
#13 [f7f08f54] filp_open at c015b473
#14 [f7f08fc0] system_call at c02d414c
    EAX: 00000036  EBX: 00000000  ECX: 00005401  EDX: bff799cc
    DS:  007b      ESI: bff79a20  ES:  007b      EDI: 00690ff4
    SS:  007b      ESP: bff799c4  EBP: bff79a08
    CS:  0073      EIP: 005537a2  ERR: 00000036  EFLAGS: 00000212

ログを見てみる。最後のあたり。

crash> log
... (略)
Unable to handle kernel NULL pointer dereference at virtual address 00000000
 printing eip:
c0200ef1
 *pde = 37f86001
Oops: 0000 [#1]
SMP
Modules linked in: oprofile md5 ipv6 ide_dump scsi_dump diskdump dm_mod button battery ac uhc
i_hcd ehci_hcd bluesmoke_e752x bluesmoke_mc hw_random e100 mii floppy ext3 jbd ata_piix libat
a aic79xx sd_mod scsi_mod
CPU:    0
EIP:    0060:[]    Not tainted VLI
EFLAGS: 00010296   (2.6.9-5.25AXsmp)
EIP is at vt_ioctl+0x15/0x12a1
eax: 00000000   ebx: 00005401   ecx: 00005401   edx: f76ed080
esi: f7383000   edi: bff799cc   ebp: f7383000   esp: f7f08efc
ds: 007b   es: 007b   ss: 0068
Process init (pid: 1, threadinfo=f7f08000 task=f7f31630)
Stack: c01fbbec 00000902 00500001 f7383000 00000000 c0491700 f7f08000 01491700
       c0491700 c0163a4e f76ed080 f76ed080 f76ed080 c473baf8 c462d100 00000000
       c015b56e f7c17474 f7f08f58 00000902 f4b5b000 f7f08000 c015b478 f7c17474
Call Trace:
 [] tty_open+0x189/0x2a0
 [] chrdev_open+0x171/0x187
 [] dentry_open+0xf0/0x1a5
 [] filp_open+0x36/0x3c
 [] tty_ioctl+0x370/0x3c2
 [] sys_ioctl+0x227/0x269
 [] sys_fcntl64+0x6c/0x7d
 [] sys_fcntl64+0x76/0x7d
 [] syscall_call+0x7/0xb
Code: 0d ff ff ff e8 f5 02 0d 00 e9 48 ff ff ff e8 0f 03 0d 00 eb 8e 90 55 89 c5 57 56 53 83
ec 68 89 cb 8b 80 ac 09 00 00 8b 7c 24 7c <8b> 00 89 44 24 10 8b 04 85 c0 1c 49 c0 89 44 24 1
4 8b 44 24 10