mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Merge branch '10.1' into 10.2
This commit is contained in:
@ -65,6 +65,12 @@ extern "C" sig_handler handle_fatal_signal(int sig)
|
||||
#ifdef HAVE_STACKTRACE
|
||||
THD *thd;
|
||||
#endif
|
||||
/*
|
||||
This flag remembers if the query pointer was found invalid.
|
||||
We will try and print the query at the end of the signal handler, in case
|
||||
we're wrong.
|
||||
*/
|
||||
bool print_invalid_query_pointer= false;
|
||||
|
||||
if (segfaulted)
|
||||
{
|
||||
@ -201,7 +207,12 @@ extern "C" sig_handler handle_fatal_signal(int sig)
|
||||
"Some pointers may be invalid and cause the dump to abort.\n");
|
||||
|
||||
my_safe_printf_stderr("Query (%p): ", thd->query());
|
||||
my_safe_print_str(thd->query(), MY_MIN(65536U, thd->query_length()));
|
||||
if (my_safe_print_str(thd->query(), MY_MIN(65536U, thd->query_length())))
|
||||
{
|
||||
// Query was found invalid. We will try to print it at the end.
|
||||
print_invalid_query_pointer= true;
|
||||
}
|
||||
|
||||
my_safe_printf_stderr("\nConnection ID (thread ID): %lu\n",
|
||||
(ulong) thd->thread_id);
|
||||
my_safe_printf_stderr("Status: %s\n\n", kreason);
|
||||
@ -265,6 +276,16 @@ extern "C" sig_handler handle_fatal_signal(int sig)
|
||||
"\"mlockall\" bugs.\n");
|
||||
}
|
||||
|
||||
if (print_invalid_query_pointer)
|
||||
{
|
||||
my_safe_printf_stderr(
|
||||
"\nWe think the query pointer is invalid, but we will try "
|
||||
"to print it anyway. \n"
|
||||
"Query: ");
|
||||
my_write_stderr(thd->query(), MY_MIN(65536U, thd->query_length()));
|
||||
my_safe_printf_stderr("\n\n");
|
||||
}
|
||||
|
||||
#ifdef HAVE_WRITE_CORE
|
||||
if (test_flags & TEST_CORE_ON_SIGNAL)
|
||||
{
|
||||
|
Reference in New Issue
Block a user