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)
|
||||
{
|
||||
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"),
|
||||
sctx->user ? sctx->user : "unauthenticated",
|
||||
sctx->host_or_ip, reason);
|
||||
|
Loading…
x
Reference in New Issue
Block a user