-
Type:
Bug
-
Resolution: Fixed
-
Priority:
Major - P3
-
Affects Version/s: None
-
Component/s: PALI
-
Storage Engines, Storage Engines - Persistence
-
SE Persistence backlog
-
None
-
93
An ASAN run has discovered that we are have several memory leaks from what seems to be PALM initialization. There are several of them, but they all have a similar signature, such as:
[2025/08/28 13:33:39.741] Indirect leak of 6 byte(s) in 1 object(s) allocated from: [2025/08/28 13:33:39.741] #0 0x5581f29db6fa in strdup /data/mci/444c1191ff66ec5bade6c97089429fd0/toolchain-builder/tmp/build-llvm-v5.sh-Dae/llvm-project-llvmorg/compiler-rt/lib/asan/asan_interceptors.cpp:593:3 [2025/08/28 13:33:39.741] #1 0x7f509617ac46 (<unknown module>) [2025/08/28 13:33:39.741] #2 0x7f5096164c1c (<unknown module>) [2025/08/28 13:33:39.741] #3 0x7f509615f28b (<unknown module>) [2025/08/28 13:33:39.741] #4 0x7f50970d92fb in __conn_load_extension_int /data/mci/21da7295e5a6df52ae0033984d4ea045/wiredtiger/src/conn/conn_api.c:960:5 [2025/08/28 13:33:39.741] #5 0x7f50970d57e9 in __conn_load_extensions /data/mci/21da7295e5a6df52ae0033984d4ea045/wiredtiger/src/conn/conn_api.c:1023:9 [2025/08/28 13:33:39.741] #6 0x7f50970b79df in wiredtiger_open /data/mci/21da7295e5a6df52ae0033984d4ea045/wiredtiger/src/conn/conn_api.c:3297:5 [2025/08/28 13:33:39.741] #7 0x7f509796df97 in model::kv_workload_runner_wt::wiredtiger_open_nolock() /data/mci/21da7295e5a6df52ae0033984d4ea045/wiredtiger/test/model/src/driver/kv_workload_runner_wt.cpp:688:15 [2025/08/28 13:33:39.741] #8 0x7f5097971ccc in model::kv_workload_runner_wt::wiredtiger_open() /data/mci/21da7295e5a6df52ae0033984d4ea045/wiredtiger/test/model/src/include/model/driver/kv_workload_runner_wt.h:235:9 [2025/08/28 13:33:39.741] #9 0x7f509796704f in model::kv_workload_runner_wt::run(model::kv_workload const&) /data/mci/21da7295e5a6df52ae0033984d4ea045/wiredtiger/test/model/src/driver/kv_workload_runner_wt.cpp:153:17
All that is required to reproduce the issue is to run ASAN with the following test/model workload:
config("database", "disaggregated=true") set_stable_timestamp(1766932)
We should investigate if this leak is coming from LMDB or from some other PALM code that we control. If it's coming from LMDB and we can't fix it easily, we need to find a way to suppress it, as this is preventing us from enabling ASAN testing with test/model.