Badari Pulavarty wrote: > On Thu, 2006-04-27 at 12:21 -0400, Dave Anderson wrote: > > Badari, > > > > What happens when you disassemble sys_read() on a live > > system running that particular kernel? Use "dis sys_read" as the > > crash command. > > > > Thanks, > > Dave > > Dave, > > crash shows wrong dis-assembly for even live machine... > > Thanks, > Badari > > elm3a242:~/crash-4.0-2.23 # ./crash /usr/src/linux/vmlinux > > crash 4.0-2.23 > Copyright (C) 2002, 2003, 2004, 2005, 2006 Red Hat, Inc. > Copyright (C) 2004, 2005, 2006 IBM Corporation > Copyright (C) 1999-2006 Hewlett-Packard Co > Copyright (C) 2005 Fujitsu Limited > 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 "x86_64-unknown-linux-gnu"... > > SYSTEM MAP: /usr/src/linux/System.map > DEBUG KERNEL: /usr/src/linux/vmlinux (2.6.16-20-smp) Strange -- why is it even using /usr/src/linux/System.map? You didn't enter it on the boot command line, and so I believe the only way that it would possibly be set would be by the find_booted_system_map() function -- which only would be called by match_proc_version() when the vmlinux file doesn't match the live system. What happens when you do this: $ strings /usr/src/linux/vmlinux | grep "Linux ver" $ cat /proc/version Are the outputs identical? Dave > > DUMPFILE: /dev/mem > CPUS: 2 > DATE: Thu Apr 27 02:06:52 2006 > UPTIME: 16:29:16 > LOAD AVERAGE: 0.07, 0.02, 0.00 > TASKS: 64 > NODENAME: elm3a242 > RELEASE: 2.6.16-20-smp > VERSION: #1 SMP Mon Apr 10 04:51:13 UTC 2006 > MACHINE: x86_64 (3000 Mhz) > MEMORY: 4.6 GB > PID: 12798 > COMMAND: "crash" > TASK: ffff8101235e37d0 [THREAD_INFO: ffff810118742000] > CPU: 0 > STATE: TASK_RUNNING (ACTIVE) > > crash> dis sys_read > 0xffffffff8017b991 <sys_read>: add %cl,0xffffffffffffff83(%rax) > 0xffffffff8017b994 <sys_read+3>: (bad) > 0xffffffff8017b995 <sys_read+4>: sbb %cl,0xffffffffffffff89(% > rax) > 0xffffffff8017b998 <sys_read+7>: callq 0xffffffffdc5916f8 > 0xffffffff8017b99d <sys_read+12>: pop %r13 > 0xffffffff8017b99f <sys_read+14>: retq > 0xffffffff8017b9a0 <sys_read+15>: > mov 1862306(%rip),%eax # 0xffffffff80342448 <files_stat+8> > 0xffffffff8017b9a6 <sys_read+21>: retq > 0xffffffff8017b9a7 <sys_read+22>: push %rbx > 0xffffffff8017b9a8 <sys_read+23>: cmp %rdi,(%rdi) > 0xffffffff8017b9ab <sys_read+26>: mov %rdi,%rbx > 0xffffffff8017b9ae <sys_read+29>: je 0xffffffff8017b9db > <sys_read+74> > 0xffffffff8017b9b0 <sys_read+31>: mov $0xffffffff80456b80,%rdi > 0xffffffff8017b9b7 <sys_read+38>: > callq 0xffffffff802d0aad <__down_interruptible+75> > 0xffffffff8017b9bc <sys_read+43>: mov (%rbx),%rdx > 0xffffffff8017b9bf <sys_read+46>: mov 0x8(%rbx),%rax > 0xffffffff8017b9c3 <sys_read+50>: mov %rax,0x8(%rdx) > 0xffffffff8017b9c7 <sys_read+54>: mov %rdx,(%rax) > 0xffffffff8017b9ca <sys_read+57>: mov %rbx,0x8(%rbx) > 0xffffffff8017b9ce <sys_read+61>: mov %rbx,(%rbx) > 0xffffffff8017b9d1 <sys_read+64>: > > -- > Crash-utility mailing list > Crash-utility@xxxxxxxxxx > https://www.redhat.com/mailman/listinfo/crash-utility