Scope e2e logging TSAN FD suppression - #8257
Merged
Amaury Chamayou (achamayou) merged 3 commits intoSep 2, 2026
Merged
Conversation
Keep deadlock detection enabled while suppressing only the known file descriptor reuse report in the affected test. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 8d9ef4ab-6303-417d-b904-27e8a5cad202
Copilot started reviewing on behalf of
Amaury Chamayou (achamayou)
September 2, 2026 05:58
View session
Contributor
There was a problem hiding this comment.
🟢 Approval recommended
The change is narrowly scoped to TSAN test configuration and adds an opt-in per-test suppression without altering core runtime logic.
Pull request overview
This PR refines how TSAN suppressions are applied to end-to-end tests by allowing a per-test suppression file to be provided while still enabling TSAN deadlock detection, specifically to keep e2e_logging strict about lock-order issues without failing on a known FD-reuse false positive.
Changes:
- Add a dedicated TSAN suppression file for
e2e_logging, suppressing reports tied toasynchost::get_file_name_with_idx. - Extend CMake test plumbing to accept an optional
TSAN_SUPPRESSIONSargument for e2e tests. - Update
add_san_test_properties()to optionally appendsuppressions=...whenDETECT_DEADLOCKSis enabled.
Custom instructions used:
.github/copilot-instructions.md
File summaries
| File | Description |
|---|---|
tsan_e2e_logging_suppressions |
Introduces per-test TSAN suppression targeting the known FD-reuse false positive. |
CMakeLists.txt |
Wires e2e_logging to use the new per-test TSAN suppression file while keeping DETECT_DEADLOCKS. |
cmake/gersemi_definitions.cmake |
Updates gersemi stub parsing to recognize the new TSAN_SUPPRESSIONS argument for add_e2e_test(). |
cmake/common.cmake |
Implements optional TSAN_SUPPRESSIONS propagation and TSAN_OPTIONS composition under DETECT_DEADLOCKS. |
Review details
- Files reviewed: 4/4 changed files
- Comments generated: 0
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Max (maxtropets)
approved these changes
Sep 2, 2026
Amaury Chamayou (achamayou)
enabled auto-merge (squash)
September 2, 2026 10:33
Amaury Chamayou (achamayou)
deleted the
achamayou-narrow-tsan-fd-suppression
branch
September 2, 2026 10:56
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
e2e_logging, keyed toasynchost::get_file_name_with_idx.e2e_loggingintentionally bypasses repository-wide suppressions to catch lock-order issues. This keeps that behavior without exposing the knownclosedir/epoll_ctlreport.Addresses the FD-reuse failure in #8256.