-
Type:
Bug
-
Resolution: Unresolved
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: Reconciliation
-
None
-
Storage Engines, Storage Engines - Foundations
-
None
-
3
Can be reproduced by running the following command under TSAN from build folder:
TSAN_OPTIONS="history_size=7:suppressions=../test/evergreen/tsan_warnings.supp" ./examples/c/ex_backup/ex_backup 2>tsan_warnings_error.log
The warning TSAN info:
==================WARNING: ThreadSanitizer: data race (pid=196550) Read of size 4 at 0x7b5c00001294 by main thread (mutexes: write M364, write M3, write M414): #0 __reconcile_post_wrapup /home/ubuntu/work/git/wiredtiger/src/reconcile/rec_write.c:186 (libwiredtiger.so.12.0.0+0x43ec0b) #1 __reconcile /home/ubuntu/work/git/wiredtiger/src/reconcile/rec_write.c:334 (libwiredtiger.so.12.0.0+0x44d912) #2 __wt_reconcile /home/ubuntu/work/git/wiredtiger/src/reconcile/rec_write.c:98 (libwiredtiger.so.12.0.0+0x44b9a4) #3 __wt_sync_file /home/ubuntu/work/git/wiredtiger/src/btree/bt_sync.c:363 (libwiredtiger.so.12.0.0+0x17700c) #4 __checkpoint_tree /home/ubuntu/work/git/wiredtiger/src/checkpoint/checkpoint_txn.c:2523 (libwiredtiger.so.12.0.0+0x1e57b1) #5 __checkpoint_tree_helper /home/ubuntu/work/git/wiredtiger/src/checkpoint/checkpoint_txn.c:2661 (libwiredtiger.so.12.0.0+0x1e60bc) #6 __checkpoint_apply_to_dhandles /home/ubuntu/work/git/wiredtiger/src/checkpoint/checkpoint_txn.c:340 (libwiredtiger.so.12.0.0+0x1d9a7c) #7 __checkpoint_db_internal /home/ubuntu/work/git/wiredtiger/src/checkpoint/checkpoint_txn.c:1330 (libwiredtiger.so.12.0.0+0x1e77a9) #8 __checkpoint_db_wrapper /home/ubuntu/work/git/wiredtiger/src/checkpoint/checkpoint_txn.c:1697 (libwiredtiger.so.12.0.0+0x1e9a7e) #9 __wt_checkpoint_db /home/ubuntu/work/git/wiredtiger/src/checkpoint/checkpoint_txn.c:1776 (libwiredtiger.so.12.0.0+0x1e9e9f) #10 __curbackup_close /home/ubuntu/work/git/wiredtiger/src/cursor/cur_backup.c:284 (libwiredtiger.so.12.0.0+0x24e88c) #11 take_full_backup /home/ubuntu/work/git/wiredtiger/examples/c/ex_backup.c:292 (ex_backup+0x45bf) #12 main /home/ubuntu/work/git/wiredtiger/examples/c/ex_backup.c:441 (ex_backup+0x4a8a) Previous write of size 4 at 0x7b5c00001294 by thread T5 (mutexes: write M34): #0 __reconcile_post_wrapup /home/ubuntu/work/git/wiredtiger/src/reconcile/rec_write.c:187 (libwiredtiger.so.12.0.0+0x43ec20) #1 __reconcile /home/ubuntu/work/git/wiredtiger/src/reconcile/rec_write.c:323 (libwiredtiger.so.12.0.0+0x44d0e5) #2 __wt_reconcile /home/ubuntu/work/git/wiredtiger/src/reconcile/rec_write.c:98 (libwiredtiger.so.12.0.0+0x44b9a4) #3 __evict_reconcile /home/ubuntu/work/git/wiredtiger/src/evict/evict_page.c:1031 (libwiredtiger.so.12.0.0+0x34a0b0) #4 __wt_evict /home/ubuntu/work/git/wiredtiger/src/evict/evict_page.c:236 (libwiredtiger.so.12.0.0+0x35544c) #5 __evict_page /home/ubuntu/work/git/wiredtiger/src/evict/evict_lru.c:2879 (libwiredtiger.so.12.0.0+0x339bb6) #6 __evict_lru_pages /home/ubuntu/work/git/wiredtiger/src/evict/evict_lru.c:1380 (libwiredtiger.so.12.0.0+0x33aea5) #7 __evict_pass /home/ubuntu/work/git/wiredtiger/src/evict/evict_lru.c:893 (libwiredtiger.so.12.0.0+0x34553f) #8 __evict_server /home/ubuntu/work/git/wiredtiger/src/evict/evict_lru.c:461 (libwiredtiger.so.12.0.0+0x345dfd) #9 __evict_thread_run /home/ubuntu/work/git/wiredtiger/src/evict/evict_lru.c:330 (libwiredtiger.so.12.0.0+0x34671c) #10 __thread_run /home/ubuntu/work/git/wiredtiger/src/support/thread_group.c:31 (libwiredtiger.so.12.0.0+0x522071) Location is heap block of size 792 at 0x7b5c00001180 allocated by main thread: #0 calloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:672 (libtsan.so.0+0x31edc) #1 __wt_calloc /home/ubuntu/work/git/wiredtiger/src/os_common/os_alloc.c:68 (libwiredtiger.so.12.0.0+0x3bee0c) #2 __wt_conn_dhandle_alloc /home/ubuntu/work/git/wiredtiger/src/conn/conn_dhandle.c:233 (libwiredtiger.so.12.0.0+0x222bb4) #3 __session_find_shared_dhandle /home/ubuntu/work/git/wiredtiger/src/session/session_dhandle.c:848 (libwiredtiger.so.12.0.0+0x4baf43) #4 __session_get_dhandle /home/ubuntu/work/git/wiredtiger/src/session/session_dhandle.c:878 (libwiredtiger.so.12.0.0+0x4bd2b6) #5 __wt_session_get_dhandle /home/ubuntu/work/git/wiredtiger/src/session/session_dhandle.c:908 (libwiredtiger.so.12.0.0+0x4bd80f) #6 __create_file /home/ubuntu/work/git/wiredtiger/src/schema/schema_create.c:307 (libwiredtiger.so.12.0.0+0x460b8f) #7 __schema_create /home/ubuntu/work/git/wiredtiger/src/schema/schema_create.c:1520 (libwiredtiger.so.12.0.0+0x4656ba) #8 __wt_schema_create /home/ubuntu/work/git/wiredtiger/src/schema/schema_create.c:1580 (libwiredtiger.so.12.0.0+0x4617f8) #9 __create_colgroup /home/ubuntu/work/git/wiredtiger/src/schema/schema_create.c:620 (libwiredtiger.so.12.0.0+0x461fdd) #10 __create_table /home/ubuntu/work/git/wiredtiger/src/schema/schema_create.c:980 (libwiredtiger.so.12.0.0+0x46319c) #11 __schema_create /home/ubuntu/work/git/wiredtiger/src/schema/schema_create.c:1528 (libwiredtiger.so.12.0.0+0x465736) #12 __wt_schema_create /home/ubuntu/work/git/wiredtiger/src/schema/schema_create.c:1580 (libwiredtiger.so.12.0.0+0x4617f8) #13 __wt_session_create /home/ubuntu/work/git/wiredtiger/src/session/session_api.c:1032 (libwiredtiger.so.12.0.0+0x4afee3) #14 __session_create /home/ubuntu/work/git/wiredtiger/src/session/session_api.c:1074 (libwiredtiger.so.12.0.0+0x4b0809) #15 main /home/ubuntu/work/git/wiredtiger/examples/c/ex_backup.c:436 (ex_backup+0x4a27) Mutex M364 (0x7f0803947298) created at: #0 pthread_mutex_init ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:1227 (libtsan.so.0+0x4bee1) #1 __wt_spin_init /home/ubuntu/work/git/wiredtiger/src/include/mutex_inline.h:142 (libwiredtiger.so.12.0.0+0x4a69c8) #2 __open_session /home/ubuntu/work/git/wiredtiger/src/session/session_api.c:2428 (libwiredtiger.so.12.0.0+0x4a69c8) #3 __wt_open_session /home/ubuntu/work/git/wiredtiger/src/session/session_api.c:2551 (libwiredtiger.so.12.0.0+0x4b431e) #4 __conn_open_session /home/ubuntu/work/git/wiredtiger/src/conn/conn_api.c:1379 (libwiredtiger.so.12.0.0+0x20680c) #5 main /home/ubuntu/work/git/wiredtiger/examples/c/ex_backup.c:434 (ex_backup+0x49ad) Mutex M3 (0x7b9400000798) created at: #0 pthread_mutex_init ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:1227 (libtsan.so.0+0x4bee1) #1 __wt_spin_init /home/ubuntu/work/git/wiredtiger/src/include/mutex_inline.h:142 (libwiredtiger.so.12.0.0+0x22718f) #2 __wti_connection_init /home/ubuntu/work/git/wiredtiger/src/conn/conn_handle.c:50 (libwiredtiger.so.12.0.0+0x22718f) #3 wiredtiger_open /home/ubuntu/work/git/wiredtiger/src/conn/conn_api.c:2945 (libwiredtiger.so.12.0.0+0x214fe0) #4 main /home/ubuntu/work/git/wiredtiger/examples/c/ex_backup.c:431 (ex_backup+0x4968) Mutex M414 (0x7b5c000013e8) created at: #0 pthread_mutex_init ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:1227 (libtsan.so.0+0x4bee1) #1 __wt_spin_init /home/ubuntu/work/git/wiredtiger/src/include/mutex_inline.h:142 (libwiredtiger.so.12.0.0+0x103963) #2 __btree_conf /home/ubuntu/work/git/wiredtiger/src/btree/bt_handle.c:613 (libwiredtiger.so.12.0.0+0x103963) #3 __wt_btree_open /home/ubuntu/work/git/wiredtiger/src/btree/bt_handle.c:120 (libwiredtiger.so.12.0.0+0x105f42) #4 __wt_conn_dhandle_open /home/ubuntu/work/git/wiredtiger/src/conn/conn_dhandle.c:624 (libwiredtiger.so.12.0.0+0x2247e7) #5 __wt_session_get_dhandle /home/ubuntu/work/git/wiredtiger/src/session/session_dhandle.c:944 (libwiredtiger.so.12.0.0+0x4bd918) #6 __create_file /home/ubuntu/work/git/wiredtiger/src/schema/schema_create.c:307 (libwiredtiger.so.12.0.0+0x460b8f) #7 __schema_create /home/ubuntu/work/git/wiredtiger/src/schema/schema_create.c:1520 (libwiredtiger.so.12.0.0+0x4656ba) #8 __wt_schema_create /home/ubuntu/work/git/wiredtiger/src/schema/schema_create.c:1580 (libwiredtiger.so.12.0.0+0x4617f8) #9 __create_colgroup /home/ubuntu/work/git/wiredtiger/src/schema/schema_create.c:620 (libwiredtiger.so.12.0.0+0x461fdd) #10 __create_table /home/ubuntu/work/git/wiredtiger/src/schema/schema_create.c:980 (libwiredtiger.so.12.0.0+0x46319c) #11 __schema_create /home/ubuntu/work/git/wiredtiger/src/schema/schema_create.c:1528 (libwiredtiger.so.12.0.0+0x465736) #12 __wt_schema_create /home/ubuntu/work/git/wiredtiger/src/schema/schema_create.c:1580 (libwiredtiger.so.12.0.0+0x4617f8) #13 __wt_session_create /home/ubuntu/work/git/wiredtiger/src/session/session_api.c:1032 (libwiredtiger.so.12.0.0+0x4afee3) #14 __session_create /home/ubuntu/work/git/wiredtiger/src/session/session_api.c:1074 (libwiredtiger.so.12.0.0+0x4b0809) #15 main /home/ubuntu/work/git/wiredtiger/examples/c/ex_backup.c:436 (ex_backup+0x4a27) Mutex M34 (0x7b5c00000150) created at: #0 pthread_mutex_init ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:1227 (libtsan.so.0+0x4bee1) #1 __wt_spin_init /home/ubuntu/work/git/wiredtiger/src/include/mutex_inline.h:142 (libwiredtiger.so.12.0.0+0x32d39e) #2 __wt_evict_create /home/ubuntu/work/git/wiredtiger/src/evict/evict_conn.c:293 (libwiredtiger.so.12.0.0+0x32d39e) #3 __wti_connection_open /home/ubuntu/work/git/wiredtiger/src/conn/conn_open.c:53 (libwiredtiger.so.12.0.0+0x234877) #4 wiredtiger_open /home/ubuntu/work/git/wiredtiger/src/conn/conn_api.c:3206 (libwiredtiger.so.12.0.0+0x216b4f) #5 main /home/ubuntu/work/git/wiredtiger/examples/c/ex_backup.c:431 (ex_backup+0x4968) Thread T5 'eviction-ser 1' (tid=196559, running) created by main thread at: #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:969 (libtsan.so.0+0x605b8) #1 __wt_thread_create /home/ubuntu/work/git/wiredtiger/src/os_posix/os_thread.c:60 (libwiredtiger.so.12.0.0+0x3d1562) #2 __thread_group_resize /home/ubuntu/work/git/wiredtiger/src/support/thread_group.c:203 (libwiredtiger.so.12.0.0+0x523323) #3 __wt_thread_group_create /home/ubuntu/work/git/wiredtiger/src/support/thread_group.c:289 (libwiredtiger.so.12.0.0+0x523a0d) #4 __wt_evict_threads_create /home/ubuntu/work/git/wiredtiger/src/evict/evict_lru.c:597 (libwiredtiger.so.12.0.0+0x33b93f) #5 __wti_connection_workers /home/ubuntu/work/git/wiredtiger/src/conn/conn_open.c:299 (libwiredtiger.so.12.0.0+0x2357c6) #6 wiredtiger_open /home/ubuntu/work/git/wiredtiger/src/conn/conn_api.c:3324 (libwiredtiger.so.12.0.0+0x217137) #7 main /home/ubuntu/work/git/wiredtiger/examples/c/ex_backup.c:431 (ex_backup+0x4968) SUMMARY: ThreadSanitizer: data race /home/ubuntu/work/git/wiredtiger/src/reconcile/rec_write.c:186 in __reconcile_post_wrapup==================