Bug #45597 invalid memory read in dict_table_get_index_noninline, innobase_get_index
Submitted: 18 Jun 2009 18:59 Modified: 6 May 2010 7:34
Reporter: Shane Bester (Platinum Quality Contributor) Email Updates:
Status: Can't repeat Impact on me:
None 
Category:MySQL Server: InnoDB storage engine Severity:S1 (Critical)
Version:6.0.12-debug OS:Linux (32-bit fc8)
Assigned to: CPU Architecture:Any
Tags: valgrind

[18 Jun 2009 18:59] Shane Bester
Description:
got a new valgrind error and server crash:

Invalid read of size 1
at: strcmp (mc_replace_strmem.c:341)
by: dict_table_get_index_noninline (ut0mem.ic:48)
by: ha_innobase::innobase_get_index (ha_innodb.cc:4562)
by: ha_innobase::change_active_index (ha_innodb.cc:4596)
by: ha_innobase::index_init(unsigned, bool) (ha_innodb.cc:4287)
by: join_read_first(st_join_table*) (handler.h:1546)
by: sub_select(JOIN*, st_join_table*, bool) (sql_select.cc:16280)
by: do_select(JOIN*, List<Item>*, TABLE*, Procedure*) (sql_select.cc:15844)
by: JOIN::exec() (sql_select.cc:2886)
by: mysql_select (sql_select.cc:3067)
by: handle_select(THD*, LEX*, select_result*, unsigned long) (sql_select.cc:310)
by: execute_sqlcom_select(THD*, TABLE_LIST*) (sql_parse.cc:4964)
Address 0xFC is not stack'd, malloc'd or (recently) free'd

How to repeat:
dunno yet, was a freak occurrence.  during the test read committed level was set, and a few alter table to innodb was done.  will debug it again if it happens.
[19 Jun 2009 5:21] MySQL Verification Team
many serious valgrind errors from 6.0.12. need to investigate this asap.

Attachment: bug45597_more_valgrind_errors.txt (text/plain), 71.88 KiB.

[6 May 2010 7:34] MySQL Verification Team
Never seen this on 5.1 or 5.5, nor the innodb plugin. Can't repeat.