scripts/decode_stacktrace.sh doesn't show the file name and line num?

From: Ammar Faizi
Date: Wed Jan 11 2023 - 09:36:07 EST



What is the kernel build config to enable debugging line by line?

With CONFIG_DEBUG_KERNEL=y, scripts/decode_stacktrace.sh doesn't show
the file name when used to decode a call trace. It shows "(??:?)" and
sometimes it shows the file name, but no line like (fair.c:?).

Running this in the Linux kernel compilation directory:

$ scripts/decode_stacktrace.sh vmlinux < kernel_log_from_dmesg.txt;
[...]
[ 1020.299126] RSP: 0018:ffff888106a97318 EFLAGS: 00000202
[ 1020.299131] RAX: ffff888106a973b3 RBX: ffff888106a973b0 RCX: ffffffff810acb79
[ 1020.299136] RDX: 0000000000000003 RSI: dffffc0000000000 RDI: ffff888106a973b0
[ 1020.299140] RBP: ffff888106a97440 R08: dffffc0000000000 R09: fffffbfff0abd8cd
[ 1020.299145] R10: 0000000000000000 R11: dffffc0000000001 R12: ffff888106a973f8
[ 1020.299149] R13: ffff888106a97408 R14: ffffffff8142c967 R15: ffff888106a976d0
[ 1020.299154] FS: 00007f190332e740(0000) GS:ffff889796180000(0000) knlGS:0000000000000000
[ 1020.299160] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 1020.299164] CR2: 0000000020002240 CR3: 000000015d478002 CR4: 00000000007706e0
[ 1020.299169] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[ 1020.299171] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
[ 1020.299174] PKRU: 55555554
[ 1020.299175] Call Trace:
[ 1020.299176] <TASK>
[ 1020.299178] unwind_next_frame (??:?)
[ 1020.299183] ? kasan_set_track (??:?)
[ 1020.299186] ? stack_trace_consume_entry (stacktrace.c:?)
[ 1020.299192] ? kasan_save_free_info (??:?)
[ 1020.299196] ? stack_trace_save (stacktrace.c:?)
[ 1020.299200] arch_stack_walk (??:?)
[ 1020.299205] ? kasan_save_free_info (??:?)
[ 1020.299209] ? tcp_rcv_established (??:?)
[ 1020.299213] stack_trace_save (??:?)
[ 1020.299218] kasan_set_track (??:?)
[ 1020.299222] ? kasan_set_track (??:?)
[ 1020.299225] ? kasan_save_free_info (??:?)
[ 1020.299229] ? io_wq_submit_work (??:?)
[ 1020.299232] ? io_worker_handle_work (io-wq.c:?)
[ 1020.299236] ? io_wqe_worker (io-wq.c:?)
[ 1020.299239] ? ret_from_fork (??:?)
[ 1020.299244] ? __mod_timer (timer.c:?)
[ 1020.299247] ? tcp_ack_update_rtt (tcp_input.c:?)
[ 1020.299251] ? cubictcp_cong_avoid (tcp_cubic.c:?)
[ 1020.299259] ? tcp_rate_gen (??:?)
[ 1020.299263] ? tcp_ack (tcp_input.c:?)
[ 1020.299268] ? kasan_save_free_info (??:?)
[ 1020.299273] ? __kmem_cache_free (??:?)
[ 1020.299278] kasan_save_free_info (??:?)
[ 1020.299285] ____kasan_slab_free (common.c:?)
[ 1020.299290] kmem_cache_free (??:?)
[ 1020.299294] ? tcp_rcv_established (??:?)
[ 1020.299300] tcp_rcv_established (??:?)
[ 1020.299305] tcp_v4_do_rcv (??:?)
[ 1020.299310] __release_sock (??:?)
[ 1020.299315] __sk_flush_backlog (??:?)
[ 1020.299318] tcp_sendmsg_locked (??:?)
[ 1020.299327] tcp_sendmsg (??:?)
[ 1020.299331] ? inet_send_prepare (??:?)
[ 1020.299335] ____sys_sendmsg (socket.c:?)
[ 1020.299341] __sys_sendmsg_sock (??:?)
[ 1020.299345] io_sendmsg_zc (??:?)
[ 1020.299350] ? update_load_avg (fair.c:?)
[ 1020.299354] ? reweight_entity (fair.c:?)
[ 1020.299359] ? psi_group_change (build_utility.c:?)
[ 1020.299365] ? io_assign_file (io_uring.c:?)
[ 1020.299369] io_issue_sqe (io_uring.c:?)
[ 1020.299372] io_wq_submit_work (??:?)
[ 1020.299376] io_worker_handle_work (io-wq.c:?)
[ 1020.299382] io_wqe_worker (io-wq.c:?)
[ 1020.299387] ? finish_task_switch (core.c:?)
[ 1020.299393] ? recalc_sigpending (??:?)
[ 1020.299398] ? create_worker_cont (io-wq.c:?)
[ 1020.299401] ret_from_fork (??:?)
[ 1020.299407] </TASK>

--
Ammar Faizi