Rachita Kothiyal wrote:
Hi
I tried crash 4.0-2.21 on a 2.6.16-rc4 kernel on a ppc64
machine(Power5). Trying to analyse vmcore(from kdump) gave me
the following error:
crash: pglist_data.node_mem_map structure member does not exist.
crash: certain memory-related commands will fail or display invalid data
This is to be expected on a CONFIG_SPARSEMEM kernel:
If pglist_data.node_mem_map structure member does not exist, as in a
ppc64 kernel built with CONFIG_SPARSEMEM, print an init-time warning
message instead of failing with "crash: invalid structure member
offset: pglist_data.node_mem_map" message. (haren(a)us.ibm.com,
anderson(a)redhat.com)
crash: cannot determine idle task addresses from init_tasks[] or runqueues[]
crash: cannot resolve "init_task_union"
This happens in get_idle_threads() when perusing the runqueues array,
where each per-cpu runqueue data structure contains a pointer to the
idle (swapper) task for that CPU. Now, this process requires that the
per-cpu address manipulations are working correctly in order to find the
each cpu's runqueue data structure. It looks like the ppc64 change
for per-cpu data accesses is suspect here:
Fix to recognize post-2.6.15 ppc64 kernels moving the
per_cpu_offsets
to the "paca" structure. Without this patch, crash fails with the
following error messages: "crash: cannot determine idle task addresses
from init_tasks[] or runqueues[]" and "crash: cannot resolve
init_task_union". (pbadari(a)us.ibm.com)
But I was able to run it ok on a live system.
Same kernel? I have no idea why there would be a difference
between live and vmcore.
Dave