field.cc:3822: virtual longlong Field_long::val_int(): Assertion `table->in_use == _current_thd()' failed
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Percona Server moved to https://jira.percona.com/projects/PS |
Fix Released
|
High
|
Laurynas Biveinis | ||
5.1 |
Won't Fix
|
High
|
Unassigned | ||
5.5 |
Fix Released
|
High
|
Laurynas Biveinis | ||
5.6 |
Fix Released
|
High
|
Laurynas Biveinis |
Bug Description
It looks very similar to bug #951588, except that it's marked as fixed a few versions ago.
mysqld: Percona-
# 2013-02-02T15:30:50 #6 0x00007fa6b7384d4d in __GI___assert_fail (assertion=0xc20120 "table->in_use == _current_thd()", file=<optimized out>, line=3721, function=<optimized out>) at assert.c:81
# 2013-02-02T15:30:50 #7 0x0000000000732d1e in Field_long::val_int (this=0x37c12f0) at Percona-
# 2013-02-02T15:30:50 #8 0x00000000008d62c6 in ha_innobase:
# 2013-02-02T15:30:50 #9 0x000000000075c150 in handler:
# 2013-02-02T15:30:50 #10 0x00000000006795fe in copy_data_
# 2013-02-02T15:30:50 #11 0x00000000006773dc in mysql_alter_table (thd=0x3746be0, new_db=0x37bdeb0 "test", new_name=0x37bd950 "E", create_
# 2013-02-02T15:30:50 #12 0x0000000000897a98 in Alter_table_
# 2013-02-02T15:30:50 #13 0x00000000005efe53 in mysql_execute_
# 2013-02-02T15:30:50 #14 0x00000000005f29a3 in mysql_parse (thd=0x3746be0, rawbuf=0x37bd880 "ALTER TABLE `E` ADD COLUMN o INTEGER", length=36, parser_
# 2013-02-02T15:30:50 #15 0x00000000005e66a1 in dispatch_command (command=COM_QUERY, thd=0x3746be0, packet=0x3846471 "ALTER TABLE `E` ADD COLUMN o INTEGER", packet_length=36) at Percona-
# 2013-02-02T15:30:50 #16 0x00000000005e597d in do_command (thd=0x3746be0) at Percona-
# 2013-02-02T15:30:50 #17 0x00000000006cd47e in do_handle_
# 2013-02-02T15:30:50 #18 0x00000000006cce64 in handle_
# 2013-02-02T15:30:50 #19 0x00007fa6b80c8efc in start_thread (arg=0x7fa6a8fe
# 2013-02-02T15:30:50 #20 0x00007fa6b743af4d in clone () at ../sysdeps/
# 2013-02-02T15:30:50 #21 0x0000000000000000 in ?? ()
RQG grammar percona-is.yy (the grammar queries any tables in I_S, but it really boils down to concurrent ALTER TABLE and SELECT I_S. GLOBAL_
query:
SELECT * FROM { $last_database = 'INFORMATION_
thread1:
ALTER TABLE _table ADD COLUMN _letter INTEGER |
ALTER TABLE _table DROP COLUMN _letter ;
# End of RQG grammar
RQG command line:
perl ./runall.pl --threads=2 --duration=600 --queries=100M --grammar=
The test crashes for me within seconds after start.
revision-id: <email address hidden>
revno: 411
branch-nick: percona-server
Built as
cmake . -DCMAKE_
Related branches
- Alexey Kopytov (community): Needs Fixing
- Laurynas Biveinis (community): Needs Fixing
-
Diff: 151 lines (+50/-23)2 files modifiedPercona-Server/sql/sql_show.cc (+46/-23)
Percona-Server/storage/innodb_plugin/handler/ha_innodb.cc (+4/-0)
- Alexey Kopytov (community): Needs Fixing
- Laurynas Biveinis (community): Needs Fixing
-
Diff: 151 lines (+50/-23)2 files modifiedPercona-Server/sql/sql_show.cc (+46/-23)
Percona-Server/storage/innobase/handler/ha_innodb.cc (+4/-0)
- Alexey Kopytov (community): Needs Fixing
- Laurynas Biveinis (community): Needs Fixing
-
Diff: 146 lines (+43/-23)2 files modifiedPercona-Server/sql/sql_show.cc (+40/-23)
Percona-Server/storage/innobase/handler/ha_innodb.cc (+3/-0)
summary: |
field.cc:3822: virtual longlong Field_long::val_int(): Assertion - `table->in_use == _current_thd()' failed | Failure on concurrent ALTER - TABLE and SELECT from I_S + `table->in_use == _current_thd()' failed |
tags: | added: i-s-temp-tables |
tags: | added: xtradb |
tags: | added: qa |
Elena -
Thanks for your bug report. What was the table definition for "E" before the crashing ALTER TABLE?
Indeed it's very similar to bug 951588. There is a difference though that 951588 testcase does not exercise auto_increment, and this crash is in the auto_increment code path. Extending the 951588 testcase to exercise auto_increment goes through this code path, but does not assert.