Skip to content

openkal-musl 0.6.0: a caller's redirection reaches the program it starts - #271

Merged
Sunrisepeak merged 1 commit into
mainfrom
bump/openkal-musl-0.6.0
Aug 28, 2026
Merged

openkal-musl 0.6.0: a caller's redirection reaches the program it starts#271
Sunrisepeak merged 1 commit into
mainfrom
bump/openkal-musl-0.6.0

Conversation

@Sunrisepeak

@Sunrisepeak Sunrisepeak commented Aug 28, 2026

Copy link
Copy Markdown
Member

openkal-musl 0.6.0, released and mirrored. openkal-llvm-runtime 0.3.1
follows in its own change once its own run on main finishes; it records which
C library that version is handed and adds nothing else.

What 0.6.0 answers

Three defects a consumer reported as
openkal-linux#13. Each is
a place where the specification already carried the atom and the C library had
no route to it; openkal itself does not change.

what a program observed what carries it now
a caller's redirection dup2(fd, 1) and then posix_spawn, system, or fork + execve started a program writing to the stream the caller had been started with; the file it had redirected onto stayed empty the three positions are seeded from the descriptor table
abort it did not end the program. musl's raise is tkill, the port had no case for it, so abort fell through to a_crash()hlt on x86_64 — and every uncaught C++ exception, assert and std::terminate reported a segmentation fault SYS_tkill/SYS_tgkill perform a signal's default action; SIGABRT reaches kal_abort
waitpid(…, WNOHANG) it blocked kal_timeout_wait_process

The second row is openkal-llvm-runtime's business directly: libc++abi's
terminate handler ends in abort, so every uncaught C++ exception over that
runtime reported a segmentation fault.

Verification

  • openkal-musl: four rows (Linux gcc, Linux llvm, macOS llvm, Windows gcc)
    green on main; examples/subprocess grew from 7 observations to 24.
  • openkal-llvm-runtime: five jobs green, built against openkal-musl's branch
    rather than a published version — including the bare-metal cfg(os = "none")
    configuration, which is the only place that compiles the C library with
    OKM_HAS_FS=0 and OKM_HAS_PROCESS=0.
  • Measured against the previous release with the new probe: -- failures: 7 --,
    one for each fix, with fifteen controls holding.
  • The published pair, resolved from this index in a sandbox that has none of
    these packages installed, builds and runs a program asserting all three.

The digest is of the archive GitHub serves, and the CN asset is that same file:
downloaded from the mirror and compared, ca769663… both ways, 990799 bytes.

@Sunrisepeak Sunrisepeak changed the title openkal-musl 0.6.0, and openkal-llvm-runtime 0.3.1 beside it openkal-musl 0.6.0: a caller's redirection reaches the program it starts Aug 28, 2026
@Sunrisepeak
Sunrisepeak merged commit d19b7d0 into main Aug 28, 2026
8 checks passed
@Sunrisepeak
Sunrisepeak deleted the bump/openkal-musl-0.6.0 branch August 28, 2026 03:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant