Skip to content

Scope e2e logging TSAN FD suppression - #8257

Merged
Amaury Chamayou (achamayou) merged 3 commits into
mainfrom
achamayou-narrow-tsan-fd-suppression
Sep 2, 2026
Merged

Scope e2e logging TSAN FD suppression#8257
Amaury Chamayou (achamayou) merged 3 commits into
mainfrom
achamayou-narrow-tsan-fd-suppression

Conversation

@achamayou

Copy link
Copy Markdown
Member

Summary

  • Add optional per-test TSAN suppressions while preserving deadlock detection.
  • Suppress the known FD-reuse false positive only for e2e_logging, keyed to asynchost::get_file_name_with_idx.

e2e_logging intentionally bypasses repository-wide suppressions to catch lock-order issues. This keeps that behavior without exposing the known closedir/epoll_ctl report.

Addresses the FD-reuse failure in #8256.

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
@achamayou
Amaury Chamayou (achamayou) requested a review from a team as a code owner September 2, 2026 05:58
Copilot AI lite review requested due to automatic review settings September 2, 2026 05:58

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 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 to asynchost::get_file_name_with_idx.
  • Extend CMake test plumbing to accept an optional TSAN_SUPPRESSIONS argument for e2e tests.
  • Update add_san_test_properties() to optionally append suppressions=... when DETECT_DEADLOCKS is 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.

@achamayou
Amaury Chamayou (achamayou) merged commit 9751a52 into main Sep 2, 2026
13 checks passed
@achamayou
Amaury Chamayou (achamayou) deleted the achamayou-narrow-tsan-fd-suppression branch September 2, 2026 10:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

run-long-test Run Long Test job

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants