Bug #32757 hang with sql_mode set when setting some global variables
| Submitted: | 27 Nov 2007 8:51 | Modified: | 31 Mar 2008 19:47 |
|---|---|---|---|
| Reporter: | Shane Bester (Platinum Quality Contributor) | Email Updates: | |
| Status: | Closed | Impact on me: | |
| Category: | MySQL Server: General | Severity: | S3 (Non-critical) |
| Version: | 5.1.23-debug | OS: | Any |
| Assigned to: | Tatiana Azundris Nuernberg | CPU Architecture: | Any |
| Tags: | SQL_MODE | ||
[27 Nov 2007 8:51]
Shane Bester
[27 Nov 2007 8:54]
Shane Bester
when a hang occurs
Attachment: bug32757_sqlmode_hang.log (application/octet-stream, text), 8.39 KiB.
[27 Nov 2007 8:54]
Shane Bester
when no hang occurs
Attachment: bug32757_no_sqlmode_no_hang.log (application/octet-stream, text), 10.31 KiB.
[7 Jan 2008 1:20]
Tatiana Azundris Nuernberg
fails here:
sql_plugin.cc:1895
static int check_func_long(THD *thd, struct st_mysql_sys_var *var,
void *save, st_mysql_value *value)
...
return (thd->variables.sql_mode & MODE_STRICT_ALL_TABLES) &&
(*(long *)save != (long) tmp);
sql_set_variables() fails with
=> -1 ERROR, message not sent
returns to
mysql_execute_command (thd=0x8fd1f90) at sql_parse.cc:4463
lex->sql_command==SQLCOM_SET_OPTION (!)
res==TRUE (-1)
thd->net.report_error == 0
confirmed as not existent in 5.0 (5.0 corrects value silently),
introduced in sql_plugin.cc
return !(thd->variables.sql_mode & MODE_STRICT_ALL_TABLES) ? 0 :
(fixed ? 1 : (*(long *)save != (long) tmp);
[7 Jan 2008 1:21]
Tatiana Azundris Nuernberg
select @@session.sql_mode into @old_sql_mode; set global innodb_thread_concurrency=500; select @@global.innodb_thread_concurrency; -- ULONG_MAX -- throw warning, set to maximum allowed value set global innodb_thread_concurrency=-1; select @@global.innodb_thread_concurrency; set session sql_mode='STRICT_ALL_TABLES'; set global innodb_thread_concurrency=500; select @@global.innodb_thread_concurrency; -- ULONG_MAX -- throw warning, do NOT change value set global innodb_thread_concurrency=-1; select @@global.innodb_thread_concurrency; set session sql_mode=@old_sql_mode; set session old=bla; show warnings;
[7 Jan 2008 1:42]
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/40611 ChangeSet@1.2654, 2008-01-07 02:42:12+01:00, tnurnberg@mysql.com +5 -0 Bug#32757: hang with sql_mode set when setting some global variables If setting a system-variable provided by a plug-in failed, no OK or error was sent in some cases, hanging the client. We now send an error in the case from the ticket (integer-argument out of range in STRICT mode). We also provide a semi-generic fallback message for possible future cases like this where an error is signalled, but no message is sent to the client.
[7 Jan 2008 1:48]
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/40612 ChangeSet@1.2654, 2008-01-07 02:47:56+01:00, tnurnberg@mysql.com +5 -0 Bug#32757: hang with sql_mode set when setting some global variables If setting a system-variable provided by a plug-in failed, no OK or error was sent in some cases, hanging the client. We now send an error in the case from the ticket (integer-argument out of range in STRICT mode). We also provide a semi-generic fallback message for possible future cases like this where an error is signalled, but no message is sent to the client.
[5 Feb 2008 11:39]
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/41700 ChangeSet@1.2654, 2008-02-05 12:39:26+01:00, tnurnberg@blasphemy.intern.azundris.com +6 -0 Bug#32757: hang with sql_mode set when setting some global variables If setting a system-variable provided by a plug-in failed, no OK or error was sent in some cases, hanging the client. We now send an error in the case from the ticket (integer-argument out of range in STRICT mode). We also provide a semi-generic fallback message for possible future cases like this where an error is signalled, but no message is sent to the client. The error/warning handling is unified so it's the same again for variables provided by plugins and those in the server proper.
[24 Feb 2008 12: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/42917 ChangeSet@1.2669, 2008-02-24 13:45:01+01:00, tnurnberg@mysql.com +6 -0 Bug#32757: hang with sql_mode set when setting some global variables If setting a system-variable provided by a plug-in failed, no OK or error was sent in some cases, hanging the client. We now send an error in the case from the ticket (integer-argument out of range in STRICT mode). We also provide a semi-generic fallback message for possible future cases like this where an error is signalled, but no message is sent to the client. The error/warning handling is unified so it's the same again for variables provided by plugins and those in the server proper.
[25 Feb 2008 2:06]
Tatiana Azundris Nuernberg
pushed to 5.1.24-rc, 6.0.5-alpha in opt
[13 Mar 2008 19:28]
Bugs System
Pushed into 6.0.5-alpha
[13 Mar 2008 19:35]
Bugs System
Pushed into 5.1.24-rc
[31 Mar 2008 19:47]
Jon Stephens
Documetned in the 5.1.23-ndb-6.3.11, 5.1.24, and 6.0.5 changelogs as follows:
In some cases where setting a system variable failed, no error was sent to
the client, causing the client to hang.
Portions of this website are copyright © 2001, 2002 The PHP Group
Page generated in 0.047 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.