tests: one extra DuckDB handle in the test worker can segfault the suite at teardown (exit 139) #54

Open
opened 2026-08-21 23:21:29 +02:00 by julian · 0 comments
Owner

From the aside in the approving review on #46, plus the flake noted in the approving review on #44.

A probe file that opened a plain Db (no app, no host) in the same run segfaulted the suite at teardown — exit 139, every test green first — and the failure went away when the file was deleted. So the hazard withStack's comment documents is broader than "two app stacks": one more DuckDB handle in that worker is enough. Any future test that opens a database directly is a coin flip.

Likely related: the #44 review measured the full suite clean on 20 of 21 runs with one unreproducible failure — same rate across two commits, reads as a pre-existing suite flake, and CI has shown the same exit-139-in-teardown shape before.

Worth either serializing DB-opening tests into their own worker, documenting the constraint where a test author will see it, or finding the teardown ordering bug in the DuckDB binding.

Sources: #46 (comment) (aside), #44 (comment) (determinism note).

From the aside in the approving review on #46, plus the flake noted in the approving review on #44. A probe file that opened a plain `Db` (no app, no host) in the same run segfaulted the suite at teardown — exit 139, every test green first — and the failure went away when the file was deleted. So the hazard `withStack`'s comment documents is broader than "two app stacks": one more DuckDB handle in that worker is enough. Any future test that opens a database directly is a coin flip. Likely related: the #44 review measured the full suite clean on 20 of 21 runs with one unreproducible failure — same rate across two commits, reads as a pre-existing suite flake, and CI has shown the same exit-139-in-teardown shape before. Worth either serializing DB-opening tests into their own worker, documenting the constraint where a test author will see it, or finding the teardown ordering bug in the DuckDB binding. Sources: https://git.imhof.cloud/OpsDeck/core/pulls/46#issuecomment-1034 (aside), https://git.imhof.cloud/OpsDeck/core/pulls/44#issuecomment-1035 (determinism note).
Sign in to join this conversation.
No labels
No milestone
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
OpsDeck/core#54
No description provided.