Data race in __cell_unpack_window_cleanup_kv

XMLWordPrintableJSON

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

      This function produces a data race warning. Since this function was brought as a part of the great disagg merge, it's worth checking whether this data race could cause any problems and introduce proper synchronisation there:

      [2025/12/15 16:39:51.467] ==================
      [2025/12/15 16:39:51.467] WARNING: ThreadSanitizer: data race (pid=16968)
      [2025/12/15 16:39:51.467]   Read of size 8 at 0x72a000080008 by thread T64 (mutexes: write M0):
      [2025/12/15 16:39:51.467]     #0 __cell_unpack_window_cleanup_kv /data/mci/e2e82a312927d71f54a6eb78941a87f3/wiredtiger/src/include/cell_inline.h:1674:57 (libwiredtiger.so.12.0.0+0x1eb9bd)
      [2025/12/15 16:39:51.467]     #1 __wt_cell_unpack_kv /data/mci/e2e82a312927d71f54a6eb78941a87f3/wiredtiger/src/include/cell_inline.h:1731:5 (libwiredtiger.so.12.0.0+0x1e5dc9)
      [2025/12/15 16:39:51.467]     #2 __wt_value_return_buf /data/mci/e2e82a312927d71f54a6eb78941a87f3/wiredtiger/src/btree/bt_ret.c:204:9 (libwiredtiger.so.12.0.0+0x1e53fe)
      [2025/12/15 16:39:51.468]     #3 __wt_txn_read /data/mci/e2e82a312927d71f54a6eb78941a87f3/wiredtiger/src/include/txn_inline.h:1684:19 (libwiredtiger.so.12.0.0+0x128a8d)
      [2025/12/15 16:39:51.468]     #4 __cursor_valid_ondisk /data/mci/e2e82a312927d71f54a6eb78941a87f3/wiredtiger/src/btree/bt_cursor.c:272:5 (libwiredtiger.so.12.0.0+0x124537)
      [2025/12/15 16:39:51.468]     #5 __cursor_valid_col /data/mci/e2e82a312927d71f54a6eb78941a87f3/wiredtiger/src/btree/bt_cursor.c:433:13 (libwiredtiger.so.12.0.0+0x115695)
      [2025/12/15 16:39:51.468]     #6 __wti_cursor_valid /data/mci/e2e82a312927d71f54a6eb78941a87f3/wiredtiger/src/btree/bt_cursor.c:461:9 (libwiredtiger.so.12.0.0+0x11502b)
      [2025/12/15 16:39:51.468]     #7 __wt_btcur_search /data/mci/e2e82a312927d71f54a6eb78941a87f3/wiredtiger/src/btree/bt_cursor.c:771:13 (libwiredtiger.so.12.0.0+0x117833)
      [2025/12/15 16:39:51.468]     #8 __curfile_search /data/mci/e2e82a312927d71f54a6eb78941a87f3/wiredtiger/src/cursor/cur_file.c:314:5 (libwiredtiger.so.12.0.0+0x3f3df1)
      [2025/12/15 16:39:51.468]     #9 read_op /data/mci/e2e82a312927d71f54a6eb78941a87f3/wiredtiger/test/format/format_inline.h:51:15 (t+0x11a247)
      [2025/12/15 16:39:51.468]     #10 col_remove /data/mci/e2e82a312927d71f54a6eb78941a87f3/wiredtiger/test/format/ops.c:2153:16 (t+0x114ea0)
      [2025/12/15 16:39:51.468]     #11 table_op /data/mci/e2e82a312927d71f54a6eb78941a87f3/wiredtiger/test/format/ops.c:882:19 (t+0x10f73a)
      [2025/12/15 16:39:51.468]     #12 ops /data/mci/e2e82a312927d71f54a6eb78941a87f3/wiredtiger/test/format/ops.c:1301:19 (t+0x10a5cd)
      [2025/12/15 16:39:51.468]   Previous write of size 8 at 0x72a000080008 by thread T68 (mutexes: write M1):
      [2025/12/15 16:39:51.468]     #0 __tsan_memcpy /data/mci/444c1191ff66ec5bade6c97089429fd0/toolchain-builder/tmp/build-llvm-v5.sh-Dae/llvm-project-llvmorg/compiler-rt/lib/tsan/rtl/tsan_interceptors_memintrinsics.cpp:27:3 (t+0x61f2e)
      [2025/12/15 16:39:51.468]     #1 __wt_buf_grow_worker /data/mci/e2e82a312927d71f54a6eb78941a87f3/wiredtiger/src/support/scratch.c:64:13 (libwiredtiger.so.12.0.0+0x7b1c5d)
      [2025/12/15 16:39:51.468]     #2 __wt_buf_grow /data/mci/e2e82a312927d71f54a6eb78941a87f3/wiredtiger/src/include/buf_inline.h:24:9 (libwiredtiger.so.12.0.0+0xa6e8a)
      [2025/12/15 16:39:51.468]     #3 __wt_buf_set /data/mci/e2e82a312927d71f54a6eb78941a87f3/wiredtiger/src/include/buf_inline.h:88:13 (libwiredtiger.so.12.0.0+0x9f6e6)
      [2025/12/15 16:39:51.468]     #4 __wt_blkcache_read /data/mci/e2e82a312927d71f54a6eb78941a87f3/wiredtiger/src/block_cache/block_io.c:306:13 (libwiredtiger.so.12.0.0+0x9ee9b)
      [2025/12/15 16:39:51.468]     #5 __wt_blkcache_read_multi /data/mci/e2e82a312927d71f54a6eb78941a87f3/wiredtiger/src/block_cache/block_io.c:444:9 (libwiredtiger.so.12.0.0+0xa1270)
      [2025/12/15 16:39:51.468]     #6 __page_read /data/mci/e2e82a312927d71f54a6eb78941a87f3/wiredtiger/src/btree/bt_read.c:299:5 (libwiredtiger.so.12.0.0+0x1d28fb)
      [2025/12/15 16:39:51.468]     #7 __wt_page_in_func /data/mci/e2e82a312927d71f54a6eb78941a87f3/wiredtiger/src/btree/bt_read.c:543:13 (libwiredtiger.so.12.0.0+0x1d05c4)
      [2025/12/15 16:39:51.468]     #8 __wt_page_swap_func /data/mci/e2e82a312927d71f54a6eb78941a87f3/wiredtiger/src/include/btree_inline.h:2580:11 (libwiredtiger.so.12.0.0+0x2a82d3)
      [2025/12/15 16:39:51.468]     #9 __wt_col_search /data/mci/e2e82a312927d71f54a6eb78941a87f3/wiredtiger/src/btree/col_srch.c:197:20 (libwiredtiger.so.12.0.0+0x2a67f3)
      [2025/12/15 16:39:51.468]     #10 __cursor_col_search /data/mci/e2e82a312927d71f54a6eb78941a87f3/wiredtiger/src/btree/bt_cursor.c:491:5 (libwiredtiger.so.12.0.0+0x11d2b0)
      [2025/12/15 16:39:51.468]     #11 __cursor_search /data/mci/e2e82a312927d71f54a6eb78941a87f3/wiredtiger/src/btree/bt_cursor.c:531:17 (libwiredtiger.so.12.0.0+0x119a50)
      [2025/12/15 16:39:51.468]     #12 __wt_btcur_search /data/mci/e2e82a312927d71f54a6eb78941a87f3/wiredtiger/src/btree/bt_cursor.c:769:9 (libwiredtiger.so.12.0.0+0x1177c0)
      [2025/12/15 16:39:51.468]     #13 __curfile_search /data/mci/e2e82a312927d71f54a6eb78941a87f3/wiredtiger/src/cursor/cur_file.c:314:5 (libwiredtiger.so.12.0.0+0x3f3df1)
      [2025/12/15 16:39:51.468]     #14 read_op /data/mci/e2e82a312927d71f54a6eb78941a87f3/wiredtiger/test/format/format_inline.h:51:15 (t+0x11a247)
      [2025/12/15 16:39:51.468]     #15 col_remove /data/mci/e2e82a312927d71f54a6eb78941a87f3/wiredtiger/test/format/ops.c:2153:16 (t+0x114ea0)
      [2025/12/15 16:39:51.468]     #16 table_op /data/mci/e2e82a312927d71f54a6eb78941a87f3/wiredtiger/test/format/ops.c:882:19 (t+0x10f73a)
      [2025/12/15 16:39:51.468]     #17 ops /data/mci/e2e82a312927d71f54a6eb78941a87f3/wiredtiger/test/format/ops.c:1301:19 (t+0x10a5cd)
      [2025/12/15 16:39:51.468]   Location is heap block of size 14663 at 0x72a000080000 allocated by thread T68:
      [2025/12/15 16:39:51.468]     #0 realloc /data/mci/444c1191ff66ec5bade6c97089429fd0/toolchain-builder/tmp/build-llvm-v5.sh-Dae/llvm-project-llvmorg/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:699:5 (t+0x64b4a)
      [2025/12/15 16:39:51.468]     #1 __realloc_func /data/mci/e2e82a312927d71f54a6eb78941a87f3/wiredtiger/src/os_common/os_alloc.c:160:18 (libwiredtiger.so.12.0.0+0x5bb442)
      [2025/12/15 16:39:51.468]     #2 __wt_realloc_noclear /data/mci/e2e82a312927d71f54a6eb78941a87f3/wiredtiger/src/os_common/os_alloc.c:198:13 (libwiredtiger.so.12.0.0+0x5bb5f7)
      [2025/12/15 16:39:51.468]     #3 __wt_buf_grow_worker /data/mci/e2e82a312927d71f54a6eb78941a87f3/wiredtiger/src/support/scratch.c:52:9 (libwiredtiger.so.12.0.0+0x7b19b7)
      [2025/12/15 16:39:51.468]     #4 __wt_buf_grow /data/mci/e2e82a312927d71f54a6eb78941a87f3/wiredtiger/src/include/buf_inline.h:24:9 (libwiredtiger.so.12.0.0+0xa6e8a)
      [2025/12/15 16:39:51.468]     #5 __wt_buf_set /data/mci/e2e82a312927d71f54a6eb78941a87f3/wiredtiger/src/include/buf_inline.h:88:13 (libwiredtiger.so.12.0.0+0x9f6e6)
      [2025/12/15 16:39:51.469]     #6 __wt_blkcache_read /data/mci/e2e82a312927d71f54a6eb78941a87f3/wiredtiger/src/block_cache/block_io.c:306:13 (libwiredtiger.so.12.0.0+0x9ee9b)
      [2025/12/15 16:39:51.469]     #7 __wt_blkcache_read_multi /data/mci/e2e82a312927d71f54a6eb78941a87f3/wiredtiger/src/block_cache/block_io.c:444:9 (libwiredtiger.so.12.0.0+0xa1270)
      [2025/12/15 16:39:51.469]     #8 __page_read /data/mci/e2e82a312927d71f54a6eb78941a87f3/wiredtiger/src/btree/bt_read.c:299:5 (libwiredtiger.so.12.0.0+0x1d28fb)
      [2025/12/15 16:39:51.469]     #9 __wt_page_in_func /data/mci/e2e82a312927d71f54a6eb78941a87f3/wiredtiger/src/btree/bt_read.c:543:13 (libwiredtiger.so.12.0.0+0x1d05c4)
      [2025/12/15 16:39:51.469]     #10 __wt_page_swap_func /data/mci/e2e82a312927d71f54a6eb78941a87f3/wiredtiger/src/include/btree_inline.h:2580:11 (libwiredtiger.so.12.0.0+0x2a82d3)
      [2025/12/15 16:39:51.469]     #11 __wt_col_search /data/mci/e2e82a312927d71f54a6eb78941a87f3/wiredtiger/src/btree/col_srch.c:197:20 (libwiredtiger.so.12.0.0+0x2a67f3)
      [2025/12/15 16:39:51.469]     #12 __cursor_col_search /data/mci/e2e82a312927d71f54a6eb78941a87f3/wiredtiger/src/btree/bt_cursor.c:491:5 (libwiredtiger.so.12.0.0+0x11d2b0)
      [2025/12/15 16:39:51.469]     #13 __cursor_search /data/mci/e2e82a312927d71f54a6eb78941a87f3/wiredtiger/src/btree/bt_cursor.c:531:17 (libwiredtiger.so.12.0.0+0x119a50)
      [2025/12/15 16:39:51.469]     #14 __wt_btcur_search /data/mci/e2e82a312927d71f54a6eb78941a87f3/wiredtiger/src/btree/bt_cursor.c:769:9 (libwiredtiger.so.12.0.0+0x1177c0)
      [2025/12/15 16:39:51.469]     #15 __curfile_search /data/mci/e2e82a312927d71f54a6eb78941a87f3/wiredtiger/src/cursor/cur_file.c:314:5 (libwiredtiger.so.12.0.0+0x3f3df1)
      [2025/12/15 16:39:51.469]     #16 read_op /data/mci/e2e82a312927d71f54a6eb78941a87f3/wiredtiger/test/format/format_inline.h:51:15 (t+0x11a247)
      [2025/12/15 16:39:51.469]     #17 col_remove /data/mci/e2e82a312927d71f54a6eb78941a87f3/wiredtiger/test/format/ops.c:2153:16 (t+0x114ea0)
      [2025/12/15 16:39:51.469]     #18 table_op /data/mci/e2e82a312927d71f54a6eb78941a87f3/wiredtiger/test/format/ops.c:882:19 (t+0x10f73a)
      [2025/12/15 16:39:51.469]     #19 ops /data/mci/e2e82a312927d71f54a6eb78941a87f3/wiredtiger/test/format/ops.c:1301:19 (t+0x10a5cd)
      [2025/12/15 16:39:51.469]   Mutex M0 (0x7f6858da3f18) created at:
      [2025/12/15 16:39:51.469]     #0 pthread_mutex_init /data/mci/444c1191ff66ec5bade6c97089429fd0/toolchain-builder/tmp/build-llvm-v5.sh-Dae/llvm-project-llvmorg/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:1327:3 (t+0x67c73)
      [2025/12/15 16:39:51.469]     #1 __wt_spin_init /data/mci/e2e82a312927d71f54a6eb78941a87f3/wiredtiger/src/include/mutex_inline.h:142:5 (libwiredtiger.so.12.0.0+0x7391d1)
      [2025/12/15 16:39:51.469]     #2 __open_session /data/mci/e2e82a312927d71f54a6eb78941a87f3/wiredtiger/src/session/session_api.c:2598:5 (libwiredtiger.so.12.0.0+0x7022c4)
      [2025/12/15 16:39:51.469]     #3 __wt_open_session /data/mci/e2e82a312927d71f54a6eb78941a87f3/wiredtiger/src/session/session_api.c:2721:5 (libwiredtiger.so.12.0.0+0x701a78)
      [2025/12/15 16:39:51.469]     #4 __conn_open_session /data/mci/e2e82a312927d71f54a6eb78941a87f3/wiredtiger/src/conn/conn_api.c:1379:5 (libwiredtiger.so.12.0.0+0x334d02)
      [2025/12/15 16:39:51.469]     #5 wt_wrap_open_session /data/mci/e2e82a312927d71f54a6eb78941a87f3/wiredtiger/test/format/format_util.c:380:5 (t+0x1027a2)
      [2025/12/15 16:39:51.469]     #6 ops_session_open /data/mci/e2e82a312927d71f54a6eb78941a87f3/wiredtiger/test/format/ops.c:980:5 (t+0x10db54)
      [2025/12/15 16:39:51.469]     #7 ops /data/mci/e2e82a312927d71f54a6eb78941a87f3/wiredtiger/test/format/ops.c:1088:13 (t+0x109184)
      [2025/12/15 16:39:51.469]   Mutex M1 (0x7f6858da5df8) created at:
      [2025/12/15 16:39:51.469]     #0 pthread_mutex_init /data/mci/444c1191ff66ec5bade6c97089429fd0/toolchain-builder/tmp/build-llvm-v5.sh-Dae/llvm-project-llvmorg/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:1327:3 (t+0x67c73)
      [2025/12/15 16:39:51.469]     #1 __wt_spin_init /data/mci/e2e82a312927d71f54a6eb78941a87f3/wiredtiger/src/include/mutex_inline.h:142:5 (libwiredtiger.so.12.0.0+0x7391d1)
      [2025/12/15 16:39:51.469]     #2 __open_session /data/mci/e2e82a312927d71f54a6eb78941a87f3/wiredtiger/src/session/session_api.c:2598:5 (libwiredtiger.so.12.0.0+0x7022c4)
      [2025/12/15 16:39:51.469]     #3 __wt_open_session /data/mci/e2e82a312927d71f54a6eb78941a87f3/wiredtiger/src/session/session_api.c:2721:5 (libwiredtiger.so.12.0.0+0x701a78)
      [2025/12/15 16:39:51.469]     #4 __conn_open_session /data/mci/e2e82a312927d71f54a6eb78941a87f3/wiredtiger/src/conn/conn_api.c:1379:5 (libwiredtiger.so.12.0.0+0x334d02)
      [2025/12/15 16:39:51.469]     #5 wt_wrap_open_session /data/mci/e2e82a312927d71f54a6eb78941a87f3/wiredtiger/test/format/format_util.c:380:5 (t+0x1027a2)
      [2025/12/15 16:39:51.469]     #6 ops_session_open /data/mci/e2e82a312927d71f54a6eb78941a87f3/wiredtiger/test/format/ops.c:980:5 (t+0x10db54)
      [2025/12/15 16:39:51.469]     #7 ops /data/mci/e2e82a312927d71f54a6eb78941a87f3/wiredtiger/test/format/ops.c:1088:13 (t+0x109184)
      [2025/12/15 16:39:51.469]   Thread T64 (tid=17078, running) created by main thread at:
      [2025/12/15 16:39:51.469]     #0 pthread_create /data/mci/444c1191ff66ec5bade6c97089429fd0/toolchain-builder/tmp/build-llvm-v5.sh-Dae/llvm-project-llvmorg/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:1023:3 (t+0x662a1)
      [2025/12/15 16:39:51.469]     #1 __wt_thread_create /data/mci/e2e82a312927d71f54a6eb78941a87f3/wiredtiger/src/os_posix/os_thread.c:60:5 (libwiredtiger.so.12.0.0+0x5d6cfb)
      [2025/12/15 16:39:51.469]     #2 operations /data/mci/e2e82a312927d71f54a6eb78941a87f3/wiredtiger/test/format/ops.c:362:9 (t+0x106ee1)
      [2025/12/15 16:39:51.469]     #3 main /data/mci/e2e82a312927d71f54a6eb78941a87f3/wiredtiger/test/format/t.c:394:13 (t+0x1230d3)
      [2025/12/15 16:39:51.470]   Thread T68 (tid=17082, running) created by main thread at:
      [2025/12/15 16:39:51.470]     #0 pthread_create /data/mci/444c1191ff66ec5bade6c97089429fd0/toolchain-builder/tmp/build-llvm-v5.sh-Dae/llvm-project-llvmorg/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:1023:3 (t+0x662a1)
      [2025/12/15 16:39:51.470]     #1 __wt_thread_create /data/mci/e2e82a312927d71f54a6eb78941a87f3/wiredtiger/src/os_posix/os_thread.c:60:5 (libwiredtiger.so.12.0.0+0x5d6cfb)
      [2025/12/15 16:39:51.470]     #2 operations /data/mci/e2e82a312927d71f54a6eb78941a87f3/wiredtiger/test/format/ops.c:362:9 (t+0x106ee1)
      [2025/12/15 16:39:51.470]     #3 main /data/mci/e2e82a312927d71f54a6eb78941a87f3/wiredtiger/test/format/t.c:394:13 (t+0x1230d3)
      [2025/12/15 16:39:51.470] SUMMARY: ThreadSanitizer: data race /data/mci/e2e82a312927d71f54a6eb78941a87f3/wiredtiger/src/include/cell_inline.h:1674:57 in __cell_unpack_window_cleanup_kv
      [2025/12/15 16:40:25.981] ==================
      

            Assignee:
            [DO NOT USE] Backlog - Storage Engines Team
            Reporter:
            Ivan Kochin
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: