From fa10a65dc293c9222687b33379cebf240cc4bf29 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Lindstr=C3=B6m?= Date: Tue, 21 Jun 2016 12:37:39 +0300 Subject: [PATCH] MDEV-9356: innodb.innodb_bug53290 fails (crashes) on sol10-64 in buildbot Analysis: In storage/innobase/row/row0merge.cc InnoDB calls thd_progress_init, thd_progress_report and thd_progress_end functions. These seem to cause crash on solaris 10 64-bit. Fix: Disable progress reporting on UNIV_SOLARIS until the actual issue causing the crash is fixed. The actual bug is not on InnoDB code base. --- storage/innobase/row/row0merge.cc | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/storage/innobase/row/row0merge.cc b/storage/innobase/row/row0merge.cc index 14806ceb3b9..f75b1f66a7a 100644 --- a/storage/innobase/row/row0merge.cc +++ b/storage/innobase/row/row0merge.cc @@ -2381,10 +2381,16 @@ row_merge_sort( of file marker). Thus, it must be at least one block. */ ut_ad(file->offset > 0); + /* These thd_progress* calls will crash on sol10-64 when innodb_plugin + is used. MDEV-9356: innodb.innodb_bug53290 fails (crashes) on + sol10-64 in buildbot. + */ +#ifndef UNIV_SOLARIS /* Progress report only for "normal" indexes. */ if (!(dup->index->type & DICT_FTS)) { thd_progress_init(trx->mysql_thd, 1); } +#endif /* UNIV_SOLARIS */ /* Merge the runs until we have one big run */ do { @@ -2394,9 +2400,11 @@ row_merge_sort( /* Report progress of merge sort to MySQL for show processlist progress field only for "normal" indexes. */ +#ifndef UNIV_SOLARIS if (!(dup->index->type & DICT_FTS)) { thd_progress_report(trx->mysql_thd, file->offset - num_runs, file->offset); } +#endif /* UNIV_SOLARIS */ if (error != DB_SUCCESS) { break; @@ -2407,9 +2415,11 @@ row_merge_sort( mem_free(run_offset); +#ifndef UNIV_SOLARIS if (!(dup->index->type & DICT_FTS)) { thd_progress_end(trx->mysql_thd); } +#endif /* UNIV_SOLARIS */ DBUG_RETURN(error); }