mirror of
https://github.com/MariaDB/server.git
synced 2026-05-07 07:35:32 +02:00
Bug#52884 mysql-test-run does not work with --debug option
Server crashes on 64bit linux with 'double free or corruption' message, on 32bit mysql-test-run silently fails on bootstrap stage. The problem is that FreeState() is called twice for init_settings struct in _db_end_ function. The fix is to remove superfluous FreeState() call. Additional fix: fixed discrepancy of result file when debug & valgrind options are enabled for MTR. dbug/dbug.c: The problem is that FreeState() is called twice for init_settings struct in _db_end_ function. The fix is to remove superfluous FreeState() call. mysql-test/r/variables_debug.result: fixed discrepancy of result file when debug & valgrind options are enabled for MTR. mysql-test/t/variables_debug.test: fixed discrepancy of result file when debug & valgrind options are enabled for MTR. sql/set_var.cc: fixed discrepancy of result file when debug & valgrind options are enabled for MTR.
This commit is contained in:
parent
7e889a8dc9
commit
b8af4ab216
4 changed files with 12 additions and 5 deletions
|
|
@ -4239,10 +4239,15 @@ bool sys_var_thd_dbug::check(THD *thd, set_var *var)
|
|||
|
||||
bool sys_var_thd_dbug::update(THD *thd, set_var *var)
|
||||
{
|
||||
char buf[256];
|
||||
String str(buf, sizeof(buf), system_charset_info), *res;
|
||||
|
||||
res= var->value->val_str(&str);
|
||||
|
||||
if (var->type == OPT_GLOBAL)
|
||||
DBUG_SET_INITIAL(var ? var->value->str_value.c_ptr() : "");
|
||||
DBUG_SET_INITIAL(res ? res->c_ptr() : "");
|
||||
else
|
||||
DBUG_SET(var ? var->value->str_value.c_ptr() : "");
|
||||
DBUG_SET(res ? res->c_ptr() : "");
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue