Subject: 'do_IRQ: stack overflow: 1072' at using bcachefs partition (ppc32, kernel 6.10.5)

From: Erhard Furtner <[email-masked]>
Date: Thu, 15 Aug 2024 12:56:51 +0200

Greetings!

Basically bcachefs works on ppc32 but I get stack overflows like this one rather easy:

[...]
do_IRQ: stack overflow: 1072
CPU: 1 PID: 2114 Comm: bash Not tainted 6.10.5-gentoo-PMacG4 #1
Hardware name: PowerMac3,6 7455 0x80010303 PowerMac
Call Trace:
[effe3fc0] [c0785664] dump_stack_lvl+0x70/0x8c (unreliable)
[effe3fe0] [c00081fc] __do_irq+0x28/0x80
[effe3ff0] [c000873c] __do_IRQ+0x7c/0x84
[c8aec430] [c8aec610] 0xc8aec610
[c8aec450] [c00087ac] do_IRQ+0x68/0x7c
[c8aec470] [c00045b4] HardwareInterrupt_virt+0x108/0x10c
--- interrupt: 500 at find_kallsyms_symbol+0xe4/0x1cc
NIP:  c00b5a90 LR: c00b5fd4 CTR: 00000000
REGS: c8aec480 TRAP: 0500   Not tainted  (6.10.5-gentoo-PMacG4)
MSR:  00209032 <EE,ME,IR,DR,RI>  CR: 488284e2  XER: 00000000

GPR00: 00000062 c8aec540 c515d0a0 00000167 beb73318 c8aec5dc c8aec5d8 f2e8f99c 
GPR08: beb732dc f2e99d70 beb73328 000001f8 00000a11 00a0fb48 ca99dba4 c5483388 
GPR16: ca99dba4 00009032 00000001 c61b6b18 00000002 f2eb619f c8a8338d c085dbb0 
GPR24: f2eb61a1 00000000 c8aec5d8 c8aec5dc beb73318 c8aec610 f2e9b3e0 f2ea93e4 
NIP [c00b5a90] find_kallsyms_symbol+0xe4/0x1cc
LR [c00b5fd4] module_address_lookup+0x70/0x88
--- interrupt: 500
[c8aec540] [00000000] 0x0 (unreliable)
[c8aec560] [c00b5f90] module_address_lookup+0x2c/0x88
[c8aec590] [c00d4fa8] kallsyms_lookup_buildid+0xc8/0x100
[c8aec5c0] [c00d5034] __sprint_symbol.isra.0+0x54/0xe4
[c8aec600] [c079e988] symbol_string+0xf0/0x10c
[c8aec8c0] [c07a1e6c] pointer+0x70/0x424
[c8aec900] [c07a25bc] vsnprintf+0x39c/0x5dc
[c8aec950] [bebe419c] bch2_prt_printf+0x88/0xd4 [bcachefs]
[c8aec9a0] [bec10fac] __bch2_trans_paths_to_text.constprop.0+0x58/0x68 [bcachefs]
[c8aec9c0] [bec11114] bch2_trans_update_max_paths+0x7c/0xe8 [bcachefs]
[c8aeca10] [beb63154] btree_path_alloc+0x74/0x18c [bcachefs]
[c8aeca40] [beb64944] bch2_path_get+0x2b4/0x360 [bcachefs]
[c8aecab0] [beb658a0] bch2_trans_iter_init_outlined+0x110/0x160 [bcachefs]
[c8aecb30] [beb69358] bch2_trans_iter_init+0x3c/0x4c [bcachefs]
[c8aecb60] [beb6b0d8] bch2_btree_path_traverse_cached_slowpath+0x9b4/0xd2c [bcachefs]
[c8aecc60] [beb61bb4] bch2_btree_path_traverse_one+0x118/0x7b4 [bcachefs]
[c8aecd80] [beb65c98] bch2_btree_iter_peek_slot+0x14c/0x55c [bcachefs]
[c8aece80] [beb3ff0c] try_alloc_bucket+0x198/0x380 [bcachefs]
[c8aed000] [beb40474] bch2_bucket_alloc_freelist+0x380/0x498 [bcachefs]
[c8aed120] [beb40d3c] bch2_bucket_alloc_trans+0x264/0x37c [bcachefs]
[c8aed1c0] [beb417cc] bch2_bucket_alloc_set_trans+0x11c/0x1fc [bcachefs]
[c8aed360] [beb41d74] __open_bucket_add_buckets+0x4c8/0x520 [bcachefs]
[c8aed440] [beb421c4] bch2_alloc_sectors_start_trans+0x208/0x7b4 [bcachefs]
[c8aed530] [beb7849c] __bch2_btree_node_alloc+0x1a8/0x370 [bcachefs]
[c8aed630] [beb78730] bch2_btree_reserve_get+0xcc/0x10c [bcachefs]
[c8aed660] [beb79638] bch2_btree_update_start+0x40c/0x66c [bcachefs]
[c8aed6e0] [beb7c490] bch2_btree_split_leaf+0x48/0x180 [bcachefs]
[c8aed710] [beb71234] bch2_trans_commit_error.isra.0+0x7c/0x274 [bcachefs]
[c8aed760] [beb72fd0] __bch2_trans_commit+0xffc/0x1070 [bcachefs]
[c8aed7e0] [bebd9700] bch2_logged_op_start+0x4c/0x8c [bcachefs]
[c8aed800] [bebc72b8] bch2_truncate+0xc4/0xfc [bcachefs]
[c8aed870] [bebab2c8] bchfs_truncate+0x2b4/0x37c [bcachefs]
[c8aed980] [c0208454] notify_change+0x380/0x504
[c8aeda00] [c01e66ac] do_truncate+0xc8/0xec
[c8aeda80] [c01faed8] path_openat+0x9bc/0x9f4
[c8aedb00] [c01fafa8] do_filp_open+0x98/0xe4
[c8aedbd0] [c01e77bc] do_sys_openat2+0x84/0xc0
[c8aedc20] [c01e78f4] do_sys_open+0x38/0x40
[c8aedc60] [c00102c8] system_call_exception+0xec/0x124
[c8aedf30] [c00151ac] ret_from_syscall+0x0/0x2c
--- interrupt: c00 at 0x6bb554
NIP:  006bb554 LR: 006bb4f4 CTR: 006bb4e4
REGS: c8aedf40 TRAP: 0c00   Not tainted  (6.10.5-gentoo-PMacG4)
MSR:  0000d032 <EE,PR,ME,IR,DR,RI>  CR: 202284e4  XER: 20000000

GPR00: 0000011e aff9ccb0 a7bf9540 ffffff9c 0235a400 00010241 000001b6 a7b0622c 
GPR08: 00000002 006bb4e4 aff9cd48 00658070 008be7c4 00a0fb48 00a11eb0 00000000 
GPR16: 20222420 023938c0 00000000 00a12020 00a11f60 00000241 02394ea0 0235a400 
GPR24: aff9ceb8 00a11fe8 00000001 008c3d60 0235a400 008e8148 007bffa8 00000241 
NIP [006bb554] 0x6bb554
LR [006bb4f4] 0x6bb4f4
--- interrupt: c00
do_IRQ: stack overflow: 1872
CPU: 1 PID: 2114 Comm: bash Not tainted 6.10.5-gentoo-PMacG4 #1
Hardware name: PowerMac3,6 7455 0x80010303 PowerMac
Call Trace:
[effe3fc0] [c0785664] dump_stack_lvl+0x70/0x8c (unreliable)
[effe3fe0] [c00081fc] __do_irq+0x28/0x80
[effe3ff0] [c000873c] __do_IRQ+0x7c/0x84
[c8aec750] [c8aec930] 0xc8aec930
[c8aec770] [c00087ac] do_IRQ+0x68/0x7c
[c8aec790] [c00045b4] HardwareInterrupt_virt+0x108/0x10c
--- interrupt: 500 at find_kallsyms_symbol+0xdc/0x1cc
NIP:  c00b5a88 LR: c00b5fd4 CTR: 00000000
REGS: c8aec7a0 TRAP: 0500   Not tainted  (6.10.5-gentoo-PMacG4)
MSR:  0220b032 <VEC,EE,FP,ME,IR,DR,RI>  CR: 488224e8  XER: 00000000

GPR00: 00005b11 c8aec860 c515d0a0 00000741 beb3f4e8 c8aec8fc c8aec8f8 f2e8f99c 
GPR08: beb3f4ac f2e93fd0 beb3f4f8 00000056 00000437 00a0fb48 00000000 00000001 
GPR16: 00000000 0000029f 00000001 c61b6b18 00000002 f2eb619f c8a844fd c085dbb0 
GPR24: f2eb61a1 00000000 c8aec8f8 c8aec8fc beb3f4e8 c8aec930 f2e9b3e0 f2ea0ee1 
NIP [c00b5a88] find_kallsyms_symbol+0xdc/0x1cc
LR [c00b5fd4] module_address_lookup+0x70/0x88
--- interrupt: 500
[c8aec860] [c8aec920] 0xc8aec920 (unreliable)
[c8aec880] [c00b5f90] module_address_lookup+0x2c/0x88
[c8aec8b0] [c00d4fa8] kallsyms_lookup_buildid+0xc8/0x100
[c8aec8e0] [c00d5034] __sprint_symbol.isra.0+0x54/0xe4
[c8aec920] [c079e988] symbol_string+0xf0/0x10c
[c8aecbe0] [c07a1e6c] pointer+0x70/0x424
[c8aecc20] [c07a25bc] vsnprintf+0x39c/0x5dc
[c8aecc70] [bebe419c] bch2_prt_printf+0x88/0xd4 [bcachefs]
[c8aeccc0] [bec10fac] __bch2_trans_paths_to_text.constprop.0+0x58/0x68 [bcachefs]
[c8aecce0] [bec11114] bch2_trans_update_max_paths+0x7c/0xe8 [bcachefs]
[c8aecd30] [beb63154] btree_path_alloc+0x74/0x18c [bcachefs]
[c8aecd60] [beb64944] bch2_path_get+0x2b4/0x360 [bcachefs]
[c8aecdd0] [beb658a0] bch2_trans_iter_init_outlined+0x110/0x160 [bcachefs]
[c8aece50] [beb3f4e8] bch2_trans_iter_init+0x3c/0x4c [bcachefs]
[c8aece80] [beb3ff00] try_alloc_bucket+0x18c/0x380 [bcachefs]
[c8aed000] [beb40474] bch2_bucket_alloc_freelist+0x380/0x498 [bcachefs]
[c8aed120] [beb40d3c] bch2_bucket_alloc_trans+0x264/0x37c [bcachefs]
[c8aed1c0] [beb417cc] bch2_bucket_alloc_set_trans+0x11c/0x1fc [bcachefs]
[c8aed360] [beb41d74] __open_bucket_add_buckets+0x4c8/0x520 [bcachefs]
[c8aed440] [beb421c4] bch2_alloc_sectors_start_trans+0x208/0x7b4 [bcachefs]
[c8aed530] [beb7849c] __bch2_btree_node_alloc+0x1a8/0x370 [bcachefs]
[c8aed630] [beb786f8] bch2_btree_reserve_get+0x94/0x10c [bcachefs]
[c8aed660] [beb79638] bch2_btree_update_start+0x40c/0x66c [bcachefs]
[c8aed6e0] [beb7c490] bch2_btree_split_leaf+0x48/0x180 [bcachefs]
[c8aed710] [beb71234] bch2_trans_commit_error.isra.0+0x7c/0x274 [bcachefs]
[c8aed760] [beb72fd0] __bch2_trans_commit+0xffc/0x1070 [bcachefs]
[c8aed7e0] [bebd9700] bch2_logged_op_start+0x4c/0x8c [bcachefs]
[c8aed800] [bebc72b8] bch2_truncate+0xc4/0xfc [bcachefs]
[c8aed870] [bebab2c8] bchfs_truncate+0x2b4/0x37c [bcachefs]
[c8aed980] [c0208454] notify_change+0x380/0x504
[c8aeda00] [c01e66ac] do_truncate+0xc8/0xec
[c8aeda80] [c01faed8] path_openat+0x9bc/0x9f4
[c8aedb00] [c01fafa8] do_filp_open+0x98/0xe4
[c8aedbd0] [c01e77bc] do_sys_openat2+0x84/0xc0
[c8aedc20] [c01e78f4] do_sys_open+0x38/0x40
[c8aedc60] [c00102c8] system_call_exception+0xec/0x124
[c8aedf30] [c00151ac] ret_from_syscall+0x0/0x2c
--- interrupt: c00 at 0x6bb554
NIP:  006bb554 LR: 006bb4f4 CTR: 006bb4e4
REGS: c8aedf40 TRAP: 0c00   Not tainted  (6.10.5-gentoo-PMacG4)
MSR:  0000d032 <EE,PR,ME,IR,DR,RI>  CR: 202284e4  XER: 20000000

GPR00: 0000011e aff9ccb0 a7bf9540 ffffff9c 0235a400 00010241 000001b6 a7b0622c 
GPR08: 00000002 006bb4e4 aff9cd48 00658070 008be7c4 00a0fb48 00a11eb0 00000000 
GPR16: 20222420 023938c0 00000000 00a12020 00a11f60 00000241 02394ea0 0235a400 
GPR24: aff9ceb8 00a11fe8 00000001 008c3d60 0235a400 008e8148 007bffa8 00000241 
NIP [006bb554] 0x6bb554
LR [006bb4f4] 0x6bb4f4
--- interrupt: c00
do_IRQ: stack overflow: 1872
CPU: 1 PID: 2114 Comm: bash Not tainted 6.10.5-gentoo-PMacG4 #1
Hardware name: PowerMac3,6 7455 0x80010303 PowerMac
Call Trace:
[effe3fc0] [c0785664] dump_stack_lvl+0x70/0x8c (unreliable)
[effe3fe0] [c00081fc] __do_irq+0x28/0x80
[effe3ff0] [c000873c] __do_IRQ+0x7c/0x84
[c8aec750] [c8aec930] 0xc8aec930
[c8aec770] [c00087ac] do_IRQ+0x68/0x7c
[c8aec790] [c00045b4] HardwareInterrupt_virt+0x108/0x10c
--- interrupt: 500 at find_kallsyms_symbol+0xcc/0x1cc
NIP:  c00b5a78 LR: c00b5fd4 CTR: 00000000
REGS: c8aec7a0 TRAP: 0500   Not tainted  (6.10.5-gentoo-PMacG4)
MSR:  0220b032 <VEC,EE,FP,ME,IR,DR,RI>  CR: 488224e2  XER: 00000000

GPR00: 00000003 c8aec860 c515d0a0 00000916 beb3f4e8 c8aec8fc c8aec8f8 f2e8f99c 
GPR08: beb3f4ac f2e92280 beb3f4f8 00000056 00000262 00a0fb48 00000000 00000001 
GPR16: 00000000 0000029f 00000001 c61b6b18 00000002 f2eb619f c7244e0d c085dbb0 
GPR24: f2eb61a1 00000000 c8aec8f8 c8aec8fc beb3f4e8 c8aec930 f2e9b3e0 f2e9e9cb 
NIP [c00b5a78] find_kallsyms_symbol+0xcc/0x1cc
LR [c00b5fd4] module_address_lookup+0x70/0x88
--- interrupt: 500
[c8aec860] [c8aec920] 0xc8aec920 (unreliable)
[c8aec880] [c00b5f90] module_address_lookup+0x2c/0x88
[c8aec8b0] [c00d4fa8] kallsyms_lookup_buildid+0xc8/0x100
[c8aec8e0] [c00d5034] __sprint_symbol.isra.0+0x54/0xe4
[c8aec920] [c079e988] symbol_string+0xf0/0x10c
[c8aecbe0] [c07a1e6c] pointer+0x70/0x424
[c8aecc20] [c07a25bc] vsnprintf+0x39c/0x5dc
[c8aecc70] [bebe419c] bch2_prt_printf+0x88/0xd4 [bcachefs]
[c8aeccc0] [bec10fac] __bch2_trans_paths_to_text.constprop.0+0x58/0x68 [bcachefs]
[c8aecce0] [bec11114] bch2_trans_update_max_paths+0x7c/0xe8 [bcachefs]
[c8aecd30] [beb63154] btree_path_alloc+0x74/0x18c [bcachefs]
[c8aecd60] [beb64944] bch2_path_get+0x2b4/0x360 [bcachefs]
[c8aecdd0] [beb658a0] bch2_trans_iter_init_outlined+0x110/0x160 [bcachefs]
[c8aece50] [beb3f4e8] bch2_trans_iter_init+0x3c/0x4c [bcachefs]
[c8aece80] [beb3ff00] try_alloc_bucket+0x18c/0x380 [bcachefs]
[c8aed000] [beb40474] bch2_bucket_alloc_freelist+0x380/0x498 [bcachefs]
[c8aed120] [beb40d3c] bch2_bucket_alloc_trans+0x264/0x37c [bcachefs]
[c8aed1c0] [beb417cc] bch2_bucket_alloc_set_trans+0x11c/0x1fc [bcachefs]
[c8aed360] [beb41d74] __open_bucket_add_buckets+0x4c8/0x520 [bcachefs]
[c8aed440] [beb421c4] bch2_alloc_sectors_start_trans+0x208/0x7b4 [bcachefs]
[c8aed530] [beb7849c] __bch2_btree_node_alloc+0x1a8/0x370 [bcachefs]
[c8aed630] [beb786f8] bch2_btree_reserve_get+0x94/0x10c [bcachefs]
[c8aed660] [beb79638] bch2_btree_update_start+0x40c/0x66c [bcachefs]
[c8aed6e0] [beb7c490] bch2_btree_split_leaf+0x48/0x180 [bcachefs]
[c8aed710] [beb71234] bch2_trans_commit_error.isra.0+0x7c/0x274 [bcachefs]
[c8aed760] [beb72fd0] __bch2_trans_commit+0xffc/0x1070 [bcachefs]
[c8aed7e0] [bebd9700] bch2_logged_op_start+0x4c/0x8c [bcachefs]
[c8aed800] [bebc72b8] bch2_truncate+0xc4/0xfc [bcachefs]
[c8aed870] [bebab2c8] bchfs_truncate+0x2b4/0x37c [bcachefs]
[c8aed980] [c0208454] notify_change+0x380/0x504
[c8aeda00] [c01e66ac] do_truncate+0xc8/0xec
[c8aeda80] [c01faed8] path_openat+0x9bc/0x9f4
[c8aedb00] [c01fafa8] do_filp_open+0x98/0xe4
[c8aedbd0] [c01e77bc] do_sys_openat2+0x84/0xc0
[c8aedc20] [c01e78f4] do_sys_open+0x38/0x40
[c8aedc60] [c00102c8] system_call_exception+0xec/0x124
[c8aedf30] [c00151ac] ret_from_syscall+0x0/0x2c
--- interrupt: c00 at 0x6bb554
NIP:  006bb554 LR: 006bb4f4 CTR: 006bb4e4
REGS: c8aedf40 TRAP: 0c00   Not tainted  (6.10.5-gentoo-PMacG4)
MSR:  0000d032 <EE,PR,ME,IR,DR,RI>  CR: 202284e4  XER: 20000000

GPR00: 0000011e aff9ccb0 a7bf9540 ffffff9c 0235a400 00010241 000001b6 a7b0622c 
GPR08: 00000002 006bb4e4 aff9cd48 00658070 008be7c4 00a0fb48 00a11eb0 00000000 
GPR16: 20222420 023938c0 00000000 00a12020 00a11f60 00000241 02394ea0 0235a400 
GPR24: aff9ceb8 00a11fe8 00000001 008c3d60 0235a400 008e8148 007bffa8 00000241 
NIP [006bb554] 0x6bb554
LR [006bb4f4] 0x6bb4f4
--- interrupt: c00

This was at untaring a larger archive on the bcachefs partition. The bcachefs partition is on HDD, uses zstd:1 compression and xxhash for both hashes. No special options otherwise.

I have not yet seen this stack overflows on x86_64 and x86_32 so far, only ppc32.

Kernel .config and full dmesg attached.

Regards,
Erhard