Hi, Tao
Thank you for the patch.
On 7/9/25 13:41, devel-request(a)lists.crash-utility.osci.io wrote:
> Date: Wed, 9 Jul 2025 17:41:12 +1200
> From: Tao Liu<ltao(a)redhat.com>
> Subject: [Crash-utility] [PATCH] x86_64: filter unwanted warning
> message for "bt -T" cmd
> To:devel@lists.crash-utility.osci.io
> Cc: Tao Liu<ltao(a)redhat.com>
> Message-ID:<20250709054112.145454-1-ltao@redhat.com>
> Content-Type: text/plain; charset="US-ASCII"; x-default=true
>
> After patch "x86_64: Add gdb multi-stack unwind support" applied, a
> warning message is observed for "bt -T" cmd:
>
> crash> bt -T
> bt: seek error: kernel virtual address: fffffffffffffffb type:
"gdb_readmem_callback"
> [ffffbaebc60d6fa8] srso_return_thunk at ffffffff82246fa5
> ...
>
> The root cause is, "bt -T" will set BT_TEXT_SYMBOLS_ALL for bt->flags,
> and eip is set to be 0 in kernel.c:back_trace(). Later in
> x86_64_low_budget_back_trace_cmd(), eip - 5, or 0xfffffffffffffffb is
> used for address disassembly by gdb "x/1i 0x%lx". This address is invalid
so
> the warning message is output.
>
> In fact, multi-stack unwind isn't designed for "bt -T" and eip = 0
case.
> To avoid the warning message, let's simply bypass the "bt -T" case
for
> x86_64. Other archs(arm64/ppc64) aren't affected by the issue because
> the gdb "x/1i 0x%lx" are not applied on those archs.
For the patch: Ack.
Thanks
Lianbo
> After apply the patch:
>
> crash> bt -T
> [ffffbaebc60d6fa8] srso_return_thunk at ffffffff82246fa5
> ...
>
> Signed-off-by: Tao Liu<ltao(a)redhat.com>
> ---
> x86_64.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/x86_64.c b/x86_64.c
> index cfefe3f..d7da536 100644
> --- a/x86_64.c
> +++ b/x86_64.c
> @@ -3636,7 +3636,8 @@ x86_64_low_budget_back_trace_cmd(struct bt_info *bt_in)
> level++;
> }
>
> - if (is_task_active(bt->task) && bt->flags &
BT_DUMPFILE_SEARCH) {
> + if (is_task_active(bt->task) && bt->flags &
BT_DUMPFILE_SEARCH &&
> + !(bt->flags & BT_TEXT_SYMBOLS_ALL)) {
> if (!extra_stacks_regs[extra_stacks_idx]) {
> extra_stacks_regs[extra_stacks_idx] =
> (struct user_regs_bitmap_struct *)
> -- 2.47.0
--
Crash-utility mailing list -- devel(a)lists.crash-utility.osci.io
To unsubscribe send an email to devel-leave(a)lists.crash-utility.osci.io
https://${domain_name}/admin/lists/devel.lists.crash-utility.osci.io/
Contribution Guidelines:
https://github.com/crash-utility/crash/wiki