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