| Bug #9159 | Server crash during mysql_stmt_close | ||
|---|---|---|---|
| Submitted: | 14 Mar 2005 7:58 | Modified: | 12 Apr 2005 2:49 |
| Reporter: | Georg Richter | Email Updates: | |
| Status: | Closed | Impact on me: | |
| Category: | MySQL Server | Severity: | S1 (Critical) |
| Version: | 5.0.3 (latest bk, cs 1.1809) | OS: | Linux (Linux) |
| Assigned to: | Konstantin Osipov | CPU Architecture: | Any |
[14 Mar 2005 7:58]
Georg Richter
[14 Mar 2005 12:12]
MySQL Verification Team
Verified on Linux and Windows below crash call stack on Windows:
/sql/sql_parse.cpp
--1252--
void free_items(Item *item)
{
Item *next;
DBUG_ENTER("free_items");
for (; item ; item=next)
{
next=item->next;
^^^^^^^^^^^^^^^^^^ point of crash
item->delete_self();
}
....
> mysqld.exe!free_items(Item * item=0xa5a5a5a5) Line 1258 + 0x3 C++
mysqld.exe!Cursor::~Cursor() Line 1967 + 0xc C++
mysqld.exe!Prepared_statement::~Prepared_statement() Line 2418 C++
mysqld.exe!Prepared_statement::`scalar deleting destructor'(unsigned int __flags=1) + 0xf C++
mysqld.exe!delete_statement_as_hash_key(void * key=0x03812090) Line 1662 + 0x1f C++
mysqld.exe!hash_delete(st_hash * hash=0x00efed04, unsigned char * record=0x03812090) Line 492 + 0xa C
mysqld.exe!Statement_map::erase(Statement * statement=0x03812090) Line 891 + 0xd C++
mysqld.exe!mysql_stmt_free(THD * thd=0x00efde30, char * packet=0x03820201) Line 2301 C++
mysqld.exe!dispatch_command(enum_server_command command=COM_CLOSE_STMT, THD * thd=0x00efde30, char * packet=0x03820201, unsigned int packet_length=5) Line 1631 + 0xd C++
mysqld.exe!do_command(THD * thd=0x00efde30) Line 1452 + 0x31 C++
mysqld.exe!handle_one_connection(void * arg=0x00efde30) Line 1109 + 0x9 C++
mysqld.exe!pthread_start(void * param=0x00e0ba80) Line 63 + 0x7 C
mysqld.exe!_threadstart(void * ptd=0x00efff78) Line 173 + 0xd C
kernel32.dll!7c80b50b()
kernel32.dll!7c8399f3()
mysqld.exe!mach_dulint_get_much_compressed_size(dulint_struct n={...}) Line 460 + 0xd C
mysqld.exe!mach_dulint_get_much_compressed_size(dulint_struct n={...}) Line 460 + 0xd C
001646b6()
[23 Mar 2005 15:04]
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/internals/23313
[23 Mar 2005 15:26]
Konstantin Osipov
Subject: bk commit - 5.0 tree (konstantin:1.1829) BUG#9159 ChangeSet 1.1829 05/03/23 18:01:03 konstantin@mysql.com +5 -0 Fixes and test cases for Bug#8880 "Commands out of sync error with cursors" and Bug#9159 "Server crash during mysql_stmt_close". The patch adds support for single-row result sets in cursors.
[24 Mar 2005 14:13]
Konstantin Osipov
Pushed into 5.0 tree which is currently tagged 5.0.3 (but really is 5.0.4)
[12 Apr 2005 2:49]
Paul DuBois
Noted in 5.0.4 changelog.
