apache / nuttx

Apache NuttX is a mature, real-time embedded operating system (RTOS)
https://nuttx.apache.org/
Apache License 2.0
2.74k stars 1.14k forks source link

TLSF doesn't work with rv-virt/knsh64 #12291

Open yf13 opened 5 months ago

yf13 commented 5 months ago

Reproducing

Similar to that of issue #12209, but using latest master from Nuttx upstream.

QEMU is still 6.2 but OpenSBI firmware is v1.0, as the default v0.9 is no longer supported but latest S-mode.

Crash info:

(gdb) bt
#0  _assert (filename=filename@entry=0x8021ce90 "/home/yf/Projects/Nuttx/nuttx/arch/risc-v/src/common/riscv_pgalloc.c", linenum=<optimized out>, msg=0x0, regs=0x80401390 <g_last_regs>, regs@entry=0x0) at /home/yf/Projects/Nuttx/nuttx/sched/misc/assert.c:544
#1  0x0000000080202d50 in __assert (filename=filename@entry=0x8021ce90 "/home/yf/Projects/Nuttx/nuttx/arch/risc-v/src/common/riscv_pgalloc.c", linenum=<optimized out>, msg=<optimized out>) at /home/yf/Projects/Nuttx/nuttx/libs/libc/assert/lib_assert.c:36
#2  0x00000000802135a6 in pgalloc (brkaddr=<optimized out>, npages=<optimized out>) at /home/yf/Projects/Nuttx/nuttx/arch/risc-v/src/common/riscv_pgalloc.c:125
#3  0x0000000080209c6a in dispatch_syscall () at /home/yf/Projects/Nuttx/nuttx/arch/risc-v/src/common/riscv_swint.c:76
Backtrace stopped: frame did not save the PC

As code base changed, this is booked to track it rather than reopening 12209.

xiaoxiang781216 commented 5 months ago

it's a different problem.