Bug #20144839 AFTER UPDATING TO MYSQL 5.6.22 SERVER CRASHES ON EVERY START ATTEMPT
Description:
push_warning_printf function is used to print the warning message
to the client. So this function should not invoke while recovering
the server. Moreover current_thd is NULL while starting the server.
Solution:
Avoiding the warning to be printed while recovery.
Reviewed-by: Jimmy Yang <email address hidden>
RB: 7511
diff --git a/storage/innobase/dict/dict0dict.cc b/storage/innobase/dict/dict0dict.cc
index 8c5b9c4..8045389 100644
--- a/storage/innobase/dict/dict0dict.cc
+++ b/storage/innobase/dict/dict0dict.cc
@@ -2423,10 +2423,10 @@ too_big: dict_mem_index_free(new_index); dict_mem_index_free(index); return(DB_TOO_BIG_RECORD);
- } else {
-
+ } else if (current_thd != NULL) {
+ /* Avoid the warning to be printed
+ during recovery. */ ib_warn_row_too_big(table);
-
}
}
And it present in both PXB 2.2.11 and MySQL 5.6.24. Apparently it doesn't work in all cases.
OK. Patch above was pushed to 5.5. Fix for 5.6 was:
origin/mysql-server - [5.6] » git show --pretty=full a61c0774ff02361 edea2ce0a011095 d122d86dc8 edea2ce0a011095 d122d86dc8
commit a61c0774ff02361
Author: Thiru <email address hidden>
Commit: Thiru <email address hidden>
Bug #20144839 AFTER UPDATING TO MYSQL 5.6.22 SERVER CRASHES ON EVERY START ATTEMPT
Description:
push_ warning_ printf function is used to print the warning message
to the client. So this function should not invoke while recovering
the server. Moreover current_thd is NULL while starting the server.
Solution:
Avoiding the warning to be printed while recovery.
Reviewed-by: Jimmy Yang <email address hidden>
RB: 7511
diff --git a/storage/ innobase/ dict/dict0dict. cc b/storage/ innobase/ dict/dict0dict. cc innobase/ dict/dict0dict. cc innobase/ dict/dict0dict. cc
dict_ mem_index_ free(new_ index);
dict_ mem_index_ free(index) ;
return( DB_TOO_ BIG_RECORD) ;
ib_warn_ row_too_ big(table) ;
index 8c5b9c4..8045389 100644
--- a/storage/
+++ b/storage/
@@ -2423,10 +2423,10 @@ too_big:
- } else {
-
+ } else if (current_thd != NULL) {
+ /* Avoid the warning to be printed
+ during recovery. */
-
}
}
And it present in both PXB 2.2.11 and MySQL 5.6.24. Apparently it doesn't work in all cases.