Skip to content

[bug] libc test fail, panic and hang #109

@sunhaosheng

Description

@sunhaosheng

test_results.md

Describe the bug

Running libc-test results in multiple failures and several skipped cases. Total cases: 341, passed: 324, failed: 12, skipped: 5. The hung cases are skipped by the run script and include:

  • regression/malloc-brk-fail.exe
  • regression/malloc-oom.exe
  • regression/pthread_create-oom.exe
  • regression/setenv-oom.exe

ipc_sem.exe is also skipped and always triggers a panic. The overall statistics are summarized in test_results.md.

To Reproduce

  1. Run libc-test with the current run script.
  2. Observe the results summary.
./run libc-test-bins/src/functional
./run libc-test-bins/src/math
./run libc-test-bins/src/musl static
./run libc-test-bins/src/regression

Expected behavior

All libc-test cases should complete without panic, and hung cases should not occur.

Screenshots

N/A

Environment

  • Hardware platform: N/A

Additional context

The ipc_sem.exe case reports unimplemented syscalls (semget, semctl) and then panics. Other hang cases are skipped by the run script and counted as skipped.

Logs

[206.376578 3:52 starry_api::task:36] Enter user space: ip=0x4048300, sp=0x7ffeffffdf70
[206.445365 0:53 starry_api::task:36] Enter user space: ip=0x4048300, sp=0x7ffefffffb50
[206.504816 0:53 starry_api::syscall:627] Unimplemented syscall: semget
[206.513651 0:53 starry_api::syscall:627] Unimplemented syscall: semctl
[206.513954 0:53 starry_api::syscall:627] Unimplemented syscall: semget
[206.514878 0:53 starry_api::task:159] Task(53, "ipc_sem.exe") exit with code: 256
[206.515151 0:53 starry_core::task:498] Send signal SIGCHLD to process 52
[206.524066 2:52 starry_api::syscall::task::wait:64] sys_waitpid <= pid: 53, options: WaitOptions(0x0)
[206.527341 2:52 starry_api::task:159] Task(52, "runtest.exe") exit with code: 256
[206.527631 2:52 starry_core::task:498] Send signal SIGCHLD to process 16
[206.536375 1:16 starry_api::syscall::task::wait:64] sys_waitpid <= pid: -1, options: WaitOptions(0x0)
[206.536791 1:16 starry_api::syscall::task::wait:64] sys_waitpid <= pid: -1, options: WaitOptions(WNOHANG)
FAIL src/functional//ipc_sem.exe
src/functional/ipc_sem.c:44: semid = semget(k, 1, IPC_CREAT|0666) failed: Function not implemented
src/functional/ipc_sem.c:45: semctl(semid, 0, IPC_RMID) failed: Function not implemented
src/functional/ipc_sem.c:46: semid = semget(k, 1, IPC_CREAT|IPC_EXCL|0666) failed: Function not implemented
FAIL src/functional//ipc_sem.exe [status 1]
[206.541317 1:54 starry_api::task:36] Enter user space: ip=0x4048300, sp=0x7ffeffffdf70
[206.613666 2:55 starry_api::task:36] Enter user space: ip=0x4048300, sp=0x7ffefffffb50
[206.678483 2:55 starry_api::syscall::ipc::shm:126] Process 55 alloc shm virt addr start: 0x1000, size: 4096, mapping_flags: READ | WRITE | USER
[206.685353 0:56 starry_api::task:36] Enter user space: ip=0x4048300, sp=0x7ffefffffc70
[206.685517 2:55 starry_api::syscall::task::wait:64] sys_waitpid <= pid: 56, options: WaitOptions(0x0)
panicked at api/src/syscall/ipc/shm.rs:83:47:
called Option::unwrap() on a None value
Backtrace:
0: __rustc::rust_begin_unwind
at /home/sunhaosheng/StarryOS-kylin/arceos/modules/axruntime/src/lang_items.rs:6:23 with fp=0xffff000046abfae0, ip=0xffff0000402d84fc
1: core::panicking::panic_fmt
at /rustc/f5209000832c9d3bc29c91f4daef4ca9f28dc797/library/core/src/panicking.rs:80:14 with fp=0xffff000046abfb30, ip=0xffff000040401f54
2: core::panicking::panic
at /rustc/f5209000832c9d3bc29c91f4daef4ca9f28dc797/library/core/src/panicking.rs:150:5 with fp=0xffff000046abfb40, ip=0xffff000040401f2c
3: core::option::unwrap_failed
at /rustc/f5209000832c9d3bc29c91f4daef4ca9f28dc797/library/core/src/option.rs:2199:5 with fp=0xffff000046abfb50, ip=0xffff000040401db0
4: <core::option::Option<alloc::sync::Arc<lock_api::mutex::Mutex<axsync::mutex::RawMutex, starry_core::shm::ShmInner>>>>::unwrap
at /home/sunhaosheng/.rustup/toolchains/nightly-2025-12-12-aarch64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/option.rs:1016:21 with fp=0xffff000046abfce0, ip=0xffff00004025624c
5: starry_api::syscall::ipc::shm::sys_shmat
at /home/sunhaosheng/StarryOS-kylin/api/src/syscall/ipc/shm.rs:83:47 with fp=0xffff000046abfce0, ip=0xffff00004025624c
6: starry_api::syscall::handle_syscall
at /home/sunhaosheng/StarryOS-kylin/api/src/syscall/mod.rs:541:25 with fp=0xffff000046abfde0, ip=0xffff00004021a804
7: starry_api::task::new_user_task::{closure#0}
at /home/sunhaosheng/StarryOS-kylin/api/src/task.rs:45:46 with fp=0xffff000046abff80, ip=0xffff000040299ed0
8: <starry_api::task::new_user_task::{closure#0} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
at /home/sunhaosheng/.rustup/toolchains/nightly-2025-12-12-aarch64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:250:5 with fp=0xffff000046abff80, ip=0xffff000040299ed0
9: <alloc::boxed::Box<dyn core::ops::function::FnOnce<(), Output = ()>> as core::ops::function::FnOnce<()>>::call_once
at /home/sunhaosheng/.rustup/toolchains/nightly-2025-12-12-aarch64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:2206:9 with fp=0xffff000046abffe0, ip=0xffff000040392a30
10: axtask::task::task_entry
at /home/sunhaosheng/StarryOS-kylin/arceos/modules/axtask/src/task.rs:560:9 with fp=0xffff000046abffe0, ip=0xffff000040392a30
11: <core::option::Option<core::ptr::non_null::NonNull<u8>>>::unwrap
at /home/sunhaosheng/.rustup/toolchains/nightly-2025-12-12-aarch64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/option.rs:1016:21 with fp=0x0, ip=0xffff0000403929d0
12: axtask::task::TaskStack::alloc
at /home/sunhaosheng/StarryOS-kylin/arceos/modules/axtask/src/task.rs:473:71 with fp=0x0, ip=0xffff0000403929d0

[206.814962 0:56 axplat_aarch64_peripherals::psci:111] Shutting down...
make[1]: 离开目录“/home/sunhaosheng/StarryOS-kylin/arceos”

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions