| Bug #738 | status query on killed mysql connection results in segmentation fault | ||
|---|---|---|---|
| Submitted: | 27 Jun 2003 5:39 | Modified: | 3 Jul 2003 16:58 |
| Reporter: | [ name withheld ] | Email Updates: | |
| Status: | Closed | Impact on me: | |
| Category: | MySQL Server: Command-line Clients | Severity: | S2 (Serious) |
| Version: | 4.0.13 | OS: | Linux (linux 2.4.21 gcc 3.2) |
| Assigned to: | Michael Widenius | CPU Architecture: | Any |
[27 Jun 2003 5:39]
[ name withheld ]
[27 Jun 2003 7:04]
MySQL Verification Team
Thanks you for the bug report, I was able to repeat.
Below back trace:
Starting program: /usr/local/mysql/bin/mysql -uroot
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 5 to server version: 4.0.14-debug-log
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> \s
--------------
/usr/local/mysql/bin/mysql Ver 12.21 Distrib 4.0.14, for pc-linux (i686)
Connection id: 5
Program received signal SIGPIPE, Broken pipe.
0x402c0e08 in write () from /lib/i686/libc.so.6
Current language: auto; currently c
(gdb) backtrace full
#0 0x402c0e08 in write () from /lib/i686/libc.so.6
No symbol table info available.
#1 0x0000001d in ?? ()
No symbol table info available.
#2 0x080848df in net_real_write (net=0x80a5f00, packet=0x80a9078 "\031", len=29)
at net.c:437
length = 5
pos = 0x80a9078 "\031"
end = 0x80a7c78 "\005"
alarmed = 0 '\0'
retry_count = 0
net_blocking = 1 '\001'
_db_func_ = 0x808dc78 "net_flush"
_db_file_ = 0x808dc3c "net.c"
_db_level_ = 4
_db_framep_ = (char **) 0xbffff2dc
#3 0x080842ea in net_flush (net=0x80a5f00) at net.c:199
error = 0
_db_func_ = 0x808a10a "mysql_real_query"
_db_file_ = 0x8089d2a "libmysql.c"
_db_level_ = 3
_db_framep_ = (char **) 0xbffff3fc
#4 0x08084608 in net_write_command (net=0x80a5f00, command=3 '\003',
packet=0x8086a6b "select DATABASE(),USER()", len=24) at net.c:291
length = 0
buff = "\031\0\0\0\003"
header_size = 5
_db_func_ = 0x808a10a "mysql_real_query"
---Type <return> to continue, or q <return> to quit---
_db_file_ = 0x8089d2a "libmysql.c"
_db_level_ = 3
_db_framep_ = (char **) 0xbffff3fc
#5 0x0806dfe6 in simple_command (mysql=0x80a5f00, command=COM_QUERY,
arg=0x8086a6b "select DATABASE(),USER()", length=24, skipp_check=1 '\001')
at libmysql.c:492
net = (NET *) 0x80a5f00
result = -1
old_signal_handler = 0
#6 0x0807202b in mysql_send_query (mysql=0x80a5f00,
query=0x8086a6b "select DATABASE(),USER()", length=24) at libmysql.c:2286
_db_func_ = 0x808a10a "mysql_real_query"
_db_file_ = 0x8089d2a "libmysql.c"
_db_level_ = 3
_db_framep_ = (char **) 0xbffff3fc
#7 0x08072362 in mysql_real_query (mysql=0x80a5f00,
query=0x8086a6b "select DATABASE(),USER()", length=4294967264)
at libmysql.c:2351
_db_func_ = 0x8086482 "main"
_db_file_ = 0x8086479 "mysql.cc"
_db_level_ = 2
_db_framep_ = (char **) 0xbffff58c
#8 0x08071c80 in mysql_query (mysql=0xffffffe0,
query=0x1d <Address 0x1d out of bounds>) at libmysql.c:2195
No locals.
#9 0x08059489 in com_status (buffer=0x80a6130, line=0x80b57d0 "\\s")
at mysql.cc:2323
result = (MYSQL_RES *) 0x80b57d0
---Type <return> to continue, or q <return> to quit---
status = 0x80b57d0 "\\s"
#10 0x080564cd in add_line (buffer=@0x80a6130, line=0x80b57d0 "\\s",
in_string=0xbffff54f "") at mysql.cc:962
tmp = {Ptr = 0x80b57d0 "\\s", str_length = 0, Alloced_length = 0,
alloced = false}
l = 29
inchar = 115 's'
buff = "\224/\001@ ]\n\b}\002\0\0\vó\004\bÈz\037@ÐW\v\b\0\0\0\0|þÿ¿8õÿ¿`b\t\bg\0\0\0ÐW\v\b\023\0\0\0|\001\0\08õÿ¿\"c\005\bÐW\v\b×j\b\b\002\0\0\0}Ð\005\b"
pos = 0x8086a84 "Current database:\t%s\n"
out = 0x80b57d0 "\\s"
com = (COMMANDS *) 0x808f440
in_comment = 0 '\0'
strend = 0x80b57d2 ""
#11 0x08056187 in read_lines (execute_commands=true) at mysql.cc:857
line = 0x80b57d0 "\\s"
in_string = 0 '\0'
line_number = 0
com = (COMMANDS *) 0xffffffe0
#12 0x08055647 in main (argc=5, argv=0x80a7dd8) at mysql.cc:391
buff = "Type 'help;' or '\\h' for help. Type '\\c' to clear the buffer.\n\0\bð«\0@4öÿ¿èõÿ¿\\a\b\b"
_db_func_ = 0x808d0a5 "?func"
_db_file_ = 0x808d0ab "?file"
_db_level_ = 1
_db_framep_ = (char **) 0x0
#13 0x402057f7 in __libc_start_main () from /lib/i686/libc.so.6
[28 Jun 2003 5:34]
MySQL Verification Team
I could not repeat it with 4.0.14 server and client. Jani & Miguel, can you re-check it with latest pulls ??? Here is what I get : mysql> show tables; Empty set (0.00 sec) mysql> mysql> mysql> show tables; ERROR 2006: MySQL server has gone away No connection. Trying to reconnect... Connection id: 5 Current database: bug Empty set (0.02 sec) mysql> quit Bye
[3 Jul 2003 16:58]
Michael Widenius
Thank you for your bug report. This issue has been fixed in the latest
development tree for that product. You can find more information about
accessing our development trees at
http://www.mysql.com/doc/en/Installing_source_tree.html
This was a bug in the mysql command client code
The fix will be in 4.0.14
