我有一台 Sipeed Lichee RV86,它是一台 RISC-V 计算机,我在上面运行 Debian。
在我上次启动时,我看到一个内核哎呀:
[ 8.674209] systemd[1]: Started Journal Service.
[ 8.709804] Unable to handle kernel paging request at virtual address ffffffdf809fb520
[ 8.739143] Oops [#1]
[ 8.741708] Modules linked in: xt_time xt_multiport xt_mark xt_mac xt_limit xt_comment xt_TCPMSS xt_LOG uvcvideo videobuf2_vmalloc videobuf2_memops iptable_filter ipt_REJECT fuse
[ 8.759563] CPU: 0 PID: 102 Comm: udevadm Not tainted 5.4.61 #154
[ 8.766385] sepc: ffffffe000308dc8 ra : ffffffe000308818 sp : ffffffe01c37bdc0
[ 8.774486] gp : ffffffe0008f5a3c tp : ffffffe01e868000 t0 : 0000003fffc777a0
[ 8.782586] t1 : 0000003fffc777a0 t2 : 000000000000000a s0 : ffffffe01c37bde0
[ 8.790687] s1 : 0000000000000004 a0 : ffffffdf809fb498 a1 : ffffffe01c3fc200
[ 8.798786] a2 : 0000000000000004 a3 : 0000000000000004 a4 : ffffffe01c247900
[ 8.806887] a5 : ffffffe000308dbe a6 : ffffffe01c22e990 a7 : 0000000000000000
[ 8.814987] s2 : ffffffe01c247000 s3 : ffffffe01c3fc200 s4 : fffffffffffffff2
[ 8.823087] s5 : ffffffe01c37be98 s6 : ffffffe01c247020 s7 : 0000003fd19152c8
[ 8.831189] s8 : 0000002ad889fa78 s9 : 0000000000000006 s10: 0000002b0bd62480
[ 8.839287] s11: 0000003fffc77aa8 t3 : 0000003fd17911f8 t4 : 000000000000000f
[ 8.847387] t5 : 0000000000000001 t6 : 0000000000040000
[ 8.853333] sstatus: 0000000200000120 sbadaddr: ffffffdf809fb520 scause: 000000000000000d
[ 9.183428] ---[ end trace 5cfafc85a5ad65b2 ]---
[ 9.190368] EXT4-fs (mmcblk0p7): re-mounted. Opts: discard
[ 9.605062] systemd-journald[98]: Received client request to flush runtime journal.
问题是,在 amd64 机器上,我通常会得到内核 oops 的调用堆栈。所以我可以看到涉及哪些二进制文件/库/模块/函数。
在 riscv 机器上,我只得到一个错误的地址,但没有调用堆栈。
它确实显示 PID 102,但该进程目前不存在,因此我无法将其映射到二进制文件。
我该如何继续调查这起事故?
操作系统: Debian GNU/Linux 书虫/sid
核心:5.4.61
拱:riscv64