Bug #58143 insert delayed corrupts the table cache...
Submitted: 11 Nov 2010 16:10 Modified: 16 Dec 2010 15:21
Reporter: Shane Bester (Platinum Quality Contributor) Email Updates:
Status: No Feedback Impact on me:
None 
Category:MySQL Server: Locking Severity:S1 (Critical)
Version:5.1.54 OS:Any
Assigned to: CPU Architecture:Any
Tags: insert delayed

[11 Nov 2010 16:10] Shane Bester
Description:
5.1.54 valgrind warnings, and subsequent crashes are observed.

Version: '5.1.54-valgrind-max-debug'  socket: '/tmp/mysql.sock'  port: 3306  Source distribution
Thread 13:
Invalid read of size 8
at handler::ha_release_auto_increment() (handler.cc:2571)
by mysql_insert(THD*, TABLE_LIST*, List<Item>&, List<List<Item> >&, List<Item>&, List<Item>&, enum_duplicates, bool) (sql_insert.cc:993)
by mysql_execute_command(THD*) (sql_parse.cc:3250)
by mysql_parse(THD*, char*, unsigned int, char const**) (sql_parse.cc:6068)
by dispatch_command(enum_server_command, THD*, char*, unsigned int) (sql_parse.cc:1261)
by do_command(THD*) (sql_parse.cc:889)
by handle_one_connection (sql_connect.cc:1136)
by start_thread (pthread_create.c:301)
 Address 0x96088b0 is 16 bytes inside a block of size 416 free'd
at free (vg_replace_malloc.c:325)
by my_no_flags_free (my_malloc.c:69)
by free_root (my_alloc.c:365)
by closefrm(st_table*, bool) (table.cc:2023)
by intern_close_table(st_table*) (sql_base.cc:782)
by free_cache_entry(st_table*) (sql_base.cc:804)
by my_hash_delete (hash.c:546)
by close_thread_table(THD*, st_table**) (sql_base.cc:1396)
by close_open_tables(THD*) (sql_base.cc:1199)
by close_thread_tables(THD*) (sql_base.cc:1357)
by handle_delayed_insert (sql_insert.cc:2542)
by start_thread (pthread_create.c:301)

Invalid write of size 8
at Discrete_interval::replace(unsigned long long, unsigned long long, unsigned long long) (structs.h:280)
by handler::ha_release_auto_increment() (handler.cc:2573)
by mysql_insert(THD*, TABLE_LIST*, List<Item>&, List<List<Item> >&, List<Item>&, List<Item>&, enum_duplicates, bool) (sql_insert.cc:993)
by mysql_execute_command(THD*) (sql_parse.cc:3250)
by mysql_parse(THD*, char*, unsigned int, char const**) (sql_parse.cc:6068)
by dispatch_command(enum_server_command, THD*, char*, unsigned int) (sql_parse.cc:1261)
by do_command(THD*) (sql_parse.cc:889)
by handle_one_connection (sql_connect.cc:1136)
by start_thread (pthread_create.c:301)
Address 0x96089f0 is 336 bytes inside a block of size 416 free'd
at free (vg_replace_malloc.c:325)
by my_no_flags_free (my_malloc.c:69)
by free_root (my_alloc.c:365)
by closefrm(st_table*, bool) (table.cc:2023)
by intern_close_table(st_table*) (sql_base.cc:782)
by free_cache_entry(st_table*) (sql_base.cc:804)
by my_hash_delete (hash.c:546)
by close_thread_table(THD*, st_table**) (sql_base.cc:1396)
by close_open_tables(THD*) (sql_base.cc:1199)
by close_thread_tables(THD*) (sql_base.cc:1357)
by handle_delayed_insert (sql_insert.cc:2542)
by start_thread (pthread_create.c:301)

How to repeat:
will upload a .c testcase later.
[16 Nov 2010 15:21] Valeriy Kravchuk
Any ideas about the test case?
[17 Dec 2010 0:00] Bugs System
No feedback was provided for this bug for over a month, so it is
being suspended automatically. If you are able to provide the
information that was originally requested, please do so and change
the status of the bug back to "Open".