stable_timestamp TSAN data race warning in __txn_set_rollback_timestamp

XMLWordPrintableJSON

    • Type: Bug
    • Resolution: Unresolved
    • Priority: Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • None
    • Storage Engines - Transactions
    • None
    • None

      This warning could be reproduced by running test format with TSAN. Since the read access was introduced 7 months ago and the write access has the release it could be potentially a real acq-rel lack of synchronisation issue.

      Here is the warning text:

      [2026/02/19 02:30:53.781]   Atomic write of size 8 at 0xffff7e70b270 by thread T74:
      [2026/02/19 02:30:53.781]     #0 __wt_atomic_store_uint64_release /data/mci/e3e784d7a71248ec6968276a86caaabf/wiredtiger/src/include/gcc.h:398:1 (libwiredtiger.so.12.0.0+0x7b8e14)
      [2026/02/19 02:30:53.781]     #1 __wt_txn_global_set_timestamp /data/mci/e3e784d7a71248ec6968276a86caaabf/wiredtiger/src/txn/txn_timestamp.c:448:9 (libwiredtiger.so.12.0.0+0x7b9e14)
      [2026/02/19 02:30:53.781]     #2 __conn_set_timestamp /data/mci/e3e784d7a71248ec6968276a86caaabf/wiredtiger/src/conn/conn_api.c:1447:11 (libwiredtiger.so.12.0.0+0x2ed3f8)
      [2026/02/19 02:30:53.781]     #3 timestamp_once /data/mci/e3e784d7a71248ec6968276a86caaabf/wiredtiger/test/format/format_timestamp.c:149:5 (t+0x113f84)
      [2026/02/19 02:30:53.781]     #4 timestamp /data/mci/e3e784d7a71248ec6968276a86caaabf/wiredtiger/test/format/format_timestamp.c:197:9 (t+0x114680)
      [2026/02/19 02:30:53.781]   Previous read of size 8 at 0xffff7e70b270 by thread T60 (mutexes: write M0):
      [2026/02/19 02:30:53.781]     #0 __txn_set_rollback_timestamp /data/mci/e3e784d7a71248ec6968276a86caaabf/wiredtiger/src/txn/txn_timestamp.c:995:29 (libwiredtiger.so.12.0.0+0x7bc894)
      [2026/02/19 02:30:53.781]     #1 __wt_txn_set_timestamp_uint /data/mci/e3e784d7a71248ec6968276a86caaabf/wiredtiger/src/txn/txn_timestamp.c:1177:9 (libwiredtiger.so.12.0.0+0x7bcddc)
      [2026/02/19 02:30:53.781]     #2 __session_timestamp_transaction_uint /data/mci/e3e784d7a71248ec6968276a86caaabf/wiredtiger/src/session/session_api.c:2143:11 (libwiredtiger.so.12.0.0+0x67ddd8)
      [2026/02/19 02:30:53.781]     #3 rollback_transaction /data/mci/e3e784d7a71248ec6968276a86caaabf/wiredtiger/test/format/ops.c:660:9 (t+0x124038)
      [2026/02/19 02:30:53.781]     #4 ops /data/mci/e3e784d7a71248ec6968276a86caaabf/wiredtiger/test/format/ops.c:1412:13 (t+0x11e9f0)
      [2026/02/19 02:30:53.781]   Location is heap block of size 8944 at 0xffff7e70a000 allocated by main thread:
      [2026/02/19 02:30:53.781]     #0 calloc /data/mci/f49c90f0be13703fc74cd438c017c2d0/toolchain-builder/tmp/build-llvm-v5.sh-WmZ/llvm-project-llvmorg/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:686:5 (t+0x6c2e4)
      [2026/02/19 02:30:53.781]     #1 __wt_calloc /data/mci/e3e784d7a71248ec6968276a86caaabf/wiredtiger/src/os_common/os_alloc.c:68:14 (libwiredtiger.so.12.0.0+0x53af90)
      [2026/02/19 02:30:53.782]     #2 wiredtiger_open /data/mci/e3e784d7a71248ec6968276a86caaabf/wiredtiger/src/conn/conn_api.c:3104:5 (libwiredtiger.so.12.0.0+0x2dfd98)
      [2026/02/19 02:30:53.782]     #3 wts_open /data/mci/e3e784d7a71248ec6968276a86caaabf/wiredtiger/test/format/wts.c:841:9 (t+0x1438e0)
      [2026/02/19 02:30:53.782]     #4 main /data/mci/e3e784d7a71248ec6968276a86caaabf/wiredtiger/test/format/t.c:361:9 (t+0x1347ac)
      [2026/02/19 02:30:53.782]   Mutex M0 (0xffff6f9a9fe0) created at:
      [2026/02/19 02:30:53.782]     #0 pthread_mutex_init /data/mci/f49c90f0be13703fc74cd438c017c2d0/toolchain-builder/tmp/build-llvm-v5.sh-WmZ/llvm-project-llvmorg/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:1327:3 (t+0x6fef4)
      [2026/02/19 02:30:53.782]     #1 __wt_spin_init /data/mci/e3e784d7a71248ec6968276a86caaabf/wiredtiger/src/include/mutex_inline.h:142:5 (libwiredtiger.so.12.0.0+0x692a4c)
      [2026/02/19 02:30:53.782]     #2 __open_session /data/mci/e3e784d7a71248ec6968276a86caaabf/wiredtiger/src/session/session_api.c:2602:5 (libwiredtiger.so.12.0.0+0x664888)
      [2026/02/19 02:30:53.782]     #3 __wt_open_session /data/mci/e3e784d7a71248ec6968276a86caaabf/wiredtiger/src/session/session_api.c:2727:5 (libwiredtiger.so.12.0.0+0x664118)
      [2026/02/19 02:30:53.782]     #4 __conn_open_session /data/mci/e3e784d7a71248ec6968276a86caaabf/wiredtiger/src/conn/conn_api.c:1399:5 (libwiredtiger.so.12.0.0+0x2eb848)
      [2026/02/19 02:30:53.782]     #5 wt_wrap_open_session /data/mci/e3e784d7a71248ec6968276a86caaabf/wiredtiger/test/format/format_util.c:380:5 (t+0x116704)
      [2026/02/19 02:30:53.782]     #6 ops_session_open /data/mci/e3e784d7a71248ec6968276a86caaabf/wiredtiger/test/format/ops.c:982:5 (t+0x1213f8)
      [2026/02/19 02:30:53.782]     #7 ops /data/mci/e3e784d7a71248ec6968276a86caaabf/wiredtiger/test/format/ops.c:1090:13 (t+0x11d054)
      [2026/02/19 02:30:53.782]   Thread T74 (tid=8337, running) created by main thread at:
      [2026/02/19 02:30:53.782]     #0 pthread_create /data/mci/f49c90f0be13703fc74cd438c017c2d0/toolchain-builder/tmp/build-llvm-v5.sh-WmZ/llvm-project-llvmorg/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:1023:3 (t+0x6e014)
      [2026/02/19 02:30:53.782]     #1 __wt_thread_create /data/mci/e3e784d7a71248ec6968276a86caaabf/wiredtiger/src/os_posix/os_thread.c:60:5 (libwiredtiger.so.12.0.0+0x556608)
      [2026/02/19 02:30:53.782]     #2 operations /data/mci/e3e784d7a71248ec6968276a86caaabf/wiredtiger/test/format/ops.c:383:9 (t+0x11b4bc)
      [2026/02/19 02:30:53.782]     #3 main /data/mci/e3e784d7a71248ec6968276a86caaabf/wiredtiger/test/format/t.c:396:13 (t+0x134be8)
      [2026/02/19 02:30:53.782]   Thread T60 (tid=8323, running) created by main thread at:
      [2026/02/19 02:30:53.782]     #0 pthread_create /data/mci/f49c90f0be13703fc74cd438c017c2d0/toolchain-builder/tmp/build-llvm-v5.sh-WmZ/llvm-project-llvmorg/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:1023:3 (t+0x6e014)
      [2026/02/19 02:30:53.782]     #1 __wt_thread_create /data/mci/e3e784d7a71248ec6968276a86caaabf/wiredtiger/src/os_posix/os_thread.c:60:5 (libwiredtiger.so.12.0.0+0x556608)
      [2026/02/19 02:30:53.782]     #2 operations /data/mci/e3e784d7a71248ec6968276a86caaabf/wiredtiger/test/format/ops.c:362:9 (t+0x11afbc)
      [2026/02/19 02:30:53.782]     #3 main /data/mci/e3e784d7a71248ec6968276a86caaabf/wiredtiger/test/format/t.c:396:13 (t+0x134be8)
      [2026/02/19 02:30:53.782] SUMMARY: ThreadSanitizer: data race /data/mci/e3e784d7a71248ec6968276a86caaabf/wiredtiger/src/include/gcc.h:398:1 in __wt_atomic_store_uint64_release
      [2026/02/19 02:41:08.979] ==================
      

      To reproduce the warning, remove the suppression function near the FIXME and run the format-stress-test-tsan variant in evergreen

            Assignee:
            Chenhao Qu
            Reporter:
            Ivan Kochin
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: