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

Assertion prebuilt->trx->state == 1 fails in ha_innodb.cc on concurrent DML

    XMLWordPrintable

Details

    Description

      It's an upstream bug (Oracle, Percona), but I keep running into it and jumping into investigating, so I'll file it here to be able to find it faster next time

      130825 21:17:59  InnoDB: Assertion failure in thread 140072421771008 in file ha_innodb.cc line 6689
      InnoDB: Failing assertion: prebuilt->trx->state == 1

      #5  0x00007f6525a2bb8b in __GI_abort () at abort.c:91
      #6  0x0000000000ac3efa in ha_innobase::unlock_row (this=0x7f64ac0a1a68) at 5.5/storage/xtradb/handler/ha_innodb.cc:6689
      #7  0x00000000007c6af1 in find_all_keys (param=0x7f6526f11e90, select=0x7f649c017c28, sort_keys=0x7f649c0190b0, sort_keys_buf=0x7f649c01afb0 "\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245\245"..., buffpek_pointers=0x7f6526f12190, tempfile=0x7f6526f12000) at 5.5/sql/filesort.cc:656
      #8  0x00000000007c5559 in filesort (thd=0x3d33a80, table=0x7f64ac09a810, sortorder=0x7f649c011408, s_length=2, select=0x7f649c017c28, max_rows=18446744073709551615, sort_positions=true, examined_rows=0x7f6526f12498) at 5.5/sql/filesort.cc:240
      #9  0x0000000000916cf9 in mysql_delete (thd=0x3d33a80, table_list=0x7f649c005338, conds=0x7f649c00fd20, order_list=0x3d37698, limit=1, options=0) at 5.5/sql/sql_delete.cc:269
      #10 0x0000000000611f92 in mysql_execute_command (thd=0x3d33a80) at 5.5/sql/sql_parse.cc:3076
      #11 0x0000000000619990 in mysql_parse (thd=0x3d33a80, rawbuf=0x7f649c0051c8 "DELETE FROM `t2` WHERE `i` IN ( SELECT `i` FROM `t1` WHERE `i` = 3 ) ORDER BY `i`, `j` LIMIT 1", length=94, parser_state=0x7f6526f13550) at 5.5/sql/sql_parse.cc:5769
      #12 0x000000000060d009 in dispatch_command (command=COM_QUERY, thd=0x3d33a80, packet=0x3d39ee1 "DELETE FROM `t2` WHERE `i` IN ( SELECT `i` FROM `t1` WHERE `i` = 3 ) ORDER BY `i`, `j` LIMIT 1", packet_length=94) at 5.5/sql/sql_parse.cc:1071
      #13 0x000000000060c219 in do_command (thd=0x3d33a80) at 5.5/sql/sql_parse.cc:794
      #14 0x0000000000713545 in do_handle_one_connection (thd_arg=0x3d33a80) at 5.5/sql/sql_connect.cc:1266
      #15 0x0000000000712f2c in handle_one_connection (arg=0x3d33a80) at 5.5/sql/sql_connect.cc:1181
      #16 0x00007f65267f1e9a in start_thread (arg=0x7f6526f14700) at pthread_create.c:308
      #17 0x00007f6525ae5cbd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112

      revision-id: igor@askmonty.org-20130823153435-h0x3db9sjxsov8uc
      revno: 3860
      branch-nick: 5.5

      RQG grammar:

      query_init:
       CREATE TABLE IF NOT EXISTS `t1` (`i` INT, `j` INT, KEY(`i`)) ENGINE=InnoDB
       ; CREATE TABLE IF NOT EXISTS `t2` (`i` INT, `j` INT, KEY(`i`)) ENGINE=InnoDB ;
       
      query:
       INSERT INTO _table ( `i`, `j` ) VALUES ( _digit , _digit ) , ( _digit , _digit ) |
       DELETE FROM _table WHERE `i` IN ( SELECT `i` FROM _table WHERE `i` = _digit ) ORDER BY `i`, `j` LIMIT 1;
       
      _table:
       `t1` | `t2` ;

      RQG command lines:

      ./gentest.pl --threads=8 --duration=1200 --queries=100M --grammar=1.yy --dsn=dbi:mysql:host=127.0.0.1:port=9306:user=root:database=test

      perl ./runall-new.pl --threads=8 --duration=1200 --queries=100M --grammar=1.yy --skip-gendata --basedir=<basedir> --vardir=<vardir>

      Attachments

        Activity

          People

            Unassigned Unassigned
            elenst Elena Stepanova
            Votes:
            0 Vote for this issue
            Watchers:
            2 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.