Memory leak in __wt_blkcache_read_multi

XMLWordPrintableJSON

    • Type: Bug
    • Resolution: Fixed
    • Priority: Major - P3
    • WT12.0.0, 8.3.0-rc0
    • Affects Version/s: None
    • Component/s: Block Cache
    • None

      This leak happens when `__wti_block_read_off` fails with `WT_ERROR`:

          if (block->verify || F_ISSET(session, WT_SESSION_QUIET_CORRUPT_FILE))
              return (WT_ERROR);
      

      Here is the fixed leak:

      ==9672==ERROR: LeakSanitizer: detected memory leaks
      
      Direct leak of 53248 byte(s) in 2 object(s) allocated from:
          #0 0x7f1aad305cdc in realloc /data/mci/35d44bafaf07d0d34e58f8888b61215a/toolchain-builder/tmp/build-llvm-v5.sh-dB2/llvm-project-llvmorg/compiler-rt/lib/asan/asan_malloc_linux.cpp:82:3
          #1 0x7f1aa89ae0f1 in __realloc_func /home/ubuntu/work/git/wiredtiger/src/os_common/os_alloc.c:160:18
          #2 0x7f1aa89ae31e in __wt_realloc_noclear /home/ubuntu/work/git/wiredtiger/src/os_common/os_alloc.c:198:13
          #3 0x7f1aa8c9b910 in __wt_buf_grow_worker /home/ubuntu/work/git/wiredtiger/src/support/scratch.c:52:9
          #4 0x7f1aa820e01d in __wt_buf_grow /home/ubuntu/work/git/wiredtiger/src/include/buf_inline.h:24:9
          #5 0x7f1aa820d097 in __wt_buf_init /home/ubuntu/work/git/wiredtiger/src/include/buf_inline.h:57:13
          #6 0x7f1aa820a228 in __wti_block_read_off /home/ubuntu/work/git/wiredtiger/src/block/block_read.c:198:5
          #7 0x7f1aa820971a in __wt_bm_read /home/ubuntu/work/git/wiredtiger/src/block/block_read.c:47:5
          #8 0x7f1aa825666c in __bm_read /home/ubuntu/work/git/wiredtiger/src/block_cache/block_mgr.c:557:13
          #9 0x7f1aa8241c75 in __wt_blkcache_read /home/ubuntu/work/git/wiredtiger/src/block_cache/block_io.c:191:13
          #10 0x7f1aa82475c8 in __wt_blkcache_read_multi /home/ubuntu/work/git/wiredtiger/src/block_cache/block_io.c:442:9
          #11 0x7f1aa84068f0 in __page_read /home/ubuntu/work/git/wiredtiger/src/btree/bt_read.c:282:5
          #12 0x7f1aa840349f in __wt_page_in_func /home/ubuntu/work/git/wiredtiger/src/btree/bt_read.c:529:13
          #13 0x7f1aa84dab99 in __verify_tree /home/ubuntu/work/git/wiredtiger/src/btree/bt_vrfy.c:866:19
          #14 0x7f1aa84daeca in __verify_tree /home/ubuntu/work/git/wiredtiger/src/btree/bt_vrfy.c:884:19
          #15 0x7f1aa84daeca in __verify_tree /home/ubuntu/work/git/wiredtiger/src/btree/bt_vrfy.c:884:19
          #16 0x7f1aa84d2fd8 in __wt_verify /home/ubuntu/work/git/wiredtiger/src/btree/bt_vrfy.c:313:13
          #17 0x7f1aa8b88845 in __wti_execute_handle_operation /home/ubuntu/work/git/wiredtiger/src/schema/schema_worker.c:32:5
          #18 0x7f1aa8b891d0 in __wt_schema_worker /home/ubuntu/work/git/wiredtiger/src/schema/schema_worker.c:191:13
          #19 0x7f1aa8b89953 in __wt_schema_worker /home/ubuntu/work/git/wiredtiger/src/schema/schema_worker.c:225:17
          #20 0x7f1aa8bbb1ed in __session_verify /home/ubuntu/work/git/wiredtiger/src/session/session_api.c:1817:5
          #21 0x7f1aac35b239 in _wrap_Session_verify /home/ubuntu/work/git/wiredtiger/build/lang/python/CMakeFiles/wiredtiger_python.dir/wiredtigerPYTHON_wrap.c:7597:21
          #22 0x7f1aacf3cee7 in cfunction_call /data/mci/ffd7bdd8113a1675e4d94dc66e419fee/toolchain-builder/tmp/build-python-v4.sh-VJS/build-Python-3.10.4/../src/Python-3.10.4/Objects/methodobject.c:552:1
      

      Could be reproduced by running

      python3 ../test/suite/run.py -v 2  test_verify.test_verify.test_verify_api_75pct_null --asan
      

            Assignee:
            Mariam Mojid
            Reporter:
            Ivan Kochin
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: