Bug #13106 mysql-test-run --valgrind produces cluster-related valgrind errors.
Submitted: 10 Sep 2005 20:40 Modified: 6 Jul 2006 15:38
Reporter: Sergey Petrunya Email Updates:
Status: Closed Impact on me:
Category:MySQL Cluster: Cluster (NDB) storage engine Severity:S3 (Non-critical)
Version:4.1-bk OS:
Assigned to: Martin Skold CPU Architecture:Any

[10 Sep 2005 20:40] Sergey Petrunya
CURRENT_TEST: order_by
==5513== 736 bytes in 11 blocks are definitely lost in loss record 4 of 4
==5513==    at 0x1B905B48: malloc (vg_replace_malloc.c:131)
==5513==    by 0x8482A0E: NdbMem_Allocate (NdbMem.c:39)
==5513==    by 0x84919CF: operator new[](unsigned) (new.cpp:23)
==5513==    by 0x844D4A4: NdbRecAttr::setup(NdbColumnImpl const*, char*) (NdbRecAttr.cpp:85)
==5513==    by 0x844EB6F: NdbReceiver::getValue(NdbColumnImpl const*, char*) (NdbReceiver.cpp:80)
==5513==    by 0x843DF0C: NdbOperation::getValue_impl(NdbColumnImpl const*, char*) (NdbOperationDefine.cpp:386)
==5513==    by 0x844418B: NdbIndexScanOperation::readTuples(NdbOperation::LockMode, unsigned, unsigned, bool) (NdbScanOperation.cpp:1257)
==5513==    by 0x82552B6: ha_ndbcluster::ordered_index_scan(st_key_range const*, st_key_range const*, bool, char*) (ha_ndbcluster.cc:1666)
==5513==    by 0x82581EC: ha_ndbcluster::index_read(char*, char const*, unsigned, ha_rkey_function) (ha_ndbcluster.cc:2517)
==5513==    by 0x81E77CD: join_read_always_key(st_join_table*) (sql_select.cc:6340)
==5513==    by 0x81E69F2: sub_select(JOIN*, st_join_table*, bool) (sql_select.cc:6011)
==5513==    by 0x81E661A: do_select(JOIN*, List<Item>*, st_table*, Procedure*) (sql_select.cc:5919)
==5513==    by 0x81DA579: JOIN::exec() (sql_select.cc:1498)
==5513==    by 0x81DAB27: _Z12mysql_selectP3THDPPP4ItemP13st_table_listjR4ListIS1_ES2_jP8st_orderSB_S2_SB_mP13select_resultP18st_select_lex_unitP13st_select_lex (sql_select
==5513==    by 0x81D6071: handle_select(THD*, st_lex*, select_result*) (sql_select.cc:179)
==5513==    by 0x81AC1A2: mysql_execute_command(THD*) (sql_parse.cc:2108)

==6209== 16 bytes in 1 blocks are definitely lost in loss record 1 of 4
==6209==    at 0x1B905B48: malloc (vg_replace_malloc.c:131)
==6209==    by 0x8482A0E: NdbMem_Allocate (NdbMem.c:39)
==6209==    by 0x849196B: operator new(unsigned) (new.cpp:13)
==6209==    by 0x845DD00: GlobalDictCache::get(char const*) (DictCache.cpp:116)
==6209==    by 0x8454C73: NdbDictionaryImpl::fetchGlobalTableImpl(char const*) (NdbDictionaryImpl.cpp:664)
==6209==    by 0x842CAE9: NdbDictionaryImpl::get_local_table_info(char const*, bool) (NdbDictionaryImpl.hpp:635)
==6209==    by 0x845671C: NdbDictionaryImpl::createBlobTables(NdbTableImpl&) (NdbDictionaryImpl.cpp:1391)
==6209==    by 0x84565DD: NdbDictionaryImpl::createTable(NdbTableImpl&) (NdbDictionaryImpl.cpp:1370)
==6209==    by 0x84510E3: NdbDictionary::Dictionary::createTable(NdbDictionary::Table const&) (NdbDictionary.cpp:726)
==6209==    by 0x825C244: ha_ndbcluster::create(char const*, st_table*, st_ha_create_information*) (ha_ndbcluster.cc:3818)
==6209==    by 0x823514A: ha_create_table(char const*, st_ha_create_information*, bool) (handler.cc:1331)
==6209==    by 0x8220EAE: rea_create_table(THD*, char*, char const*, char const*, st_ha_create_information*, List<create_field>&, unsigned, st_key*) (unireg.cc:246)
==6209==    by 0x8267A94: mysql_create_table(THD*, char const*, char const*, st_ha_create_information*, List<create_field>&, List<Key>&, bool, unsigned) (sql_table.cc:1421)
==6209==    by 0x81AD1BE: mysql_execute_command(THD*) (sql_parse.cc:2541)
==6209==    by 0x81B1DF4: mysql_parse(THD*, char*, unsigned) (sql_parse.cc:4305)
==6209==    by 0x81AA78B: dispatch_command(enum_server_command, THD*, char*, unsigned) (sql_parse.cc:1495)

How to repeat:
Get 4.1 (tip cset ChangeSet@1.2386.17.1, 2005-09-10 02:30:26+04:00, evgen@moonbone.local)
Compile it for valgrind and run
./mysql-test-run --valgrind.
See master.err file
[11 Sep 2005 9:25] Hartmut Holzgraefe
i get the same warnings for the ps_7ndb test but not for the order_by test
[9 Apr 2006 7:59] Jonas Oreland
the leak warning i fixed.
but only in 5.0 (since it's very small...i dont do it in 4.1)