Dave Anderson wrote:
Jay Lan wrote:
>
> >
> > What happens if you apply the attached patch? (it's against
> > the current 4.0-3.8 version, but should apply)
>
> Failed at different location.
>
> Thanks,
> - jay
>
> (jackhammer,157) crash vmlinuz-2.6.18-kdump vmcore
>
> crash 4.0-3.5
> 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.
>
> crash(26323): unaligned access to 0x60000000001bf1cc,
> ip=0x400000000026d0f0
> crash(26323): unaligned access to 0x60000000001bf1d4,
> ip=0x400000000026d0f0
> crash(26323): unaligned access to 0x60000000001bf1dc,
> ip=0x400000000026d0f0
> crash(26323): unaligned access to 0x60000000001bf1e4,
> ip=0x400000000026d0f0
> crash(26323): unaligned access to 0x60000000001bf1ec,
> ip=0x400000000026d0f0
> 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"...
>
> crash: invalid structure member offset: zone_zone_mem_map
> FILE: memory.c LINE: 11401 FUNCTION: dump_memory_nodes()
>
> [./crash] error trace: => 4000000000231c90
>
> 4000000000231c90: OFFSET_verify+336
> <
https://www.redhat.com/mailman/listinfo/crash-utility>
>
Ok, so what happens if you comment out these two lines
in memory.c at line 573:
if (symbol_exists("pgdat_list") && !IS_SPARSEMEM())
vt->flags |= NODES;
By commenting out these two lines (and previous patch), the crash
did come up.
KERNEL: vmlinuz-2.6.18-kdump
DUMPFILE: vmcore-nmi
CPUS: 2
DATE: Fri Oct 20 11:20:13 2006
UPTIME: 00:11:05
LOAD AVERAGE: 0.12, 0.04, 0.01
TASKS: 67
NODENAME: pogo1
RELEASE: 2.6.18-kdump
VERSION: #40 SMP Wed Oct 18 17:53:19 PDT 2006
MACHINE: ia64 (1400 Mhz)
MEMORY: 1.6 GB
PANIC: ""
PID: 0
COMMAND: "swapper"
TASK: a0000001008f4000 (1 of 4) [THREAD_INFO: a0000001008f5060]
CPU: 0
STATE: TASK_RUNNING
WARNING: panic task not found
crash>
Also, can you do this:
$ gdb vmlinuz-2.6.18-kdump
...
(gdb) ptype struct pglist_data
Here it is:
(gdb) ptype struct pglist_data
type = struct pglist_data {
struct zone node_zones[4];
struct zonelist node_zonelists[5];
int nr_zones;
struct page *node_mem_map;
struct bootmem_data *bdata;
long unsigned int node_start_pfn;
long unsigned int node_present_pages;
long unsigned int node_spanned_pages;
int node_id;
wait_queue_head_t kswapd_wait;
struct task_struct *kswapd;
int kswapd_max_order;
}
(gdb)
Thanks,
- jay