binutils Newspaper
OCTOBER 6, 2026
binutils — Proposed

binutils: don't abort debuginfod.exp when the server cleanup kill fails

Testsuite: Wrap `kill` commands in `catch` within debuginfod.exp to prevent test aborts on cleanup failure.

Matt Turner proposes a fix for the binutils testsuite where testcases involving debuginfod.exp abort unexpectedly due to exec kill commands failing. This patch wraps the kill commands in a catch block, preventing the DejaGnu test runner from aborting the entire test file when the server cleanup process encounters an error. It also addresses a similar issue in the port-scan timeout path.

In the Thread 1 participant
  1. Matt Turner proposer

    Submits a patch to wrap `kill` commands in `catch` within `debuginfod.exp`, preventing test aborts when cleanup fails.

    “Wrap both kills in catch, matching the adjacent cleanup calls. The FAIL is still reported; only the spurious abort goes away.”

In Details

This patch addresses a robustness issue in the DejaGnu testsuite for Binutils, specifically within the debuginfod.exp test file. When the kill command used to clean up the debuginfod server process fails (e.g., due to the process already having exited), Tcl's exec command raises an error. This error propagates and causes DejaGnu to abort the test file, preventing subsequent tests from running. The fix involves using catch around the exec kill calls to suppress these errors and allow the test suite to continue.

For Context
debuginfod.exp
A DejaGnu test script used to verify the functionality of debuginfod, a server that provides debugging information.
DejaGnu
A testing framework that provides support for testing procedures and harnesses.
HTTP error 429
A Too Many Requests error, indicating that the server has received too many requests from the client and is rate-limiting the connection.
Tcl
Tool Command Language. A dynamic programming language often used for scripting, rapid prototyping, and testing.
exec
A Tcl command that executes an external program.
catch
A Tcl command that executes a script and catches any errors that occur.
Filed Under: testingbinutilsdebuginfodtestsuiteregression