Uploaded image for project: 'WiredTiger'
  1. WiredTiger
  2. WT-1582

split code leaking ikey memory

    • Type: Icon: Task Task
    • Resolution: Done
    • WT2.5.2
    • Affects Version/s: None
    • Component/s: None

      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
      ############################################
      

            Assignee:
            michael.cahill@mongodb.com Michael Cahill (Inactive)
            Reporter:
            sue.loverso@mongodb.com Susan LoVerso
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: