[Crash-utility] Handle the NT_PRSTATUS lost for the "bt" command
Dave Anderson
anderson at redhat.com
Wed Jun 20 14:30:54 UTC 2012
----- Original Message -----
> > That seems to be a bug (?), but it's not particularly important,
> > because for x86 and x86_64, the data in the NT_PRSTATUS notes is
> > only used if the starting point for backtraces if the PC/SP pair
> > cannot be determined otherwise, which is the case virtually all of
> > the time. So the registers found in the NT_PRSTATUS notes are
> > pretty much useless...
>
> I seem to be minor bug, if some of cpus are offline while panic,
> can't backtrace the same number of cpus from tail because of returning NULL.
> I think current task's PC/SP can not obtain from thread_struct corectly,
> then NT_PRSTATUS notes need to be stored for them instead.
For the active tasks, the PC/SP starting points can typically be found
by looking at the stack contents. The NT_PRSTATUS notes are a relatively
recent addition to compressed kdumps, i.e., have only existed since
header version 4. Only in very rare circumstances do the x86 and
x86_64 arches need to utilize the registers in the compressed kdump
NT_PRSTATUS notes.
That being said, I will fix the invalid value that is stored in
dd->num_prstatus_notes so that diskdump_get_prstatus_percpu()
will work as expected if there are offline cpus. That function is
currently used only by x86 and x86_64, so there should be no issues
with the other arches.
> Yes I'm going to rework, and thanks for your reviews.
> I'm modifying difficult parts this time, very helpful.
>
> I'll do more tests before sending reworked PPC only patch.
> I also have to study about kexectools or makedumpfile more about
> how NT_PRSTATUS or others are treated, haven't understood enough.
OK thanks,
Dave
More information about the Crash-utility
mailing list