Repository navigation
The proxy-calls check traces each proxy alone, so no call of the tests' own is read as the proxy's - #514
Merged
Conversation
…s' own is read as the proxy's Traced whole under strace -ff, the live tests left a call of their own in a proxy's file now and then: in one run, a setsockopt(SO_SNDTIMEO) the tests make when they connect followed the proxy's last sendmsg in its file, with no exit line between, though the proxy has no such call. With KRYPTIK_PROXY_TRACE set, the tests start each proxy under a strace of its own, one file a start, and the check reads only those. A test's Drop kills the proxy first, so its strace ends with it, and the descriptor test reads the proxy's own limits.
…s before each in a file strace -f -o FILE puts each line after its task's id, so no line began with the proxy's execve and no run was counted. Both forms are dropped, the file's and the terminal's [pid N], and one file a start stays, so a thread the proxy may one day start is read with it.
DevomB
marked this pull request as ready for review
October 15, 2026 12:31
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.
#180's Compartment layer (run 38700873721, job 116308465874, main 395d3de) failed on
setsockopt: in trace.3685 it followed the proxy's lastsendmsgwith no "+++ exited/killed" line between, ending<unfinished ...>, at an address of the tests'. The proxy's source has no setsockopt; live.rs sets read and write timeouts on every connection (204-205, 221-222). Whatever lets a test thread's call into a proxy's file understrace -f -ffover the whole test run (an id reused, or otherwise), tracing the tests at all is what makes it possible.proxy_command()starts the proxy as before, or, whenKRYPTIK_PROXY_TRACEnames a directory, understrace -f -q -s 256 -o DIR/proxy.<test pid>.<n> --: one file a start, holding the proxy's calls alone.proxy_pid()gives the proxy's own pid (strace's one child under the check), which Drop kills first, so strace ends with it, and which the descriptor test reads its limits from.KRYPTIK_PROXY_TRACEset and no outer strace, and readsproxy.*; both awks drop a[pid N]prefix should the proxy ever start a thread. The rest (runs, the daemon's runs, the call list, the argument rules, where a missing call was first made) is unchanged.