Hi Lianbo
1. Fixed Thread-Specific Register Retrieval
* What was changed: In arm64_get_current_task_reg, the index was changed from a global
pointer (extra_stacks_idx - 1) to a thread-specific ID (sid
- 1).
* Why it was fixed: Previously, the code always returned registers for the last added
stack segment, regardless of which GDB thread was being
inspected. This led to register data corruption when a task had multiple stack
transitions (e.g., IRQ stack to Process stack). Now, it correctly
maps each GDB thread to its corresponding register set.
2. Eliminated Redundant Initial Backtrace for Panic Task
* What was changed: Added (bt->task != tt->panic_task) checks in both
arm64_back_trace_cmd and arm64_back_trace_cmd_v2 before adding the initial
context as a GDB substack.
* Why it was fixed:
* For the Crashing (Panic) Task, GDB’s main thread (Thread 0) is already
initialized with the correct registers from the ELF notes/crash notes.
* Adding it again as a substack created a "Clone" (Thread 1) with
identical registers, causing the backtrace to repeat itself (e.g., showing
frames #0-20 and then repeating them as #21-41).
* By skipping this initial substack for the panic task only, we prevent the
duplication while still allowing other tasks to correctly register
their contexts.
Summary of Benefits:
* No more duplicate frames: The gdb bt output for the crashing task will now start from
frame #0 and continue linearly without repeating the entire
stack.
* Correct Register Data: Multiple stack segments (like IRQ or Exception stacks) will
now show the correct register values for their respective
frames because the indexing is no longer hardcoded to the "last" segment.
Could you please test using the attached patch?
Thanks
Li Pengfei
发件人: lijiang <lijiang(a)redhat.com>
发送时间: 2026年2月5日 10:29
收件人: 李鹏飞 <lipengfei28(a)xiaomi.com>
抄送: devel(a)lists.crash-utility.osci.io
主题: [External Mail]Re: [PATCH] arm64: Fix broken/incomplete gdb backtrace and unify output
format
[外部邮件]
此邮件来源于小米公司外部,请谨慎处理。若对邮件安全性存疑,请将邮件转发给misec@xiaomi.com进行反馈<mailto:请将邮件转发给misec@xiaomi.com进行反馈>
On Wed, Feb 4, 2026 at 6:01 PM 李鹏飞
<lipengfei28@xiaomi.com<mailto:lipengfei28@xiaomi.com>> wrote:
Hi Lianbo
I’ve reviewed and tested the patch on my setup, but I wasn’t able to reproduce the issue
on my side. All relevant tests and scenarios passed as expected.
Since you mentioned that the problem occurs in your environment, it might be related to
differences in configuration, kernel version, or other environment-specific factors. Could
you share more details about your setup (kernel version, config, workloads, etc.) so we
can investigate further?
It doesn't have any specific configuration, I tested it on an arm64 virtual machine.
Probably, the current issue can be also reproduced on CentOS 10 or other distributions.
Also, could you send me your crash dump and the corresponding vmlinux? I can try debugging
it on my side to see what might be causing the issue.
The dump file is hundreds of megabytes, and basically I can not share it with you. Sorry
about that.
I’m happy to help dig deeper once we have the environment specifics.
Sounds good.
Thanks
Lianbo
Thanks
Li Pengfei
#/******本邮件及其附件含有小米公司的保密信息,仅限于发送给上面地址中列出的个人或群组。禁止任何其他人以任何形式使用(包括但不限于全部或部分地泄露、复制、或散发)本邮件中的信息。如果您错收了本邮件,请您立即电话或邮件通知发件人并删除本邮件!
This e-mail and its attachments contain confidential information from XIAOMI, which is
intended only for the person or entity whose address is listed above. Any use of the
information contained herein in any way (including, but not limited to, total or partial
disclosure, reproduction, or dissemination) by persons other than the intended
recipient(s) is prohibited. If you receive this e-mail in error, please notify the sender
by phone or email immediately and delete it!******/#