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

Assertion failure in SHOW ENGINE INNODB STATUS after DISCARD TABLESPACE

    XMLWordPrintable

Details

    • Can result in hang or crash

    Description

      This variation of the MDEV-23206 test case would crash a debug build:

      --source include/have_innodb.inc
      CREATE TABLE t(Coordinates POINT NOT NULL,SPATIAL INDEX(Coordinates))
      ENGINE=InnoDB;
      SET GLOBAL INNODB_status_output_locks=1;
      INSERT INTO t VALUES(GeomFromText('POINT(1 1)'));
      insert INTO t values(PointFromWKB(POINT(1e+1,2e+1)));
      SET GLOBAL innodb_limit_optimistic_insert_debug=2;
      insert INTO t values(POINT(1e-1,3e+1));
      INSERT INTO t VALUES(GeomFromText('POINT(1 1)'));
      BEGIN;
      --error ER_CANT_CREATE_GEOMETRY_OBJECT
      SET STATEMENT sql_mode='' FOR INSERT INTO t VALUES();
      SHOW ENGINE INNODB STATUS;
      

      10.11 e23282a0688f58354d2ff7e95aa226ca2e656731

      mysqltest: At line 13: query 'SHOW ENGINE INNODB STATUS' failed: <Unknown> (2013): Lost connection to server during query
      ...
      mariadbd: .../storage/innobase/lock/lock0lock.cc:5041: void lock_rec_print(FILE*, const ib_lock_t*, mtr_t&): Assertion `page_is_leaf(block->page.frame)' failed.
      

      I did not test other major versions, nor did I try to reduce the test case.

      To prevent this class of bugs in the future, maybe we should deprecate ALTER TABLE...DISCARD TABLESPACE altogether, and remove it in a future major version? It was made redundant by MDEV-26137.

      Attachments

        Issue Links

          Activity

            People

              thiru Thirunarayanan Balathandayuthapani
              marko Marko Mäkelä
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Git Integration

                  Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.