| 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: | |
| Category: | MySQL Server | Severity: | S3 (Non-critical) |
| Version: | 5.0 soruce | OS: | |
| Assigned to: | Sergey Vojtovich | CPU Architecture: | Any |
[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.

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