Bug #22937 Valgrind failure in 'merge' test (ha_myisammrg.cc:329)
Submitted: 3 Oct 2006 13:36 Modified: 10 Oct 2006 18:41
Reporter: Lars Thalmann Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server Severity:S3 (Non-critical)
Version:5.0 soruce OS:
Assigned to: Sergey Vojtovich CPU Architecture:Any

[3 Oct 2006 13:36] Lars Thalmann
Description:
VALGRIND: 'Invalid read of size 8'
    COUNT: 1
    FUNCTION: ha_myisammrg::info(unsigned)    FILES:    master.err
    TESTS:    merge
    STACK: at 0x67BD43: ha_myisammrg::info(unsigned) (ha_myisammrg.cc:329)
             by 0x67B6AA: ha_myisammrg::open(char const*, int, unsigned) (ha_myisammrg.cc:105)
             by 0x673466: handler::ha_open(char const*, int, int) (handler.cc:1400)
             by 0x5F137D: openfrm(THD*, char const*, char const*, unsigned, unsigned, unsigned, st_table*) (table.cc:918)
             by 0x5ED835: open_unireg_entry(THD*, st_table*, char const*, char const*, char const*, st_table_list*, st_mem_root*, unsigned) (sql_base.cc:1981)
             by 0x5E80F9: open_table(THD*, st_table_list*, st_mem_root*, bool*, unsigned) (sql_base.cc:1409)
             by 0x5E9497: open_tables(THD*, st_table_list**, unsigned*, unsigned) (sql_base.cc:2229)
             by 0x5E99A3: open_and_lock_tables(THD*, st_table_list*) (sql_base.cc:2450)
             by 0x5C3A74: mysql_execute_command(THD*) (sql_parse.cc:2554)
             by 0x5CAB40: mysql_parse(THD*, char*, unsigned) (sql_parse.cc:5869)
             by 0x5C1E78: dispatch_command(enum_server_command, THD*, char*, unsigned) (sql_parse.cc:1766)
             by 0x5C187C: do_command(THD*) (sql_parse.cc:1550)
             by 0x5C0D9C: handle_one_connection (sql_parse.cc:1181)
             by 0x4D51C63: start_thread (in /lib64/tls/libpthread-0.60.so)
             by 0x540D242: clone (in /lib64/tls/libc-2.3.2.so)
           Address 0x9A9B9D0 is 0 bytes after a block of size 176 alloc'd
             at 0x4A18B63: malloc (vg_replace_malloc.c:149)
             by 0x92C4DC: my_malloc (my_malloc.c:35)
             by 0x91A30E: myrg_open (myrg_open.c:99)
             by 0x67B60F: ha_myisammrg::open(char const*, int, unsigned) (ha_myisammrg.cc:94)
             by 0x673466: handler::ha_open(char const*, int, int) (handler.cc:1400)
             by 0x5F137D: openfrm(THD*, char const*, char const*, unsigned, unsigned, unsigned, st_table*) (table.cc:918)
             by 0x5ED835: open_unireg_entry(THD*, st_table*, char const*, char const*, char const*, st_table_list*, st_mem_root*, unsigned) (sql_base.cc:1981)
             by 0x5E80F9: open_table(THD*, st_table_list*, st_mem_root*, bool*, unsigned) (sql_base.cc:1409)
             by 0x5E9497: open_tables(THD*, st_table_list**, unsigned*, unsigned) (sql_base.cc:2229)
             by 0x5E99A3: open_and_lock_tables(THD*, st_table_list*) (sql_base.cc:2450)
             by 0x5C3A74: mysql_execute_command(THD*) (sql_parse.cc:2554)
             by 0x5CAB40: mysql_parse(THD*, char*, unsigned) (sql_parse.cc:5869)
             by 0x5C1E78: dispatch_command(enum_server_command, THD*, char*, unsigned) (sql_parse.cc:1766)
             by 0x5C187C: do_command(THD*) (sql_parse.cc:1550)
             by 0x5C0D9C: handle_one_connection (sql_parse.cc:1181)
             by 0x4D51C63: start_thread (in /lib64/tls/libpthread-0.60.so)

How to repeat:
Pushbuild
[5 Oct 2006 11:47] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/13106

ChangeSet@1.2556, 2006-10-05 16:49:23+05:00, svoj@mysql.com +3 -0
  BUG#22937 - Valgrind failure in 'merge' test (ha_myisammrg.cc:329)
  
  This is addition to fix for bug21617. Valgrind reports an error when
  opening merge table that has underlying tables with less indexes than
  in a merge table itself.
  
  For each subtable check if number of keys is less than in merge table. Return
  an error and refuse to open merge table in this case.
[6 Oct 2006 4:10] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/13214

ChangeSet@1.2556, 2006-10-06 09:12:40+05:00, svoj@mysql.com +1 -0
  BUG#22937 - Valgrind failure in 'merge' test (ha_myisammrg.cc:329)
  
  This is addition to fix for bug21617. Valgrind reports an error when
  opening merge table that has underlying tables with less indexes than
  in a merge table itself.
  
  Copy at most min(file->keys, table->key_parts) elements from rec_per_key array.
  This fixes problems when merge table and subtables have different number of keys.
[6 Oct 2006 10:15] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/13232

ChangeSet@1.2556, 2006-10-06 15:17:42+05:00, svoj@mysql.com +1 -0
  BUG#22937 - Valgrind failure in 'merge' test (ha_myisammrg.cc:329)
  
  This is addition to fix for bug21617. Valgrind reports an error when
  opening merge table that has underlying tables with less indexes than
  in a merge table itself.
  
  Copy at most min(file->keys, table->key_parts) elements from rec_per_key array.
  This fixes problems when merge table and subtables have different number of keys.
[9 Oct 2006 11:24] Sergey Vojtovich
Fixed in 4.1.22, 5.0.27, 5.1.12.
[10 Oct 2006 18:41] Paul Dubois
Noted in 4.1.22, 5.0.27, 5.1.12 changelogs.
[25 Oct 2006 16:41] Paul Dubois
The 5.0.x fix is in 5.0.30.