Separate full_equations timeout from subprocess setup - #4845
Separate full_equations timeout from subprocess setup#4845ChrisRackauckas-Claude wants to merge 2 commits into
Conversation
Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
|
Stacked-PR plan/status:
GitHub does not allow the fork-only #4844 head branch to be selected as this upstream PR's base, so the PR targets |
|
CI triage update (exact upstream-master comparison): The required
The PR MTKBase InterfaceII current/pre jobs are infrastructure failures: their check annotations say the self-hosted runner lost communication, and the test steps never completed. Job-specific rerun attempts were rejected because both available GitHub credentials lack Actions write permission. These issues are being kept out of this focused timeout PR. |
|
Exact clean-master local confirmation for the MTSL downstream failure:
This exactly matches the upstream-master CI failure, so it is independent of this PR. The first local invocation spent most of its one-hour guard precompiling and timed out in |
|
Exact clean-master local confirmation for the Catalyst downstream failure:
This exactly matches the upstream-master CI failure, so it is independent of this PR. As with the MTSL audit, a first invocation exhausted its one-hour guard after first-time precompilation; the second invocation used the same resolved manifest and warmed isolated depot and reached the target failure through the official Modeling group. |
Depends on #4844. This branch is based directly on its head commit,
9d7b22a35bc107a880baa10b54b90cb41f561b3e; the only commit added here is10949fa3552a3cd13aeb7f303d879b12f1a497ee.Ignore this PR until it has been reviewed by @ChrisRackauckas.
Problem
The
full_equationsrecursion regression test slept for 180 seconds before checking its child process. That combined package loading, cache-lock waits, precompilation, model setup, and the call being tested into one timeout.On clean master, the child needed 265.37 seconds to finish after compiling
ModelingToolkitBase. A contention-focused run spent 293 seconds precompiling before the tested call and then passed. The old assertion could therefore fail withoutfull_equationshanging.The subprocess itself is necessary: running the model against the parent of the original fix entered
full_equationsand was still running when an external 3600-second timeout terminated it.Change
mtkcompile.full_equations.Investigation
f215ec083a439be63603b83bc42178db24ce685eintroduced the subprocess regression test with a 120-second combined timeout.9ed9aa758c759c8d49155679a915e8db0a88fcf1increased that timeout to 180 seconds.GROUP=InterfaceIpassed 1475 tests with 3 pre-existing broken tests in 49m03s, confirming that the reported failure is contention-dependent rather than deterministic.Validation
GROUP=InterfaceI julia +1.12 --project=lib/ModelingToolkitBase -e 'using Pkg; Pkg.test(; coverage = false)': 1498 passed, 5 pre-existing broken, 1503 total, in 38m16.8s.