Bug #28553 mysqld crash in "purge master log before(select time from information_schema)"
| Submitted: | 21 May 2007 9:09 | Modified: | 14 Jun 2007 19:34 |
|---|---|---|---|
| Reporter: | Magnus Blåudd | Email Updates: | |
| Status: | Closed | Impact on me: | |
| Category: | MySQL Server: Information schema | Severity: | S2 (Serious) |
| Version: | 5.0.42, 4.1, 5.1 | OS: | Any |
| Assigned to: | Sergei Glukhov | CPU Architecture: | Any |
[21 May 2007 9:30]
Sveta Smirnova
Thank you for the report. Verified as described.
[21 May 2007 13:16]
Shane Bester
don't think it's I_S related if 4.1 crashes? Looks subquery related to me. testcase: drop table if exists t1; create table t1(a datetime)engine=myisam; purge master logs before (select a from t1);
[29 May 2007 9:06]
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/27541 ChangeSet@1.2660, 2007-05-29 14:02:48+05:00, gluh@mysql.com +3 -0 Bug#28553 mysqld crash in "purge master log before(select time from information_schema)" forbid use of subselect in PURGE LOGS BEFORE command
[1 Jun 2007 10:34]
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/27898 ChangeSet@1.2660, 2007-06-01 15:32:25+05:00, gluh@mysql.com +3 -0 Bug#28553 mysqld crash in "purge master log before(select time from information_schema)"(2nd version) forbid use of subselect in PURGE LOGS BEFORE command
[6 Jun 2007 13:37]
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/28203 ChangeSet@1.2660, 2007-06-06 18:29:15+05:00, gluh@mysql.com +3 -0 Bug#28553 mysqld crash in "purge master log before(select time from information_schema)" forbid the use of subselect in PURGE LOGS BEFORE command
[14 Jun 2007 19:00]
Bugs System
Pushed into 5.1.20-beta
[14 Jun 2007 19:00]
Bugs System
Pushed into 5.0.44
[14 Jun 2007 19:01]
Bugs System
Pushed into 4.1.24
[14 Jun 2007 19:34]
Paul DuBois
Noted in 4.1.24, 5.0.44, 5.1.20 changelogs. PURGE MASTER LOGS BEFORE (subquery) caused a server crash. Subqueries are forbidden in the BEFORE clause now.
Portions of this website are copyright © 2001, 2002 The PHP Group
Page generated in 0.064 sec. using MySQL 8.4.7-u6-cloud
Timestamp references displayed by the system are UTC.
Content reproduced on this site is the property of the
respective copyright holders.
It is not reviewed in advance
by Oracle and does not necessarily represent the opinion of
Oracle or any other party.
Description: mysqld crash when using an information schema table to get a time for the "purge master logs before" command. Core was generated by `/home/msvensson/mysql/bug27438/my50-bug27438/sql/mysqld --no-defaults --console'. Program terminated with signal 11, Segmentation fault. #0 0x0000003b26c0b0a2 in pthread_kill () from /lib64/libpthread.so.0 (gdb) where #0 0x0000003b26c0b0a2 in pthread_kill () from /lib64/libpthread.so.0 #1 0x00000000007107d0 in write_core (sig=11) at stacktrace.c:244 #2 0x00000000005a03a5 in handle_segfault (sig=11) at mysqld.cc:2166 #3 <signal handler called> #4 0x00000000005ed019 in setup_tables (thd=0xd9da98, context=0xddd130, from_clause=0xddd288, tables=0xddd920, conds=0xdda298, leaves=0x4007f680, select_insert=false) at sql_base.cc:5154 #5 0x00000000005ed3fc in setup_tables_and_check_access (thd=0xd9da98, context=0xddd130, from_clause=0xddd288, tables=0xddd920, conds=0xdda298, leaves=0xddd2b0, select_insert=false, want_access_first=1, want_access=1) at sql_base.cc:5252 #6 0x000000000062516a in JOIN::prepare (this=0xdd8fb8, rref_pointer_array=0xddd308, tables_init=0xddd920, wild_num=0, conds_init=0xdde1f8, og_num=0, order_init=0x0, group_init=0x0, having_init=0x0, proc_param_init=0x0, select_lex_arg=0xddd0e0, unit_arg=0xddd3c8) at sql_select.cc:455 #7 0x000000000056093b in subselect_single_select_engine::prepare ( this=0xdde410) at item_subselect.cc:1646 #8 0x0000000000564ab9 in Item_subselect::fix_fields (this=0xdde320, thd_param=0xd9da98, ref=0x40080290) at item_subselect.cc:154 #9 0x00000000005b963d in mysql_execute_command (thd=0xd9da98) at sql_parse.cc:2712 #10 0x00000000005c1399 in mysql_parse (thd=0xd9da98, inBuf=0xddcff8 "purge master logs before (select UPDATE_TIME from information_schema.tables\nwhere TABLE_SCHEMA=\"test\" and TABLE_NAME=\"t2\")", length=122, found_semicolon=0x40080e50) at sql_parse.cc:6055 #11 0x00000000005c3e3b in dispatch_command (command=COM_QUERY, thd=0xd9da98, packet=0xdd4f69 "purge master logs before (select UPDATE_TIME from information_schema.tables\nwhere TABLE_SCHEMA=\"test\" and TABLE_NAME=\"t2\")", packet_length=123) at sql_parse.cc:1805 #12 0x00000000005c55cf in do_command (thd=0xd9da98) at sql_parse.cc:1582 #13 0x00000000005c67b3 in handle_one_connection (arg=0xd9da98) at sql_parse.cc:1193 #14 0x0000003b26c06305 in start_thread () from /lib64/libpthread.so.0 #15 0x0000003b25ccd50d in clone () from /lib64/libc.so.6 #16 0x0000000000000000 in ?? () (gdb) q How to repeat: create table t2(a int); purge master logs before (select UPDATE_TIME from information_schema.tables where TABLE_SCHEMA="test" and TABLE_NAME="t2");