Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-22799

Report overlaps related sigsegv and assertion 10.5 failures




      Elena Stepanova:
      'Here is a very dirty MTR test case. If you put it into the galera suite in 10.5 and run with the standard options, it should fail, either with sigsegv (signal 11) or with a debug assertion failure, both somewhere in handler::ha_check_overlaps in Galera replication . Could you please clean it up ā€“ remove all garbage, comments, get rid of disable_abort_on_error, rename tables and columns, organize in a proper way, etc ā€“ make it look like a decent MTR test case ā€“ and report the bug for Galera and Versioned tables components together?
      It may look like a zillion bugs in overlaps, report it anyway, unless you find out it's unrelated to Galera. I'm not sure those fixes will cover Galera replication.
      Please try to get both sigsegv and assertion failure and put both into the bug report. If you can't get the assertion failure, try a single-node "cluster" (galera suite is a 2-node cluster). Many things are different there.

      --source include/galera_cluster.inc
      --source include/have_innodb.inc
      --connect (con14_0,localhost,root,,test)
      --connect (con15_0,localhost,root,,test)
      CREATE /* QNO 242 CON_ID 15 */ TABLE IF NOT EXISTS app_periods_t5 (`id` INT, `f` TINYBLOB /*!100403 UNIQUE */, `s` DATE, `e` DATE, PERIOD FOR `p`(`s`,`e`), PRIMARY KEY (`id` ));
      CREATE /* QNO 252 CON_ID 15 */ TABLE IF NOT EXISTS app_periods_t15 (`id` INT AUTO_INCREMENT, `f` VARCHAR(16), `s` DATE, `e` DATE, PERIOD FOR `p`(`s`,`e`), PRIMARY KEY(`id` /*!100503, `p` WITHOUT OVERLAPS */));
      CREATE /* QNO 240 CON_ID 17 */ TABLE IF NOT EXISTS app_periods_t3 (`id` VARCHAR(32), `f` INT, `s` DATETIME(5), `e` DATETIME(5), PERIOD FOR `p`(`s`,`e`), PRIMARY KEY(`id`), UNIQUE(`f` /*!100503, `p` WITHOUT OVERLAPS */));
      CREATE /* QNO 246 CON_ID 17 */ TABLE IF NOT EXISTS app_periods_t9 (`id` VARCHAR(32), `f` INT, `s` DATE, `e` DATE, PERIOD FOR `p`(`s`,`e`), PRIMARY KEY(`id`), UNIQUE(`f` /*!100503, `p` WITHOUT OVERLAPS */));
      CREATE /* QNO 248 CON_ID 17 */ TABLE IF NOT EXISTS app_periods_t11 (`id` INT, `f` TINYBLOB /*!100403 UNIQUE */, `s` TIMESTAMP(5), `e` TIMESTAMP(5), PERIOD FOR `p`(`s`,`e`), PRIMARY KEY (`id` /*!100503, `p` WITHOUT OVERLAPS */));
      CREATE /* QNO 393 CON_ID 16 */ OR REPLACE TABLE app_periods_t14 LIKE app_periods_t15;
      --delimiter |||
      CREATE /* QNO 717 CON_ID 19 */ OR REPLACE PROCEDURE sp_grammar3 () BEGIN DELETE FROM `app_periods_t3` WHERE `id` = 12260 ; UPDATE IGNORE app_periods_t11 SET `id` = 25586 WHERE `f` BETWEEN '2013-11-26' AND '2014-08-18' ; UPDATE IGNORE app_periods_t5 SET `s` = NULL, `id` = -51 WHERE `id` BETWEEN '2012-08-25' AND '2012-09-11' OR `s` <= '2031-01-19' ORDER BY `id` LIMIT 9 ; ALTER TABLE app_periods_t15 FORCE ; END|||
      --delimiter ;
      CALL /* QNO 780 CON_ID 19 */ sp_grammar3;
      INSERT /* QNO 540 CON_ID 15 */ IGNORE INTO app_periods_t9 (`s`,`e`) VALUES ('1976-01-08','1993-08-02'), ('1976-08-01','2001-03-31') ORDER BY 1 LIMIT 168;
      START /* QNO 596 CON_ID 15 */ TRANSACTION;
      UPDATE /* QNO 601 CON_ID 15 */ IGNORE app_periods_t9 SET `s` = '1976-03-27', `e` = '2037-08-14' ORDER BY `s`, `e` LIMIT 9;
      DELETE /* QNO 604 CON_ID 15 */ alias2.* FROM app_periods_t15 alias1, app_periods_t14 alias2;
      --connection con14_0
      CALL /* QNO 790 CON_ID 19 */ sp_grammar3;
      --connection con15_0
      CREATE /* QNO 610 CON_ID 15 */ TABLE IF NOT EXISTS app_periods_t12 AS SELECT * FROM app_periods_t14;


          Issue Links



              stepan.patryshev Stepan Patryshev
              stepan.patryshev Stepan Patryshev
              0 Vote for this issue
              2 Start watching this issue