Bug #34656 | KILL a query = Assertion failed: m_status == DA_ERROR || m_status == DA_OK | ||
---|---|---|---|
Submitted: | 19 Feb 2008 9:15 | Modified: | 15 Apr 2008 2:19 |
Reporter: | Shane Bester (Platinum Quality Contributor) | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Server: General | Severity: | S2 (Serious) |
Version: | 5.1.23-debug | OS: | Windows |
Assigned to: | Sergey Vojtovich | CPU Architecture: | Any |
[19 Feb 2008 9:15]
Shane Bester
[19 Feb 2008 9:58]
MySQL Verification Team
Thank you for the bug report. > mysqld-debug.exe!_NMSG_WRITE(int rterrnum=10) Line 195 C mysqld-debug.exe!abort() Line 44 + 0x7 C mysqld-debug.exe!_assert(const char * expr=0x00a9ee48, const char * filename=0x00a58dec, unsigned int lineno=1027) Line 306 C mysqld-debug.exe!Diagnostics_area::message() Line 1027 + 0x3a C++ mysqld-debug.exe!get_schema_tables_record(THD * thd=0x0171bbc8, TABLE_LIST * tables=0x01793c38, st_table * table=0x0174f1e0, int res=1, st_mysql_lex_string * db_name=0x038bdab0, st_mysql_lex_string * table_name=0x038bdac0) Line 3433 + 0xe C++ mysqld-debug.exe!get_all_tables(THD * thd=0x0171bbc8, TABLE_LIST * tables=0x01747f08, Item * cond=0x01748298) Line 3303 + 0x2c C++ mysqld-debug.exe!get_schema_tables_result(JOIN * join=0x0175cba8, enum_schema_table_state executed_place=PROCESSED_BY_JOIN_EXEC) Line 5883 + 0x1a C++ mysqld-debug.exe!JOIN::exec() Line 1729 + 0x3c C++ mysqld-debug.exe!mysql_select(THD * thd=0x0171bbc8, Item * * * rref_pointer_array=0x0171cf6c, TABLE_LIST * tables=0x01747f08, unsigned int wild_num=1, List<Item> & fields={...}, Item * conds=0x01748298, unsigned int og_num=0, st_order * order=0x00000000, st_order * group=0x00000000, Item * having=0x00000000, st_order * proc_param=0x00000000, unsigned __int64 select_options=2684635648, select_result * result=0x017492b0, st_select_lex_unit * unit=0x0171cba0, st_select_lex * select_lex=0x0171ce68) Line 2375 C++ mysqld-debug.exe!handle_select(THD * thd=0x0171bbc8, st_lex * lex=0x0171cb40, select_result * result=0x017492b0, unsigned long setup_tables_done_option=0) Line 268 + 0x9f C++ mysqld-debug.exe!execute_sqlcom_select(THD * thd=0x0171bbc8, TABLE_LIST * all_tables=0x01747f08) Line 4749 + 0x13 C++ mysqld-debug.exe!mysql_execute_command(THD * thd=0x0171bbc8) Line 2056 + 0xd C++ mysqld-debug.exe!mysql_parse(THD * thd=0x0171bbc8, const char * inBuf=0x01747d60, unsigned int length=61, const char * * found_semicolon=0x038bfd00) Line 5622 + 0x9 C++ mysqld-debug.exe!dispatch_command(enum_server_command command=COM_QUERY, THD * thd=0x0171bbc8, char * packet=0x0173fcb1, unsigned int packet_length=61) Line 1121 + 0x1e C++ mysqld-debug.exe!do_command(THD * thd=0x0171bbc8) Line 781 + 0x1b C++ mysqld-debug.exe!handle_one_connection(void * arg=0x0171bbc8) Line 1120 + 0x9 C++ mysqld-debug.exe!pthread_start(void * param=0x016fa5b0) Line 85 + 0x9 C mysqld-debug.exe!_threadstart(void * ptd=0x017383d0) Line 196 + 0xd C kernel32.dll!7c80b683()
[20 Feb 2008 19:25]
Omer Barnir
triage: assertion viewed as a crash waiting to happen
[20 Feb 2008 20:57]
Konstantin Osipov
Triage: This particular assertion is OK, it should not cause any significant trouble in production. I added it 2 months ago. But good you classified it as sr51
[4 Mar 2008 13:29]
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/43381 ChangeSet@1.2531, 2008-03-04 17:27:03+04:00, svoj@mysql.com +3 -0 BUG#34656 - KILL a query = Assertion failed: m_status == DA_ERROR || m_status == DA_OK Reading from information_scema.tables or information_schema.columns may cause assertion failure in debug builds. This may happen under rare circumstances when information_schema fails to get information about a table (e.g. when a connection is killed). This happens because open_normal_and_derived_tables() can return an error without setting an error message in THD. But information_schema attempts to get an error message from THD unconditionally. With this fix information_schema attempts to get an error message from THD only in case error message is set in THD.
[7 Mar 2008 14:45]
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/43595 ChangeSet@1.2531, 2008-03-07 18:41:50+04:00, svoj@mysql.com +4 -0 BUG#34656 - KILL a query = Assertion failed: m_status == DA_ERROR || m_status == DA_OK Reading from information_scema.tables or information_schema.columns may cause assertion failure in debug builds. This may happen under rare circumstances when information_schema fails to get information about a table (e.g. when a connection is killed). This happens because open_normal_and_derived_tables() can return an error without setting an error message in THD. But information_schema attempts to get an error message from THD unconditionally. With this fix information_schema attempts to get an error message from THD only in case error message is set in THD.
[27 Mar 2008 11:18]
Bugs System
Pushed into 5.1.24-rc
[27 Mar 2008 17:50]
Bugs System
Pushed into 6.0.5-alpha
[2 Apr 2008 20:07]
Jon Stephens
Pushed into 5.1.23-ndb-6.3.11.
[15 Apr 2008 2:19]
Paul DuBois
Noted in 5.1.24, 6.0.5 changelogs. For debug builds, reading from INFORMATION_SCHEMA.TABLES or INFORMATION_SCHEMA.COLUMNS could cause assertion failures. This could happen under rare circumstances when INFORMATION_SCHEMA fails to get information about a table (for example, when a connection is killed).
[15 Apr 2008 2:19]
Paul DuBois
Noted in 5.1.24, 6.0.5 changelogs. For debug builds, reading from INFORMATION_SCHEMA.TABLES or INFORMATION_SCHEMA.COLUMNS could cause assertion failures. This could happen under rare circumstances when INFORMATION_SCHEMA fails to get information about a table (for example, when a connection is killed).