Repository navigation
host: launch watchdog sampling without shell parsing - #829
Open
thehobbit85 wants to merge 4 commits into
Open
thehobbit85 wants to merge 4 commits into
thehobbit85 wants to merge 4 commits into
Conversation
thehobbit85
force-pushed
the
codex/watchdog-sample-argv
branch
from
November 1, 2026 03:29
a00be71 to
1ee28cf
Compare
thehobbit85
force-pushed
the
codex/watchdog-sample-argv
branch
4 times, most recently
from
November 1, 2026 12:33
4820ba5 to
568ae94
Compare
thehobbit85
force-pushed
the
codex/watchdog-sample-argv
branch
4 times, most recently
from
November 2, 2026 11:37
69a66e1 to
ea53dc5
Compare
thehobbit85
force-pushed
the
codex/watchdog-sample-argv
branch
from
November 2, 2026 13:34
de8c422 to
3a1e10e
Compare
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.
Launch watchdog sampling with
posix_spawnand literal arguments instead of interpolatingDM_WATCH_SAMPLEinto a shell command. Apostrophes and shell characters remain literal, long paths are preserved, interrupted waits resume, and sampling duration, redirection, diagnostics and final exit remain unchanged.Addresses the watchdog-path finding in issue #313, not the whole roadmap. Main still uses the vulnerable shell interpolation. The fixture executes the real watchdog with a recorder, never samples user applications, rejects shell calls at compile time and covers an absent optional fault variable. The only lint-baseline removal is the stale production command-processor finding.
Revision
3a1e10efb6635675650cade26aca3426bff2bae4includes maine5620b1a05a5b7374e0135d6312d3e90994eab81. Main’s sample command still uses shell interpolation. Literal argument spawning and its path tests remain distinct.Validation on
3a1e10efb663.python3 -m unittest dm.tools.tests.test_docs dm.tools.tests.test_usage. All 17 tests passed.The native watchdog sampling fixture also passed all 150 assertions.
GitHub checks for this revision
Earlier local validation on
69a66e168048.python3 -m unittest dm.tools.tests.test_docs dm.tools.tests.test_usage. All 17 tests passed.make -C dm/host/tests GAME=010015100B514000 watch-samplepassed all 150 assertions using a recorder. Earlier ASan/UBSan and analyzer checks were successful. An earlier full local host run failed an audio callback-restart assertion. This revision’s local tests covered the watchdog and documentation.Game impact is confined to watchdog diagnostics, independent of title content. The synthetic fixture covers actual production spawning/waiting without attaching to a game. Prior regression availability checks lacked the required game builds/routes; no fresh game, gameplay, shader-chain, device or performance claim is made. General behavior remains in the threads reference; validation evidence is here. No agent plans, progress records or game data are included.
Shared geometry fixture CI fix
This branch retains the #959 prerequisite as commit
3a1e10efb663. The patch and fixture contents match the shared fix exactly.Prior published commit
de8c422213e2applied #959 as a separate prerequisite. Onea53dc5494fe, LLVM 23.1.4 reproduced both C lint findings in the geometry hazard fixture inherited from main. At that earlier head, the focused lint check passed and the Mac GPU fixture passed all 65 assertions in each of three cut configurations with Metal API validation. The prerequisite changes only the synthetic test. The feature validation and its limitations above still apply to the feature revision they name.