[all-commits] [llvm/llvm-project] f0e67e: [lldb] Fix flaky TestConcurrentTwoWatchpointsOneSi...
Charles Zablit via All-commits
all-commits at lists.llvm.org
Tue Sep 8 03:59:43 PDT 2026
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: f0e67ea7d15c44b252f46388fecac396382e1a16
https://github.com/llvm/llvm-project/commit/f0e67ea7d15c44b252f46388fecac396382e1a16
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M lldb/packages/Python/lldbsuite/test/concurrent_base.py
M lldb/test/API/functionalities/thread/concurrent_events/main.cpp
Log Message:
-----------
[lldb] Fix flaky TestConcurrentTwoWatchpointsOneSignal (#221697)
`g_watchme` was declared right next to `g_sigusr1_count`. Hardware
watchpoints round the watched address/size to an alignment boundary, so
a watchpoint on `g_watchme` could also end up covering
`g_sigusr1_count`. When the signal thread's handler touches
`g_sigusr1_count` while the watchpoint threads write `g_watchme`, that
overlap causes a spurious hit and lldb can attribute the stop to the
wrong thread.
See llvm.org/PR35228.
Fix: group the watched field and its padding into a single aligned
struct (`WatchMePadding`), so the compiler is guaranteed to lay out the
data and padding together.
Assisted by Claude.
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list