openkal-musl 0.10.0 - #295
Merged
Merged
Conversation
The exec search, and the family of answers that were not true — openkal-linux#13, fifth round.⚠️ A caller of `execvp' could not get past the first PATH entry that missed: `execve' did not return when the program could not be started, it ended the CALLING program with 127. One libc path, nine of a consumer's nineteen failures, and four more sections skipped because a program that was installed was reported as not installed.⚠️ ⚠️ And the heavier one, which was not in the report: `fcntl(F_SETLK)' granted every lock and took none, so two programs held one exclusive lock and neither could find out. `F_GETLK' reported a lock that was not there, for ever. Both mirrors carry the same bytes; the sha256 was taken from the GitHub tarball and the gitcode asset was verified against it.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
openkal-musl 0.10.0
— the exec search, and the family of answers that were not true (openkal-linux#13,
fifth round).
What a consumer of this version gets
execvpcould not get past the first PATH entry that missed.execvedidnot return when the program could not be started — it ended the calling
program with 127, because the replacement fails inside a duplicate whose failure
the backend reports to nobody. One libc path, nine of a consumer's nineteen test
failures, and four more sections skipped because
bwrap— installed at/usr/bin/bwrap— was reported as not installed.posix_spawnpdid not searchPATH at all, and reported success for a program it had not started.
fcntl(F_SETLK)granted every lock and took none: two programs took one exclusive lock and both
were told they had it.
F_GETLKreported a lock that was not there, for ever, soa loop waiting for one never left it. All three now report
ENOSYS— and thatrefusal is temporary, unlike the permission one: every environment beneath
openkal can lock a byte range, and the word for it is asked for as
mcpplibs/openkal#22.
Also:
getppidno longer returns -38 as an identifier; a copy made byforknames itself;
setsidreports theEPERMPOSIX writes down rather thanENOSYSthat nothing handles;
sigaltstackrefuses instead of pretending;sysconf(_SC_OPEN_MAX)answers the bound rather than 0; a directory'smodification time can be set where the implementation can open a directory.
Resources
Both mirrors carry the same bytes — the sha256 is the GitHub tarball's, and
the gitcode asset was downloaded and compared against it before this entry was
written:
mcpp xpkg parseaccepts the descriptor; the three platform tables each carrythe new version.