Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-4201 LevelDB Storage Engine MS2
  3. MDEV-4321

LevelDB: Valgrind "blocks are definitely lost" warnings on creating a table

    Details

    • Type: Technical task
    • Status: Closed
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: None
    • Labels:

      Description

      ==25696== 40 bytes in 1 blocks are definitely lost in loss record 88 of 209
      ==25696==    at 0x4C2B1C7: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
      ==25696==    by 0xD492B6: ha_leveldb::create_key_defs(TABLE*, char const*, unsigned int) (ha_leveldb.cc:893)
      ==25696==    by 0xD49648: ha_leveldb::create(char const*, TABLE*, st_ha_create_information*) (ha_leveldb.cc:982)
      ==25696==    by 0x61E493: handler::ha_create(char const*, TABLE*, st_ha_create_information*) (handler.cc:4407)
      ==25696==    by 0x61ED27: ha_create_table(THD*, char const*, char const*, char const*, st_ha_create_information*, bool, bool) (handler.cc:4645)
      ==25696==    by 0x86E5D1: rea_create_table(THD*, char const*, char const*, char const*, st_ha_create_information*, List<Create_field>&, unsigned int, st_key*, handler*, bool) (unireg.cc:527)
      ==25696==    by 0x8091E8: create_table_impl(THD*, char const*, char const*, char const*, st_ha_create_information*, Alter_info*, bool, unsigned int, bool, bool*, st_key**, unsigned int*) (sql_table.cc:4791)
      ==25696==    by 0x809713: mysql_create_table_no_lock(THD*, char const*, char const*, st_ha_create_information*, Alter_info*, unsigned int, bool*) (sql_table.cc:4901)
      ==25696==    by 0x80981C: mysql_create_table(THD*, TABLE_LIST*, st_ha_create_information*, Alter_info*) (sql_table.cc:4947)
      ==25696==    by 0x7A1A79: mysql_execute_command(THD*) (sql_parse.cc:2999)
      ==25696==    by 0x7AA16A: mysql_parse(THD*, char*, unsigned int, Parser_state*) (sql_parse.cc:6149)
      ==25696==    by 0x79DE91: dispatch_command(enum_server_command, THD*, char*, unsigned int) (sql_parse.cc:1334)
      ==25696== 
      

      To reproduce, it's enough to start server with valgrind, e.g.

      /usr/bin/valgrind.bin --suppressions=/data/bzr/mysql-5.6-leveldb/mysql-test/valgrind.supp --tool=memcheck --leak-check=yes --show-reachable=yes mysqld ...
      

      then run

      create table t1 (pk int primary key) engine=LevelDB;
      

      and shut down the server.

      MTR test case:

      CREATE TABLE t1 (pk INT PRIMARY KEY) ENGINE=LevelDB;
      DROP TABLE t1;
      
      revision-id: psergey@askmonty.org-20130322111245-43wqvaouclxso5zo
      revno: 4807
      branch-nick: mysql-5.6-leveldb
      

      (modified not to build unittest and built with cmake . -DCMAKE_BUILD_TYPE=Debug && make -j3)

        Gliffy Diagrams

          Attachments

            Activity

            There are no comments yet on this issue.

              People

              • Assignee:
                psergey Sergei Petrunia
                Reporter:
                elenst Elena Stepanova
              • Votes:
                0 Vote for this issue
                Watchers:
                1 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0 minutes
                  0m
                  Logged:
                  Time Spent - 30 minutes
                  30m