Skip to content

test(linux): read broker descriptor tables without racing a worker that ends - #229

Merged
lexoliu merged 2 commits into
mainfrom
fix/fd-table-read-error
Nov 12, 2026
Merged

lexoliu merged 2 commits into
mainfrom
fix/fd-table-read-error

Conversation

@lexoliu

@lexoliu lexoliu commented Nov 12, 2026 •

Copy link
Copy Markdown
Collaborator

The descriptor-table test read a broker thread's table as empty on ubuntu-24.04-arm, and table_of dropped the error. With the error reported, a rerun showed the case: a heel-broker spare worker leaves its loop once the request it was started for is served (work in home.rs), and the test read its table while it was ending. The table of an ending thread lists nothing before its task goes away.

table_of now fails on any read error except a descriptor closed mid-listing. On an empty table it waits for the thread to disappear and skips it, and it fails if the thread is still running. The test also requires the home thread's table to be read. The first failure named the home thread, which lives as long as the sandbox. If that happens again, it will now fail with its exact cause.

Refs #228

A spare worker leaves once the request it was started for is served, and a
thread that is ending reads an empty descriptor table before its task goes.
The test now waits for such a thread to disappear and skips it, fails on an
empty table of a thread that keeps running, and requires the home thread's
table to be read.
@lexoliu lexoliu changed the title test(linux): report why a broker thread's descriptor table cannot be read test(linux): read broker descriptor tables without racing a worker that ends Nov 12, 2026
@lexoliu
lexoliu marked this pull request as ready for review November 12, 2026 04:46
@lexoliu
lexoliu added this pull request to the merge queue Nov 12, 2026
Merged via the queue into main with commit 45a3ac2 Nov 12, 2026
14 checks passed
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