2013/3/26 Dave Anderson <anderson@xxxxxxxxxx>: > > > ----- Original Message ----- >> Hi, list. >> >> I use crash-utility to analyse crash dump core from ARM soc. When I >> execute command below, I get the error "crash: read error: kernel >> virtual address: c0c1e040 type: "first vmap_area va_start"". I also >> test it by gdb. It works fine. The Linux kernel's version is v3.0.8. >> >> hfli@pc1935:~/work/crash-utility$ ./crash vmlinux Vmcore >> >> crash 6.1.4 >> Copyright (C) 2002-2013 Red Hat, Inc. >> Copyright (C) 2004, 2005, 2006, 2010 IBM Corporation >> Copyright (C) 1999-2006 Hewlett-Packard Co >> Copyright (C) 2005, 2006, 2011, 2012 Fujitsu Limited >> Copyright (C) 2006, 2007 VA Linux Systems Japan K.K. >> Copyright (C) 2005, 2011 NEC Corporation >> Copyright (C) 1999, 2002, 2007 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 (GDB) 7.3.1 >> Copyright (C) 2011 Free Software Foundation, Inc. >> License GPLv3+: GNU GPL version 3 or later >> <http://gnu.org/licenses/gpl.html> >> This is free software: you are free to change and redistribute it. >> There is NO WARRANTY, to the extent permitted by law. Type "show copying" >> and "show warranty" for details. >> This GDB was configured as "--host=i686-pc-linux-gnu --target=arm-elf-linux"... >> >> crash: read error: kernel virtual address: c0c1e040 type: "first vmap_area va_start" >> >> Errors like the one above typically occur when the kernel and memory source >> do not match. These are the files being used: >> >> KERNEL: vmlinux >> DUMPFILE: Vmcore > > You've answered your own question -- you should always see errors if the vmlinux > kernel does not match the kernel crashed system. > > If you cannot find/access the original vmlinux file that was being run > by the crashed kernel, then get the /boot/System.map file of the crashed > kernel, and enter it on the command line: Thanks for your reply. The vmlinux, include debug information, and crash kernel, is cross-compile built and produced together. I couldn't understand why crash throw this warning "kernel and source doesn't match". > > $ crash vmlinux Vmcore System.map > > The crash utility will replace all of the invalid symbol values from the > "wrong" vmlinux file with their correct values from the System.map file. A moment ago. I rebuilt the arm kernel source again. And took "echo c > /proc/sysrq-trigger" command to trigger system panic. The status lists below. hfli@pc1935:~/work/crash-utility$ ./crash vmlinux0327 Vmcore0327 crash 6.1.4 Copyright (C) 2002-2013 Red Hat, Inc. Copyright (C) 2004, 2005, 2006, 2010 IBM Corporation Copyright (C) 1999-2006 Hewlett-Packard Co Copyright (C) 2005, 2006, 2011, 2012 Fujitsu Limited Copyright (C) 2006, 2007 VA Linux Systems Japan K.K. Copyright (C) 2005, 2011 NEC Corporation Copyright (C) 1999, 2002, 2007 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 (GDB) 7.3.1 Copyright (C) 2011 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "--host=i686-pc-linux-gnu --target=arm-elf-linux"... please wait... (gathering kmem slab cache data) crash: read error: kernel virtual address: c0c91840 type: "kmem_cache buffer" crash: unable to initialize kmem slab cache subsystem WARNING: invalid note (n_type != NT_PRSTATUS) WARNING: could not retrieve crash_notes please wait... (gathering task table data) crash: cannot read pid_hash upid crash: cannot read pid_hash upid please wait... (determining panic task) WARNING: cannot get stackframe for task KERNEL: vmlinux0327 DUMPFILE: Vmcore0327 CPUS: 1 DATE: Thu Jan 1 08:00:00 1970 UPTIME: 00:00:00 LOAD AVERAGE: 0.00, 0.00, 0.00 TASKS: 1 NODENAME: 10.38.50.241 RELEASE: 3.0.8-00010-gb7f16a3-dirty VERSION: #339 Wed Mar 27 10:39:43 CST 2013 MACHINE: armv7l (unknown Mhz) MEMORY: 19 MB PANIC: "" PID: 0 COMMAND: "swapper" TASK: c02e0620 [THREAD_INFO: c02dc000] CPU: 0 STATE: TASK_RUNNING (ACTIVE) WARNING: panic task not found crash> It also didn't works so fine. Then I appended system.map, the output result is also the same. I try GDB to test it. hfli@pc1935:~/work/crash-utility$ ./gdb-7.5/gdb/gdb vmlinux0327 Vmcore0327 GNU gdb (GDB) 7.5 Copyright (C) 2012 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "--host=x86 --target=arm-linux-gnueabi". For bug reporting instructions, please see: <http://www.gnu.org/software/gdb/bugs/>... Reading symbols from /home/hfli/work/crash-utility/vmlinux0327...done. warning: exec file is newer than core file. [New LWP 278] #0 0xc0155f7c in sysrq_handle_crash (key=99) at drivers/tty/sysrq.c:134 134 *killer = 1; (gdb) list 129 { 130 char *killer = NULL; 131 132 panic_on_oops = 1; /* force panic */ 133 wmb(); 134 *killer = 1; 135 } 136 static struct sysrq_key_op sysrq_crash_op = { 137 .handler = sysrq_handle_crash, 138 .help_msg = "Crash", (gdb) gdb also works fine. Thanks again. > > Dave > > -- > Crash-utility mailing list > Crash-utility@xxxxxxxxxx > https://www.redhat.com/mailman/listinfo/crash-utility -- Crash-utility mailing list Crash-utility@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/crash-utility