Skip to content

Update tcl91 CI job to Tcl 9.1b0 and fail testsuite fast on modulecmd crash - #690

Merged
xdelaruelle merged 2 commits into
envmodules:mainfrom
xdelaruelle:tcl91b0-ci
Aug 25, 2026
Merged

Update tcl91 CI job to Tcl 9.1b0 and fail testsuite fast on modulecmd crash#690
xdelaruelle merged 2 commits into
envmodules:mainfrom
xdelaruelle:tcl91b0-ci

Conversation

@xdelaruelle

Copy link
Copy Markdown
Collaborator

Update the tcl91 CI job to build Tcl 9.1b0, which fixes the interpreter panic raised by 9.1a1 when the init.tcl script found in the TCL_LIBRARY environment variable fails to evaluate.

Also define a bgerror procedure in the testsuite configuration: when a spawned modulecmd process dies from a signal, closing its output channel raises a CHILDKILLED error that escapes the readpipe event handler as a background error. Without a bgerror procedure defined under runtest, the endpipe variable is left unset and the vwait call hangs forever, freezing the testsuite run until the CI job 6-hour timeout — as observed while debugging the tcl91 job hang on PR #689. With this procedure, such a crash is reported and the related test fails right away.

Assisted-by: Claude:claude-fable-5
Signed-off-by: Xavier Delaruelle <xavier.delaruelle@cea.fr>
When a spawned modulecmd process dies from a signal, closing its output
channel raises a CHILDKILLED error that escapes the readpipe event
handler as a background error. Without a bgerror procedure defined
under runtest, the endpipe variable is left unset and the vwait call in
modulecmd_xxx_ hangs forever, freezing the testsuite run until the CI
job 6-hour timeout.

Define a bgerror procedure that reports the caught error and releases
the ongoing command wait, so such a crash makes the related test fail
right away.

Assisted-by: Claude:claude-fable-5
Signed-off-by: Xavier Delaruelle <xavier.delaruelle@cea.fr>
@xdelaruelle
xdelaruelle merged commit 1728501 into envmodules:main Aug 25, 2026
20 checks passed
@xdelaruelle
xdelaruelle deleted the tcl91b0-ci branch August 25, 2026 18:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant