Assert normal address-space termination in the shutdown acceptance test#124
Merged
Conversation
The shutdown acceptance test asserted only on the in-flight crash signatures (S33E, repeated __CRTGET spam, SVC-dump markers). After the 2026-07-23 libc370 recovery-exit relink those are gone, yet the address space still ends abnormally: an mvsMF poll worker that ignores quiesce leaves a live subtask, and P HTTPD drives IEF450I ... ABEND SA03. The old assertions pass that run vacuously. Add the missing address-space-end assertions: - FAIL on IEF450I ... ABEND and $HASP310 ... TERMINATED AT END OF MEMORY. SVC-dump (IEA911E) was already covered by the svcdump group; note it there. - Confirm the address-space end was captured in the window ($HASP395 ... ENDED or IEF404I, scoped to JOBNAME) before reporting PASS, so a truncated log is not mistaken for a clean shutdown. Those two records appear on clean and abnormal ends alike, so they gate log-completeness, not health. - Add JOBNAME (default HTTPD) to scope the end-capture markers. - Document HTTPD002I/HTTPD060I worker-shutdown WTOs as diagnostic only, with a CAUTION when a PASS shows none. The __CRTGET assertion is unchanged (zero-tolerance): correct for the termination path this test drives. Refs #122
This was referenced Jul 23, 2026
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.
Summary
Extends
tests/shutdown-acceptance.sh(added in #123) to assert that the HTTPDaddress space terminates normally after
P HTTPD— not merely that thein-flight crash signatures are absent.
Why
Before the 2026-07-23 libc370 recovery-exit relink (libc370 PR #10, libc370#9),
the crash reproduced as
S33E+__CRTGETspam. After the relink those aregone — but the address space still ends abnormally: an mvsMF poll worker that
ignores quiesce (mvsmf#179) leaves a live subtask, and
P HTTPDdrivesIEF450I ... ABEND SA03. The pre-existing assertions (S33E/__CRTGET/ SVCdump) pass that run vacuously.
Change
IEF450I ... ABENDand$HASP310 ... TERMINATED AT END OF MEMORY(SVC-dump /
IEA911Ewas already covered by thesvcdumpgroup, now calledout explicitly).
(
$HASP395 ... ENDEDorIEF404I, scoped toJOBNAME) before PASS. Theserecords appear on clean and abnormal ends, so they gate log-completeness, not
health — the discriminators are
IEF450I/$HASP310/ SVC dump.JOBNAMEenv var (defaultHTTPD).HTTPD002I/HTTPD060Idocumented as diagnostic-only, with a CAUTION on aPASS that shows none.
__CRTGETassertion is unchanged (zero-tolerance) — correct for thetermination path this test drives; see the note on Shutdown crash: S33E on worker DETACH + recovery ESTAE runs C runtime under a torn-down CRT #122.
Expected state: RED against the current build
With these assertions the test is RED on the current post-relink build,
because of the
SA03. That is the correct state: the test now has a genuinefailing condition tied to a specific open issue (mvsmf#179), rather than passing
vacuously. When mvsmf#179 is fixed and this goes green, that is a real signal
that the address space terminates cleanly.
Verification
Exercised against synthetic console logs reproducing the verbatim message lines
from the 11.02 (
S33E), 11.35 (SA03), and 2026-07-22 (EOM +IEA911E) runs,plus a clean-shutdown and a truncated-log case: FAIL on the two crash runs, PASS
on clean, INCONCLUSIVE on the truncated capture, and PASS (via
IEF404Ialone)when JES omits
$HASP395. The windowed assertion still excludes pre-existingcrash lines.
sh -nclean.Follow-up
The default
abendprovocation drives the recovery-drain path, not a workerparked in a long poll, so it does not exercise the
SA03/ mvsmf#179 scenario.A
PROVOKE=longpollmode that does is proposed separately in #126.Refs #122