Uploaded image for project: 'Couchbase Server'
  1. Couchbase Server
  2. MB-5090

Memory leak in couchstore

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Blocker
    • 2.0-beta
    • 2.0-beta
    • storage-engine
    • Security Level: Public
    • None

    Description

      Given the fact that CouchKVStore opens and close the database files all of the time this should be treated as a blocker.

      Valgrind reports the following leak:

      ==33161==
      ==33161== 40 bytes in 1 blocks are possibly lost in loss record 2 of 17
      ==33161== at 0xB823: malloc (vg_replace_malloc.c:266)
      ==33161== by 0x20AFD: buffered_constructor_with_raw_ops (iobuffer.c:242)
      ==33161== by 0x211AB: couch_get_buffered_file_ops (iobuffer.c:419)
      ==33161== by 0x1C50E: couchstore_open_db_ex (couch_db.c:200)
      ==33161== by 0x1C33A: couchstore_open_db (couch_db.c:155)
      ==33161== by 0x100000E4F: main (mb-bla.c:12)
      ==33161==
      ==33161==
      ==33161== 6,480 bytes in 162 blocks are indirectly lost in loss record 10 of 17
      ==33161== at 0xB823: malloc (vg_replace_malloc.c:266)
      ==33161== by 0x20AFD: buffered_constructor_with_raw_ops (iobuffer.c:242)
      ==33161== by 0x211AB: couch_get_buffered_file_ops (iobuffer.c:419)
      ==33161== by 0x1C50E: couchstore_open_db_ex (couch_db.c:200)
      ==33161== by 0x1C33A: couchstore_open_db (couch_db.c:155)
      ==33161== by 0x100000E4F: main (mb-bla.c:12)
      ==33161==
      ==33161== 8,248 bytes in 1 blocks are possibly lost in loss record 11 of 17
      ==33161== at 0xB823: malloc (vg_replace_malloc.c:266)
      ==33161== by 0x20188: new_buffer (iobuffer.c:59)
      ==33161== by 0x20B71: buffered_constructor_with_raw_ops (iobuffer.c:248)
      ==33161== by 0x211AB: couch_get_buffered_file_ops (iobuffer.c:419)
      ==33161== by 0x1C50E: couchstore_open_db_ex (couch_db.c:200)
      ==33161== by 0x1C33A: couchstore_open_db (couch_db.c:155)
      ==33161== by 0x100000E4F: main (mb-bla.c:12)
      ==33161==
      ==33161== 131,128 bytes in 1 blocks are possibly lost in loss record 12 of 17
      ==33161== at 0xB823: malloc (vg_replace_malloc.c:266)
      ==33161== by 0x20188: new_buffer (iobuffer.c:59)
      ==33161== by 0x20B50: buffered_constructor_with_raw_ops (iobuffer.c:247)
      ==33161== by 0x211AB: couch_get_buffered_file_ops (iobuffer.c:419)
      ==33161== by 0x1C50E: couchstore_open_db_ex (couch_db.c:200)
      ==33161== by 0x1C33A: couchstore_open_db (couch_db.c:155)
      ==33161== by 0x100000E4F: main (mb-bla.c:12)
      ==33161==
      ==33161== 8,225,544 (486,632 direct, 7,738,912 indirect) bytes in 59 blocks are definitely lost in loss record 13 of 17
      ==33161== at 0xB823: malloc (vg_replace_malloc.c:266)
      ==33161== by 0x20188: new_buffer (iobuffer.c:59)
      ==33161== by 0x20B71: buffered_constructor_with_raw_ops (iobuffer.c:248)
      ==33161== by 0x211AB: couch_get_buffered_file_ops (iobuffer.c:419)
      ==33161== by 0x1C50E: couchstore_open_db_ex (couch_db.c:200)
      ==33161== by 0x1C33A: couchstore_open_db (couch_db.c:155)
      ==33161== by 0x100000E4F: main (mb-bla.c:12)
      ==33161==
      ==33161== 14,359,848 (13,506,184 direct, 853,664 indirect) bytes in 103 blocks are definitely lost in loss record 14 of 17
      ==33161== at 0xB823: malloc (vg_replace_malloc.c:266)
      ==33161== by 0x20188: new_buffer (iobuffer.c:59)
      ==33161== by 0x20B50: buffered_constructor_with_raw_ops (iobuffer.c:247)
      ==33161== by 0x211AB: couch_get_buffered_file_ops (iobuffer.c:419)
      ==33161== by 0x1C50E: couchstore_open_db_ex (couch_db.c:200)
      ==33161== by 0x1C33A: couchstore_open_db (couch_db.c:155)
      ==33161== by 0x100000E4F: main (mb-bla.c:12)
      ==33161==
      ==33161== 81,985,120 bytes in 9,940 blocks are indirectly lost in loss record 15 of 17
      ==33161== at 0xB823: malloc (vg_replace_malloc.c:266)
      ==33161== by 0x20188: new_buffer (iobuffer.c:59)
      ==33161== by 0x20B71: buffered_constructor_with_raw_ops (iobuffer.c:248)
      ==33161== by 0x211AB: couch_get_buffered_file_ops (iobuffer.c:419)
      ==33161== by 0x1C50E: couchstore_open_db_ex (couch_db.c:200)
      ==33161== by 0x1C33A: couchstore_open_db (couch_db.c:155)
      ==33161== by 0x100000E4F: main (mb-bla.c:12)
      ==33161==
      ==33161== 1,297,642,688 bytes in 9,896 blocks are indirectly lost in loss record 16 of 17
      ==33161== at 0xB823: malloc (vg_replace_malloc.c:266)
      ==33161== by 0x20188: new_buffer (iobuffer.c:59)
      ==33161== by 0x20B50: buffered_constructor_with_raw_ops (iobuffer.c:247)
      ==33161== by 0x211AB: couch_get_buffered_file_ops (iobuffer.c:419)
      ==33161== by 0x1C50E: couchstore_open_db_ex (couch_db.c:200)
      ==33161== by 0x1C33A: couchstore_open_db (couch_db.c:155)
      ==33161== by 0x100000E4F: main (mb-bla.c:12)
      ==33161==
      ==33161== 1,371,435,192 (393,480 direct, 1,371,041,712 indirect) bytes in 9,837 blocks are definitely lost in loss record 17 of 17
      ==33161== at 0xB823: malloc (vg_replace_malloc.c:266)
      ==33161== by 0x20AFD: buffered_constructor_with_raw_ops (iobuffer.c:242)
      ==33161== by 0x211AB: couch_get_buffered_file_ops (iobuffer.c:419)
      ==33161== by 0x1C50E: couchstore_open_db_ex (couch_db.c:200)
      ==33161== by 0x1C33A: couchstore_open_db (couch_db.c:155)
      ==33161== by 0x100000E4F: main (mb-bla.c:12)
      ==33161==
      ==33161== LEAK SUMMARY:
      ==33161== definitely lost: 14,386,296 bytes in 9,999 blocks
      ==33161== indirectly lost: 1,379,634,288 bytes in 19,998 blocks
      ==33161== possibly lost: 139,416 bytes in 3 blocks
      ==33161== still reachable: 1,969 bytes in 28 blocks
      ==33161== suppressed: 0 bytes in 0 blocks
      ==33161==
      ==33161== For counts of detected and suppressed errors, rerun with: -v
      ==33161== ERROR SUMMARY: 6 errors from 6 contexts (suppressed: 1 from 1)

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            jens Jens Alfke
            trond Trond Norbye
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes

                PagerDuty