ITADN

Kernel: New panic

#26540Openoskar-skog 创建于 2026-01-08
O
oskar-skogcommented
Same reproducer script as in #26489 I just got a very different backtrace with `dash` on riscv64. ``` [dash(323:323)]: ASSERTION FAILED: current_thread->previous_mode() == ExecutionMode::User [dash(323:323)]: ./Kernel/Syscalls/SyscallHandler.cpp:176 in void Kernel::syscall_handler(TrapFrame*) [dash(323:323)]: KERNEL PANIC! :^( [dash(323:323)]: Aborted [dash(323:323)]: at ./Kernel/Library/Assertions.cpp:38 in void abort() Kernel + 0x0000000000319292 Kernel::__panic(char const*, unsigned int, char const*) +0x138 Kernel + 0x0000000000314e0a AK::Function<void ()>::callable_wrapper() const [clone .part.0] +0x0 Kernel + 0x0000000000314cf2 __assertion_failed(char const*, char const*, unsigned int, char const*) +0x12e Kernel + 0x00000000003ebafc syscall_handler +0xad6 Kernel + 0x000000000047f86c trap_handler +0x22e Kernel + 0x000000000049166e restore_context_and_sret +0x0 ``` Testing on riscv64... dash: fast crash 2/2 times oksh: crash 1/4 times bash: too slow ``` [oksh(3055:3055)]: ASSERTION FAILED: current_thread->previous_mode() == ExecutionMode::User [oksh(3055:3055)]: ./Kernel/Syscalls/SyscallHandler.cpp:176 in void Kernel::syscall_handler(TrapFrame*) [oksh(3055:3055)]: KERNEL PANIC! :^( [oksh(3055:3055)]: Aborted [oksh(3055:3055)]: at ./Kernel/Library/Assertions.cpp:38 in void abort() Kernel + 0x0000000000319292 Kernel::__panic(char const*, unsigned int, char const*) +0x138 Kernel + 0x0000000000314e0a AK::Function<void ()>::callable_wrapper() const [clone .part.0] +0x0 Kernel + 0x0000000000314cf2 __assertion_failed(char const*, char const*, unsigned int, char const*) +0x12e Kernel + 0x00000000003ebafc syscall_handler +0xad6 Kernel + 0x000000000047f86c trap_handler +0x22e Kernel + 0x000000000049166e restore_context_and_sret +0x0 ```
1 条评论