Skip to content

Docs#163

Merged
szmyd merged 6 commits into
eBay:dev/v6.xfrom
szmyd:docs
Jun 17, 2026
Merged

Docs#163
szmyd merged 6 commits into
eBay:dev/v6.xfrom
szmyd:docs

Conversation

@szmyd

@szmyd szmyd commented Jun 17, 2026

Copy link
Copy Markdown
Collaborator

No description provided.

szmyd and others added 6 commits June 9, 2026 11:46
GCC 13 fully demangles template arguments into function names, so bare
substring entries like 'exec::__any::__immovable_storage' don't match
'exec::__any::__immovable_storage<vtable, alloc, 48ul, 16ul>::__t::__t<...>'.
Add '*pattern*' glob companions for every category that has long template
names, and add two new categories found in the latest CI run:

- deadlock:homeblocks::init_homeblocks — iomgr/homestore lock-order false
  positive from test-restart: TSAN's lock-order graph persists across
  HomeBlocksImpl instances so it confuses mutex addresses across restarts.
- race:*__future_base* / *_Sp_counted_base* — covers _M_ptr(), swap, and
  shared_ptr-refcount variants of the GCC future race.
- race:*exec::__any* — covers tag_invoke / __immovable_storage / __rec::__ref
  / __storage with full template argument lists.
- race:*inplace_stop* — covers stop_token/source/callback destructors and the
  __atomic_base<unsigned char>::load inside inplace_stop_source::~.
- race:*fmt::v12* — covers detail::buffer<char>::append (different symbol from
  basic_memory_buffer that was already suppressed).
- race:*basic_string* — std::string races inside spdlog formatting path.
- race:*tsan_new_delete* / *_Function_base* — operator new/delete at frame #0
  from iomgr lambda lifetime races crossing reactor boundaries.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
TSAN tracks file descriptor numbers as a single resource across their
lifetime.  In the restart test pattern, fd N is closed during test 1
teardown and the OS reassigns N to a different iomgr device in test 2.
TSAN conflates the two and reports a race between T12's epoll_ctl read
(test 1) and the main thread's IODevice::close write (test 2).

This is not a real race: HBTestHelper::restart() joins all iomgr threads
before reinitializing ("All IO threads have stopped" in the logs), so the
fd-N read and fd-N write are fully serialized across test boundaries.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@szmyd szmyd requested a review from sbinmalek June 17, 2026 22:38
@szmyd szmyd merged commit 025a5f2 into eBay:dev/v6.x Jun 17, 2026
24 of 25 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