MDEV-375 Server crashes in THD::print_aborted_warning with log_warnings > 3
Don't use ER(xxx) in THD::close_connection(), when current_thd is already reset to NULL. Prefer ER_THD() or ER_DEFAULT() instead.
This commit is contained in:
parent
9705ad5e33
commit
42ea25d4c5
14
mysql-test/r/mdev375.result
Normal file
14
mysql-test/r/mdev375.result
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
SET GLOBAL log_warnings=4;
|
||||||
|
SET GLOBAL max_connections=2;
|
||||||
|
SELECT 1;
|
||||||
|
1
|
||||||
|
1
|
||||||
|
SELECT 2;
|
||||||
|
2
|
||||||
|
2
|
||||||
|
ERROR HY000: Too many connections
|
||||||
|
SELECT 0;
|
||||||
|
0
|
||||||
|
0
|
||||||
|
SET GLOBAL log_warnings=default;
|
||||||
|
SET GLOBAL max_connections=default;
|
20
mysql-test/t/mdev375.test
Normal file
20
mysql-test/t/mdev375.test
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
#
|
||||||
|
# MDEV-375 Server crashes in THD::print_aborted_warning with log_warnings > 3
|
||||||
|
#
|
||||||
|
SET GLOBAL log_warnings=4;
|
||||||
|
SET GLOBAL max_connections=2;
|
||||||
|
|
||||||
|
--connect (con1,localhost,root,,)
|
||||||
|
SELECT 1;
|
||||||
|
--connect (con2,localhost,root,,)
|
||||||
|
SELECT 2;
|
||||||
|
--disable_query_log
|
||||||
|
--error ER_CON_COUNT_ERROR
|
||||||
|
--connect (con3,localhost,root,,)
|
||||||
|
--enable_query_log
|
||||||
|
|
||||||
|
--connection default
|
||||||
|
SELECT 0;
|
||||||
|
|
||||||
|
SET GLOBAL log_warnings=default;
|
||||||
|
SET GLOBAL max_connections=default;
|
@ -3028,7 +3028,7 @@ public:
|
|||||||
if (global_system_variables.log_warnings > threshold)
|
if (global_system_variables.log_warnings > threshold)
|
||||||
{
|
{
|
||||||
Security_context *sctx= &main_security_ctx;
|
Security_context *sctx= &main_security_ctx;
|
||||||
sql_print_warning(ER(ER_NEW_ABORTING_CONNECTION),
|
sql_print_warning(ER_THD(this, ER_NEW_ABORTING_CONNECTION),
|
||||||
thread_id, (db ? db : "unconnected"),
|
thread_id, (db ? db : "unconnected"),
|
||||||
sctx->user ? sctx->user : "unauthenticated",
|
sctx->user ? sctx->user : "unauthenticated",
|
||||||
sctx->host_or_ip, reason);
|
sctx->host_or_ip, reason);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user