On Wed, Feb 22, 2006 at 09:49:32AM -0500, Dave Anderson wrote:
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)
Ok.
> 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)
Right, but I thought this patch fixed this problem.
(I am using crash-4.0-2.21, and it includes this patch)
>
> 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.
Yes, same kernel (2.6.16-rc4)
Thanks
Rachita