- 
    Type:Bug 
- 
    Resolution: Fixed
- 
    Priority:Major - P3 
- 
    Affects Version/s: None
- 
    Component/s: Not Applicable
- 
    None
- 
        Storage Engines, Storage Engines - Foundations
- 
        SE Foundations - 2025-07-18
- 
        1
TSAN Warning:
Â
==================WARNING: ThreadSanitizer: data race (pid=39828) Read of size 1 at 0xffff9b500a68 by thread T3 (mutexes: write M0): #0 __read_blocked /home/ec2-user/work/git/wiredtiger-arm/src/support/mtx_rw.c:168:71 (libwiredtiger.so.12.0.0+0x32dbc0) #1 __wt_cond_wait_signal /home/ec2-user/work/git/wiredtiger-arm/src/os_posix/os_mtx_cond.c:92:30 (libwiredtiger.so.12.0.0+0x27d29c) #2 __wt_cond_wait /home/ec2-user/work/git/wiredtiger-arm/src/include/misc_inline.h:21:5 (libwiredtiger.so.12.0.0+0x32d698) #3 __wt_readlock /home/ec2-user/work/git/wiredtiger-arm/src/support/mtx_rw.c:250:13 (libwiredtiger.so.12.0.0+0x32d698) #4 __session_find_shared_dhandle /home/ec2-user/work/git/wiredtiger-arm/src/session/session_dhandle.c:841:5 (libwiredtiger.so.12.0.0+0x30c5f0) #5 __session_get_dhandle /home/ec2-user/work/git/wiredtiger-arm/src/session/session_dhandle.c:878:5 (libwiredtiger.so.12.0.0+0x30c5f0) #6 __wt_session_get_dhandle /home/ec2-user/work/git/wiredtiger-arm/src/session/session_dhandle.c:908:9 (libwiredtiger.so.12.0.0+0x30b820) #7 __wt_session_get_btree_ckpt /home/ec2-user/work/git/wiredtiger-arm/src/session/session_dhandle.c:469:17 (libwiredtiger.so.12.0.0+0x30ada4) #8 __wt_curfile_open /home/ec2-user/work/git/wiredtiger-arm/src/cursor/cur_file.c (libwiredtiger.so.12.0.0+0x197574) #9 __session_open_cursor_int /home/ec2-user/work/git/wiredtiger-arm/src/session/session_api.c:697:17 (libwiredtiger.so.12.0.0+0x2e43c0) #10 __wt_open_cursor /home/ec2-user/work/git/wiredtiger-arm/src/session/session_api.c:795:13 (libwiredtiger.so.12.0.0+0x2e40a0) #11 __curhs_file_cursor_open /home/ec2-user/work/git/wiredtiger-arm/src/cursor/cur_hs.c:49:5 (libwiredtiger.so.12.0.0+0x1a7d2c) #12 __wt_curhs_cache /home/ec2-user/work/git/wiredtiger-arm/src/cursor/cur_hs.c:103:5 (libwiredtiger.so.12.0.0+0x1a7b2c) #13 __evict_thread_run /home/ec2-user/work/git/wiredtiger-arm/src/evict/evict_lru.c:320:5 (libwiredtiger.so.12.0.0+0x20f6f8) #14 __thread_run /home/ec2-user/work/git/wiredtiger-arm/src/support/thread_group.c:31:9 (libwiredtiger.so.12.0.0+0x34d1ec) Previous atomic write of size 8 at 0xffff9b500a68 by thread T5: #0 __wt_atomic_casv64 /home/ec2-user/work/git/wiredtiger-arm/src/include/gcc.h:60:1 (libwiredtiger.so.12.0.0+0x32e1cc) #1 __wt_writelock /home/ec2-user/work/git/wiredtiger-arm/src/support/mtx_rw.c:414:13 (libwiredtiger.so.12.0.0+0x32e1cc) #2 __session_find_shared_dhandle /home/ec2-user/work/git/wiredtiger-arm/src/session/session_dhandle.c:848:5 (libwiredtiger.so.12.0.0+0x30c6ac) #3 __session_get_dhandle /home/ec2-user/work/git/wiredtiger-arm/src/session/session_dhandle.c:878:5 (libwiredtiger.so.12.0.0+0x30c6ac) #4 __wt_session_get_dhandle /home/ec2-user/work/git/wiredtiger-arm/src/session/session_dhandle.c:908:9 (libwiredtiger.so.12.0.0+0x30b820) #5 __wt_session_get_btree_ckpt /home/ec2-user/work/git/wiredtiger-arm/src/session/session_dhandle.c:469:17 (libwiredtiger.so.12.0.0+0x30ada4) #6 __wt_curfile_open /home/ec2-user/work/git/wiredtiger-arm/src/cursor/cur_file.c (libwiredtiger.so.12.0.0+0x197574) #7 __session_open_cursor_int /home/ec2-user/work/git/wiredtiger-arm/src/session/session_api.c:697:17 (libwiredtiger.so.12.0.0+0x2e43c0) #8 __wt_open_cursor /home/ec2-user/work/git/wiredtiger-arm/src/session/session_api.c:795:13 (libwiredtiger.so.12.0.0+0x2e40a0) #9 __curhs_file_cursor_open /home/ec2-user/work/git/wiredtiger-arm/src/cursor/cur_hs.c:49:5 (libwiredtiger.so.12.0.0+0x1a7d2c) #10 __wt_curhs_cache /home/ec2-user/work/git/wiredtiger-arm/src/cursor/cur_hs.c:103:5 (libwiredtiger.so.12.0.0+0x1a7b2c) #11 __evict_thread_run /home/ec2-user/work/git/wiredtiger-arm/src/evict/evict_lru.c:320:5 (libwiredtiger.so.12.0.0+0x20f6f8) #12 __thread_run /home/ec2-user/work/git/wiredtiger-arm/src/support/thread_group.c:31:9 (libwiredtiger.so.12.0.0+0x34d1ec) Location is heap block of size 8448 at 0xffff9b500000 allocated by main thread: #0 calloc /data/mci/0701f0b853b8865c4e2f06b43ba791fc/toolchain-builder/tmp/build-llvm-v5.sh-u2l/llvm-project-llvmorg/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:686:5 (wt+0x69864) #1 __wt_calloc /home/ec2-user/work/git/wiredtiger-arm/src/os_common/os_alloc.c:68:14 (libwiredtiger.so.12.0.0+0x270454) #2 wiredtiger_open /home/ec2-user/work/git/wiredtiger-arm/src/conn/conn_api.c:2929:5 (libwiredtiger.so.12.0.0+0x141c30) #3 main /home/ec2-user/work/git/wiredtiger-arm/src/utilities/util_main.c:334:16 (wt+0xf8b00) Mutex M0 (0xffff9b102138) created at: #0 pthread_mutex_init /data/mci/0701f0b853b8865c4e2f06b43ba791fc/toolchain-builder/tmp/build-llvm-v5.sh-u2l/llvm-project-llvmorg/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:1327:3 (wt+0x6d474) #1 __wt_cond_alloc /home/ec2-user/work/git/wiredtiger-arm/src/os_posix/os_mtx_cond.c:22:5 (libwiredtiger.so.12.0.0+0x27ce5c) #2 __wt_rwlock_init /home/ec2-user/work/git/wiredtiger-arm/src/support/mtx_rw.c:102:5 (libwiredtiger.so.12.0.0+0x32d040) #3 __wti_connection_init /home/ec2-user/work/git/wiredtiger-arm/src/conn/conn_handle.c:68:5 (libwiredtiger.so.12.0.0+0x160520) #4 wiredtiger_open /home/ec2-user/work/git/wiredtiger-arm/src/conn/conn_api.c:2945:5 (libwiredtiger.so.12.0.0+0x141d8c) #5 main /home/ec2-user/work/git/wiredtiger-arm/src/utilities/util_main.c:334:16 (wt+0xf8b00) Thread T3 'eviction-ser 2' (tid=39832, running) created by main thread at: #0 pthread_create /data/mci/0701f0b853b8865c4e2f06b43ba791fc/toolchain-builder/tmp/build-llvm-v5.sh-u2l/llvm-project-llvmorg/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:1023:3 (wt+0x6b594) #1 __wt_thread_create /home/ec2-user/work/git/wiredtiger-arm/src/os_posix/os_thread.c:60:5 (libwiredtiger.so.12.0.0+0x27dffc) #2 __thread_group_resize /home/ec2-user/work/git/wiredtiger-arm/src/support/thread_group.c:203:9 (libwiredtiger.so.12.0.0+0x34bf98) #3 __wt_thread_group_create /home/ec2-user/work/git/wiredtiger-arm/src/support/thread_group.c:289:5 (libwiredtiger.so.12.0.0+0x34c4c4) #4 __wt_evict_threads_create /home/ec2-user/work/git/wiredtiger-arm/src/evict/evict_lru.c:597:5 (libwiredtiger.so.12.0.0+0x20f488) #5 __wt_txn_recover /home/ec2-user/work/git/wiredtiger-arm/src/txn/txn_recover.c:1139:5 (libwiredtiger.so.12.0.0+0x367444) #6 __wti_connection_workers /home/ec2-user/work/git/wiredtiger-arm/src/conn/conn_open.c:260:5 (libwiredtiger.so.12.0.0+0x169fa8) #7 wiredtiger_open /home/ec2-user/work/git/wiredtiger-arm/src/conn/conn_api.c:3324:5 (libwiredtiger.so.12.0.0+0x143678) #8 main /home/ec2-user/work/git/wiredtiger-arm/src/utilities/util_main.c:334:16 (wt+0xf8b00) Thread T5 'eviction-ser 4' (tid=39834, running) created by main thread at: #0 pthread_create /data/mci/0701f0b853b8865c4e2f06b43ba791fc/toolchain-builder/tmp/build-llvm-v5.sh-u2l/llvm-project-llvmorg/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:1023:3 (wt+0x6b594) #1 __wt_thread_create /home/ec2-user/work/git/wiredtiger-arm/src/os_posix/os_thread.c:60:5 (libwiredtiger.so.12.0.0+0x27dffc) #2 __thread_group_resize /home/ec2-user/work/git/wiredtiger-arm/src/support/thread_group.c:203:9 (libwiredtiger.so.12.0.0+0x34bf98) #3 __wt_thread_group_create /home/ec2-user/work/git/wiredtiger-arm/src/support/thread_group.c:289:5 (libwiredtiger.so.12.0.0+0x34c4c4) #4 __wt_evict_threads_create /home/ec2-user/work/git/wiredtiger-arm/src/evict/evict_lru.c:597:5 (libwiredtiger.so.12.0.0+0x20f488) #5 __wt_txn_recover /home/ec2-user/work/git/wiredtiger-arm/src/txn/txn_recover.c:1139:5 (libwiredtiger.so.12.0.0+0x367444) #6 __wti_connection_workers /home/ec2-user/work/git/wiredtiger-arm/src/conn/conn_open.c:260:5 (libwiredtiger.so.12.0.0+0x169fa8) #7 wiredtiger_open /home/ec2-user/work/git/wiredtiger-arm/src/conn/conn_api.c:3324:5 (libwiredtiger.so.12.0.0+0x143678) #8 main /home/ec2-user/work/git/wiredtiger-arm/src/utilities/util_main.c:334:16 (wt+0xf8b00) SUMMARY: ThreadSanitizer: data race /home/ec2-user/work/git/wiredtiger-arm/src/support/mtx_rw.c:168:71 in __read_blocked
- is related to
- 
                    WT-14340 Make conn->flags atomic -         
- Closed
 
-         
- 
                    WT-14980 Disagg table ID namespacing not correctly feature-gated -         
- Closed
 
-         
- 
                    SERVER-106431 Update version cursor config to new format -         
- Closed
 
-         
- 
                    WT-14951 Merge newer disagg code into develop -         
- Closed
 
-         
- 
                    WT-14978 Add diagnostic information to durable timestamp assertion -         
- Closed
 
-         
- 
                    WT-9931 Reader took an order of magnitude longer for when all history store records were invisible -         
- Closed
 
-         
- 
                    WT-14946 Disable incompatible tests between disagg and tiered -         
- Closed
 
-         
- 
                    WT-14947 Suppress perf critical warnings -         
- Closed
 
-         
- 
                    WT-14953 test_layered17 spinlock abort - pthread_mutex_lock: (null): Invalid argument -         
- Closed
 
-         
- 
                    WT-14954 Make test_truncate02 more reliable -         
- Closed
 
-         
- 
                    WT-14955 failed: format-failure-configs-test on ubuntu2004 [wiredtiger @ a4f10c8e] -         
- Closed
 
-         
- 
                    WT-14956 AssertionError in test_rollback01.py: no rollback occurred on cursor->next() for disagg -         
- Closed
 
-         
- related to
- 
                    WT-14653 Add logs/stats to reconciliation for tracking HS updates -         
- Closed
 
-         
- 
                    WT-14750 Failure in __wt_page_inmem: "encountered an illegal file format or internal value: 0x0" -         
- Closed
 
-         
- 
                    WT-14848 Fix missing WT_RET in live_restore_fs.c -         
- Closed
 
-         
- 
                    WT-14864 Remove duplicate TSAN warnings from metric script -         
- Closed
 
-         
- 
                    WT-14872 clang-analyzer gives misleading output -         
- Closed
 
-         
- 
                    WT-14919 Coverity analysis defect 175312: Unused value -         
- Closed
 
-         
- 
                    WT-14929 Coverity analysis defect 174890: Resource leak -         
- Closed
 
-         
- 
                    WT-14619 Merge layered tables into develop -         
- Closed
 
-         
- 
                    WT-14865 Create a parser script for wiredtiger config string in turtle files -         
- Closed
 
-         
- 
                    WT-14562 Dump all extent list blocks when we do a corrupt block dump -         
- Closed
 
-         
- 
                    WT-14695 Merge page deltas into develop -         
- Closed
 
-         
- 
                    WT-14696 Merge precise checkpoint into develop -         
- Closed
 
-         
- 
                    WT-14697 Merge disagg testing code into develop -         
- Closed
 
-         
- 
                    WT-14698 Merge remaining disagg code into develop -         
- Closed
 
-         
- 
                    WT-14826 Write the prepare timestamp and prepared id to disk with preserve prepared config -         
- Closed
 
-         
- 
                    WT-14828 Ensure we set the prepare id when preparing a transaction if preserve prepare config is on -         
- Closed
 
-         
- 
                    WT-14833 Fix TCMalloc build/propagation for some stress tests -         
- Closed
 
-         
- 
                    WT-14858 Forbid to prepare a transaction before the stable timestamp if preserve_prepare config is on -         
- Closed
 
-         
- 
                    WT-14869 Pack prepared ts and prepared id correctly to cell format and unpack them accordingly -         
- Closed
 
-         
- 
                    WT-14878 Assign prepared id and prepard ts on page deltas -         
- Closed
 
-         
- 
                    WT-14901 Enable all examples regular testing with TSAN by suppressing all the warnings -         
- Closed
 
-         
- 
                    WT-14837 Add metric to measure execution time of block_first_srch() -         
- Closed
 
-         
- 
                    WT-14727 update the workgen latency metrics to print the bucket count for us, ms and secs -         
- Closed
 
-         
- 
                    WT-14832 Add read operations to test/model -         
- Closed
 
-         
- 
                    WT-12337 Review and fix WT_ASSERTs in packing_inline.h -         
- Closed
 
-         
- 
                    WT-13985 Did not run a sweep for 60 minutes in test_prepare_hs01 for CS -         
- Closed
 
-         
- 
                    WT-14648 Fix log subsystem returning EBUSY from conn->close() -         
- Closed
 
-         
- 
                    WT-14719 Update cache workloads to adapt to stat name change for cache_eviction_trigger_clean_reached -         
- Closed
 
-         
- 
                    WT-14896 Failed: s-outdated-fixmes on ~ Infrequent checks [WiredTiger (develop) @ 2b0ed0cf] -         
- Closed
 
-         
- 
                    WT-14946 Disable incompatible tests between disagg and tiered -         
- Closed
 
-         
- 
                    WT-13038 task-timed-out: csuite-timestamp-abort-test-s3 on ubuntu2004 -         
- Closed
 
-