----- Original Message -----
Hi Dave,
Sorry for long delay, there were a lot things to fix and improve.
You can find updated patch for crash 7.0.1 here:
https://github.com/hziSot/crash-stack-parser
Alexandr
Hello Alexandr,
I ran a simple "bt -H" test on the default/panic task of 160 sample
dumpfiles.
Of the 160, only 32 generated a backtrace. 115 of them just
printed 2 or more "." characters and nothing else. What does
that mean?
13 of them generated segmentation violations.
2 of them generated "gdb request failed" failures trying to print
tss_struct fields. And I should note that at first I tried "bt -aH",
but almost every time I would get the same type of gdb request failures
on the other active, non-crashing, cpus. So then I decided to just
test it with a "bt -H".
And is there a reason for the special case for panic()? They all
seem to show this:
# 0: [RSP: 0xffff88001fb1dc10, RIP: 0xffffffff814c7be0] panic ( ... )
< Argument list for symbol: panic
RDI: 0xffffffff81644a6b, RSI: 0xffff88001fb1dd68, RDX:
0x9
RCX: 0x30001, R8: 0x73, R9: 0x0
And lastly, 1 dumpfile generated 173 lines indicating:
bt: page excluded: kernel virtual address: ffff810637150030 type: "long
integer"
bt: page excluded: kernel virtual address: ffff810637150018 type: "long
integer"
followed by a backtrace that ended with ~50 repetive frames:
# 5: [RSP: 0xffff81063714ffb0, RIP: 0xffffffff8007820e] smp_apic_timer_interrupt
(struct pt_regs * arg = 0xffff81063714ff98)
# 6: [RSP: 0xffff810637150040, RIP: 0xffffffff8005dc8e] apic_timer_interrupt (void)
... [cut] ...
# 60: [RSP: 0xffff810637150040, RIP: 0xffffffff8005dc8e] apic_timer_interrupt (void)
# 61: [RSP: 0xffff810637150040, RIP: 0xffffffff8005dc8e] apic_timer_interrupt (void)
# 62: [RSP: 0xffff810637150040, RIP: 0xffffffff8005dc8e] apic_timer_interrupt (void)
So, as it is, there are just too many issues with it in order to fold
it into the base crash utility.
Since you've already followed my original suggestion and segregated
the code into its own file, can you take it one step further and transform
it into an extension module? If you did that, then I could host it
on the crash extensions web page for people to test/use.
Thanks,
Dave