Bug#28644 Memory status report confused with memory leak
This patch removes a false memory leak error report from the test suite. There is a test case that puposely provokes a SAFEMALLOC leak report, even though there is no actual leak. mysql-test/lib/mtr_report.pl: There is a test case that purposely provokes a SAFEMALLOC leak report, even though there is no actual leak. We need to detect this, and ignore the warning in that case. sql/sql_test.cc: Added tags to surround memory dump status report to help the test suite to determine that this isn't a memory leak
This commit is contained in:
parent
c3c64f1a0a
commit
1632586e20
@ -261,8 +261,19 @@ sub mtr_report_stats ($) {
|
|||||||
mtr_warning("can't read $errlog");
|
mtr_warning("can't read $errlog");
|
||||||
next;
|
next;
|
||||||
}
|
}
|
||||||
|
my $leak_reports_expected= undef;
|
||||||
while ( <ERR> )
|
while ( <ERR> )
|
||||||
{
|
{
|
||||||
|
# There is a test case that purposely provokes a
|
||||||
|
# SAFEMALLOC leak report, even though there is no actual
|
||||||
|
# leak. We need to detect this, and ignore the warning in
|
||||||
|
# that case.
|
||||||
|
if (/Begin safemalloc memory dump:/) {
|
||||||
|
$leak_reports_expected= 1;
|
||||||
|
} elsif (/End safemalloc memory dump./) {
|
||||||
|
$leak_reports_expected= undef;
|
||||||
|
}
|
||||||
|
|
||||||
# Skip some non fatal warnings from the log files
|
# Skip some non fatal warnings from the log files
|
||||||
if ( /Warning:\s+Table:.* on (delete|rename)/ or
|
if ( /Warning:\s+Table:.* on (delete|rename)/ or
|
||||||
/Warning:\s+Setting lower_case_table_names=2/ or
|
/Warning:\s+Setting lower_case_table_names=2/ or
|
||||||
@ -273,6 +284,9 @@ sub mtr_report_stats ($) {
|
|||||||
}
|
}
|
||||||
if ( /$pattern/ )
|
if ( /$pattern/ )
|
||||||
{
|
{
|
||||||
|
if ($leak_reports_expected) {
|
||||||
|
next;
|
||||||
|
}
|
||||||
$found_problems= 1;
|
$found_problems= 1;
|
||||||
print WARN $_;
|
print WARN $_;
|
||||||
}
|
}
|
||||||
|
@ -406,7 +406,9 @@ Next alarm time: %lu\n",
|
|||||||
if (thd)
|
if (thd)
|
||||||
thd->proc_info="malloc";
|
thd->proc_info="malloc";
|
||||||
my_checkmalloc();
|
my_checkmalloc();
|
||||||
|
fprintf(stdout,"\nBegin safemalloc memory dump:\n"); // tag needed for test suite
|
||||||
TERMINATE(stdout); // Write malloc information
|
TERMINATE(stdout); // Write malloc information
|
||||||
|
fprintf(stdout,"\nEnd safemalloc memory dump.\n");
|
||||||
|
|
||||||
#ifdef HAVE_MALLINFO
|
#ifdef HAVE_MALLINFO
|
||||||
struct mallinfo info= mallinfo();
|
struct mallinfo info= mallinfo();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user