Kernel exception stack with BTRFS

I am getting this problem showing in the logs as below. The machine will hang and maybe reboot when it happens. The cause seems to be accessing a BTRFS drive, mostly with write operations. Machine details:
Hardkernel Odroid HC4 4GB
Linux CoreELEC 4.9.269 #1 SMP PREEMPT Fri Jun 30 09:03:05 CEST 2023 aarch64 GNU/Linux
Seagate 6TB BTRFS drive

I have tried the latest nightly and the same problem. It is intermittent, but enough to make the device unusable. Running armbian on this device and I have no problems, so problem with OS. Here is the journalctl when I try an operation on the drive.

Aug 18 11:07:51 CoreELEC kernel: ff00: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
Aug 18 11:07:51 CoreELEC kernel: ff20: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
Aug 18 11:07:51 CoreELEC kernel: ff40: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
Aug 18 11:07:51 CoreELEC kernel: ff60: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
Aug 18 11:07:51 CoreELEC kernel: ff80: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
Aug 18 11:07:51 CoreELEC kernel: ffa0: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
Aug 18 11:07:51 CoreELEC kernel: ffc0: 0000000000000000 0000000000800005 0000000000000000 0000000000000000
Aug 18 11:07:51 CoreELEC kernel: ffe0: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
Aug 18 11:07:51 CoreELEC kernel: Call trace:
Aug 18 11:07:51 CoreELEC kernel: Exception stack(0xffffffc0a65bf370 to 0xffffffc0a65bf4a0)
Aug 18 11:07:51 CoreELEC kernel: f360:                                   0000000000000041 0000007fffffffff
Aug 18 11:07:51 CoreELEC kernel: f380: ffffffc0a65bf540 ffffff80091d096c 0000000000000000 0000000000000000
Aug 18 11:07:51 CoreELEC kernel: f3a0: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
Aug 18 11:07:51 CoreELEC kernel: f3c0: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
Aug 18 11:07:51 CoreELEC kernel: f3e0: 0000000000000000 0000000000000000 ffffffc0a65bf430 ffffff800239c410
Aug 18 11:07:51 CoreELEC kernel: f400: 0000000000000000 0000000000000065 ffffff80091d0d64 0000000000001300
Aug 18 11:07:51 CoreELEC kernel: f420: 0000000000000000 ffffffc0a5cd0620 0000000000000041 000000000000003f
Aug 18 11:07:51 CoreELEC kernel: f440: 0000000000000041 0000000000000000 ffffffc0b63bcc40 0000000000000000
Aug 18 11:07:51 CoreELEC kernel: f460: 0000000000000a50 000000000000050c 071c71c71c71c71c 000000000000048d
Aug 18 11:07:51 CoreELEC kernel: f480: 0000000000000000 0000000000000000 ffffff800914c2e0 0000000000000000
Aug 18 11:07:51 CoreELEC kernel: [<0000000033002b97>] __do_page_cache_readahead+0x4c/0x290

I think the only useful suggestion will be to switch filesystem.

I can do that, thought I would air the problem here first. I see there has been previous BTRFS segment fault problems with older kernels, they were fixed for this release 4.9.269

Is it worth trying a later kernel?

I backed up, reformated to ext4 and restored. The problem has been resolved. It was another kernel bug with BTRFS. Thanks for you input @vpeter

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.