Bug #27073 | Server crashes with SIGFPE | ||
---|---|---|---|
Submitted: | 13 Mar 2007 10:00 | Modified: | 26 Mar 2007 18:28 |
Reporter: | Stephan Fudeus | Email Updates: | |
Status: | Duplicate | Impact on me: | |
Category: | MySQL Server: Stored Routines | Severity: | S2 (Serious) |
Version: | 5.0.36,5.0.37-community, 5.1-Mac | OS: | Linux (Linux (x86), mac OS X) |
Assigned to: | Assigned Account | CPU Architecture: | Any |
[13 Mar 2007 10:00]
Stephan Fudeus
[13 Mar 2007 10:36]
Stephan Fudeus
I just noticed: e.g. call test_proc(3,1) works, just call test_proc(1,1) crashes
[13 Mar 2007 10:51]
Sveta Smirnova
Thank you for the report. Verified as described with last BK mysql-5.0-comunity and mysql-5.1 on Mac OS X Other versions are not affected.
[13 Mar 2007 13:20]
Stephan Fudeus
Just in case this helps: We just discovered that the bug is always triggered when using a unsigned 0 as count-parameter of the repeat-function. This is even not related to stored procedures anymore. My mysql crashed when issuing the following statement on the mysql-commandline: SELECT REPEAT('0', CAST(0 AS UNSIGNED));
[23 Mar 2007 13:43]
Chad MILLER
Program received signal SIGFPE, Arithmetic exception. 0x0818e564 in Item_func_repeat::val_str (this=0x87ca070, str=0xb74b9fb4) at item_strfunc.cc:2264 2264 if (length > current_thd->variables.max_allowed_packet / (uint) count) (gdb) print count $1 = <value optimized out> (gdb) print (uint) count $2 = 0 (gdb) bt #0 0x0818e564 in Item_func_repeat::val_str (this=0x87ca070, str=0xb74b9fb4) at item_strfunc.cc:2264 #1 0x0814d135 in Item::send (this=0x87ca070, protocol=0x87911f8, buffer=0xb74b9fb4) at item.cc:4707 #2 0x081ce02e in select_send::send_data (this=0x87ca1e8, items=@0x8790a80) at sql_class.cc:964 #3 0x0824e5d3 in JOIN::exec (this=0x87ca1f8) at sql_select.cc:1440 #4 0x082511c3 in mysql_select (thd=0x8790718, rref_pointer_array=0x8790b10, tables=0x0, wild_num=0, fields=@0x8790a80, conds=0x0, og_num=0, order=0x0, group=0x0, having=0x0, proc_param=0x0, select_options=2189707776, result=0x87ca1e8, unit=0x87907bc, select_lex=0x87909f4) at sql_select.cc:2097 #5 0x08251764 in handle_select (thd=0x8790718, lex=0x8790758, result=0x87ca1e8, setup_tables_done_option=0) at sql_select.cc:256 #6 0x081fc0a0 in mysql_execute_command (thd=0x8790718) at sql_parse.cc:2628 #7 0x081fd033 in mysql_parse (thd=0x8790718, inBuf=0x87c9e50 "SELECT REPEAT('0', CAST(0 AS UNSIGNED))", length=39) at sql_parse.cc:5948
[26 Mar 2007 17:44]
Chad MILLER
This is, AFAIK, already solved.
[26 Mar 2007 18:28]
Igor Babaev
This bug was introduced by the patch for bug#10963. The patch for bug#25197 actually has fixed bug#27073 as well: mysql> SELECT VERSION(); +--------------+ | VERSION() | +--------------+ | 5.0.40-debug | +--------------+ 1 row in set (0.00 sec) mysql> SELECT REPEAT('0', CAST(0 AS UNSIGNED)); +----------------------------------+ | REPEAT('0', CAST(0 AS UNSIGNED)) | +----------------------------------+ | | +----------------------------------+ 1 row in set (0.00 sec) mysql> SELECT REPEAT('0', -2); +-----------------+ | REPEAT('0', -2) | +-----------------+ | | +-----------------+ 1 row in set (0.01 sec) mysql> SELECT REPEAT('0', 2); +----------------+ | REPEAT('0', 2) | +----------------+ | 00 | +----------------+ 1 row in set (0.00 sec) That's why I mark this bug as a duplicate of bug#25197.
[6 Apr 2007 17:21]
Bugs System
Pushed into 5.0.40
[6 Apr 2007 17:24]
Bugs System
Pushed into 5.1.18-beta