Hi Kazu,
On Thu, Feb 01, 2024 at 08:29:01AM +0000, HAGIO KAZUHITO(萩尾 一仁) wrote:
On 2024/01/24 15:57, HAGIO KAZUHITO(萩尾 一仁) wrote:
> Is it possible to upload a sample ppc64le vmcore and vmlinux somewhere
> off-list? I would like to check the behavior at my end, probably
> ppc64le vmcores can be processed by x86_64 crash for ppc64 vmcore.
Thanks for the sample vmlinux and vmcore.
I'm still reviewing the patches and "gdb bt" looks good to me, but it
looks like "gdb info threads" calls GETBUF() too much. and the next
same command fails.
$ crash-ppc64 vmlinux vmcore
...
crash-ppc64> gdb info threads
Id Target Id Frame
1 CPU 0 plpar_hcall_norets_notrace () at
arch/powerpc/platforms/pseries/hvCall.S:114
2 CPU 1 plpar_hcall_norets_notrace () at
arch/powerpc/platforms/pseries/hvCall.S:114
3 CPU 2 plpar_hcall_norets_notrace () at
arch/powerpc/platforms/pseries/hvCall.S:114
...
42 CPU 41 plpar_hcall_norets_notrace () at
arch/powerpc/platforms/pseries/hvCall.S:114
* 43 CPU 42 0xc00000000005ae44 in crash_fadump (regs=0x0,
str=0xc000000002c0a6a0 <buf> "sysrq triggered crash") at
arch/powerpc/kernel/fadump.c:728
44 CPU 43 plpar_hcall_norets_notrace () at
arch/powerpc/platforms/pseries/hvCall.S:114
...
54 CPU 53 plpar_hcall_norets_notrace () at
arch/powerpc/platforms/pseries/hvCall.S:114
55 CPU 54 plpar_hcall_norets_notrace () at
arch/powerpc/platforms/pseries/hvCall.S:114
buf_1K_used: 50
buf_2K_used: 10
buf_4K_used: 2
buf_8K_used: 0
buf_32K_used: 3
...
malloc_bp[1997]: 8f3db90
malloc_bp[1998]: 8f41ba0
malloc_bp[1999]: 8f45bb0
smallest: 24
largest: 2883584
embedded: 2003
max_embedded: 2003
mallocs: 2162
frees: 162
reqs/total: 2228/41701642
average size: 18717
gdb: cannot allocate any more memory!
crash-ppc64>
crash-ppc64> gdb info threads
ui-out.c:357: internal-error: tables cannot be nested; table_begin found before previous
table_end.
A problem internal to GDB has been detected,
further debugging may prove unreliable.
Quit this debugging session? (y or n)
Doesn't this happen on ppc64 machines?
There might be lack of FREEBUF() somewhere.
Thanks for the hint about missing FREEBUF, yes, a FREEBUF was missing
in `ppc64_get_cpu_reg`, where the stack memory was allocated a buffer,
everytime `ppc64_get_cpu_reg` was called.
I have fixed in v7. I don't know why I didn't hit it before.
Thanks,
Aditya Gupta
>
> Thanks,
> Kazu