Description
Sanitizer failed with a memory leak of ikeys:
http://build.wiredtiger.com:8080/job/wiredtiger-test-format-stress-sanitizer/2733/
We allocate them in __wt_row_ikey and there are a bunch of places we free them. We somehow missed 3 apparently.
Here's the stack:
Direct leak of 142 byte(s) in 3 object(s) allocated from:
|
#0 0x48df19 in calloc (<http://build.wiredtiger.com:8080/job/wiredtiger-test-format-stress-sanitizer/ws/build_posix/test/format/t+0x48df19)>
|
WT-1 0x67d388 in __wt_calloc <http://build.wiredtiger.com:8080/job/wiredtiger-test-format-stress-sanitizer/ws/build_posix/../src/os_posix/os_alloc.c>:39
|
WT-2 0xa70628 in __wt_row_ikey <http://build.wiredtiger.com:8080/job/wiredtiger-test-format-stress-sanitizer/ws/build_posix/../src/btree/row_key.c>:494
|
WT-3 0x9e9d0d in __split_ref_deepen_move <http://build.wiredtiger.com:8080/job/wiredtiger-test-format-stress-sanitizer/ws/build_posix/../src/btree/bt_split.c>:294
|
WT-4 0x9e70de in __split_deepen <http://build.wiredtiger.com:8080/job/wiredtiger-test-format-stress-sanitizer/ws/build_posix/../src/btree/bt_split.c>:503
|
WT-5 0x9da638 in __split_parent <http://build.wiredtiger.com:8080/job/wiredtiger-test-format-stress-sanitizer/ws/build_posix/../src/btree/bt_split.c>:1052
|
WT-6 0x9de764 in __wt_split_multi <http://build.wiredtiger.com:8080/job/wiredtiger-test-format-stress-sanitizer/ws/build_posix/../src/btree/bt_split.c>:1503
|
WT-7 0x5c94da in __evict_page_dirty_update <http://build.wiredtiger.com:8080/job/wiredtiger-test-format-stress-sanitizer/ws/build_posix/../src/evict/evict_page.c>:215
|
WT-8 0x5c2f85 in __wt_evict <http://build.wiredtiger.com:8080/job/wiredtiger-test-format-stress-sanitizer/ws/build_posix/../src/evict/evict_page.c>:109
|
WT-9 0x5a7aba in __wt_evict_page <http://build.wiredtiger.com:8080/job/wiredtiger-test-format-stress-sanitizer/ws/build_posix/../src/evict/evict_lru.c>:630
|
WT-10 0x5ab00b in __wt_evict_lru_page <http://build.wiredtiger.com:8080/job/wiredtiger-test-format-stress-sanitizer/ws/build_posix/../src/evict/evict_lru.c>:1310
|
WT-11 0xd4df90 in __wt_cache_full_check <http://build.wiredtiger.com:8080/job/wiredtiger-test-format-stress-sanitizer/ws/build_posix/../src/include/cache.i>:193
|
WT-12 0xd4fdce in __cursor_enter <http://build.wiredtiger.com:8080/job/wiredtiger-test-format-stress-sanitizer/ws/build_posix/../src/include/cursor.i>:63:33
|
WT-13 0xd4efa6 in __curfile_enter <http://build.wiredtiger.com:8080/job/wiredtiger-test-format-stress-sanitizer/ws/build_posix/../src/include/cursor.i>:98:32
|
WT-14 0xd2feee in __cursor_func_init <http://build.wiredtiger.com:8080/job/wiredtiger-test-format-stress-sanitizer/ws/build_posix/../src/include/cursor.i>:197:33
|
WT-15 0xd2d7bc in __wt_btcur_search <http://build.wiredtiger.com:8080/job/wiredtiger-test-format-stress-sanitizer/ws/build_posix/../src/btree/bt_cursor.c>:308:32
|
WT-16 0xb35693 in __curfile_search <http://build.wiredtiger.com:8080/job/wiredtiger-test-format-stress-sanitizer/ws/build_posix/../src/cursor/cur_file.c>:200
|
WT-17 0x4bfdc2 in read_row <http://build.wiredtiger.com:8080/job/wiredtiger-test-format-stress-sanitizer/ws/build_posix/test/format/../../../test/format/ops.c>:602
|
WT-18 0x4bd790 in ops <http://build.wiredtiger.com:8080/job/wiredtiger-test-format-stress-sanitizer/ws/build_posix/test/format/../../../test/format/ops.c>:476
|
WT-19 0x3f17e07ee4 in start_thread (/lib64/libpthread.so.0+0x3f17e07ee4)
|
Here's the CONFIG:
############################################
|
# RUN PARAMETERS
|
############################################
|
abort=0
|
auto_throttle=1
|
firstfit=0
|
bitcnt=2
|
bloom=1
|
bloom_bit_count=41
|
bloom_hash_count=16
|
bloom_oldest=0
|
cache=13
|
checkpoints=1
|
checksum=uncompressed
|
chunk_size=2
|
compaction=0
|
compression=zlib
|
data_extend=0
|
data_source=table
|
delete_pct=12
|
dictionary=0
|
evict_max=3
|
file_type=row-store
|
backups=0
|
huffman_key=0
|
huffman_value=0
|
insert_pct=14
|
internal_key_truncation=1
|
internal_page_max=16
|
isolation=snapshot
|
key_gap=18
|
key_max=80
|
key_min=26
|
leak_memory=0
|
leaf_page_max=9
|
logging=0
|
logging_archive=0
|
logging_prealloc=0
|
logging=0
|
lsm_worker_threads=3
|
merge_max=15
|
mmap=1
|
ops=100000
|
prefix_compression=1
|
prefix_compression_min=8
|
repeat_data_pct=46
|
reverse=0
|
rows=100000
|
runs=1
|
split_pct=47
|
statistics=0
|
threads=25
|
timer=0
|
value_max=2874
|
value_min=3
|
wiredtiger_config=
|
write_pct=20
|
############################################
|
Attachments
Issue Links
- is related to
-
WT-1605 underflow cache stat and low throughput
- Closed
-
WT-1619 Use a single in-memory byte value.
- Closed
-
WT-1707 Add some paranoia
- Closed
-
WT-1736 test/format sanitizer memory leak
- Closed
- related to
-
WT-1 placeholder WT-1
- Closed
-
WT-2 What does metadata look like?
- Closed
-
WT-3 What file formats are required?
- Closed
-
WT-4 Flexible cursor traversals
- Closed
-
WT-5 How does pget work: is it necessary?
- Closed
-
WT-6 Complex schema example
- Closed
-
WT-7 Do we need the handle->err/errx methods?
- Closed
-
WT-8 Do we need table load, bulk-load and/or dump methods?
- Closed
-
WT-9 Does adding schema need to be transactional?
- Closed
-
WT-10 Basic "getting started" tutorial
- Closed
-
WT-11 placeholder #11
- Closed
-
WT-12 Write more examples
- Closed
-
WT-13 Define supported platforms
- Closed
-
WT-14 Windows build
- Closed
-
WT-15 Automated build/test infrastructure
- Closed
-
WT-16 Test suite
- Closed
-
WT-17 Multithreaded tests
- Closed
-
WT-18 Coverage tests
- Closed
-
WT-19 Memory access / leak tests
- Closed
-
WT-20 API design
- Closed
-
WT-1747 Don't cache an ikey before winning the race to split into a parent.
- Closed