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

InnoDB: Failing assertion: prebuilt->sql_stat_start || trx->state == 1 on concurrent multi-table update

Details

    • Bug
    • Status: Closed (View Workflow)
    • Major
    • Resolution: Fixed
    • 5.5(EOL), 10.0(EOL), 10.1(EOL)
    • 5.5.44
    • Optimizer
    • 5.5.44

    Description

      Stack trace from 5.5 commit cc84ac3be41d9d6ac480d55449d5bf4e324cca10

      InnoDB: Assertion failure in thread 140513694545664 in file row0sel.c line 3917
      InnoDB: Failing assertion: prebuilt->sql_stat_start || trx->state == 1
       
      # 2015-04-05T03:45:34 [2872] #3  <signal handler called>
      # 2015-04-05T03:45:34 [2872] #4  0x00007fcbe2cb7165 in *__GI_raise (sig=<optimized out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
      # 2015-04-05T03:45:34 [2872] #5  0x00007fcbe2cba3e0 in *__GI_abort () at abort.c:92
      # 2015-04-05T03:45:34 [2872] #6  0x00000000009be1f2 in row_search_for_mysql (buf=0x7fcbba452578 "\377\377\217\217\217\217\217\217\217\217\217\217\217\217", mode=1, prebuilt=0x7fcbba548078, match_mode=0, direction=1) at 5.5/storage/xtradb/row/row0sel.c:3917
      # 2015-04-05T03:45:34 [2872] #7  0x0000000000977b63 in ha_innobase::general_fetch (this=0x7fcbba545078, buf=0x7fcbba452578 "\377\377\217\217\217\217\217\217\217\217\217\217\217\217", direction=1, match_mode=0) at 5.5/storage/xtradb/handler/ha_innodb.cc:7340
      # 2015-04-05T03:45:34 [2872] #8  0x0000000000977ce5 in ha_innobase::index_next (this=0x7fcbba545078, buf=0x7fcbba452578 "\377\377\217\217\217\217\217\217\217\217\217\217\217\217") at 5.5/storage/xtradb/handler/ha_innodb.cc:7390
      # 2015-04-05T03:45:34 [2872] #9  0x00000000005cfbae in handler::ha_index_next (this=0x7fcbba545078, buf=0x7fcbba452578 "\377\377\217\217\217\217\217\217\217\217\217\217\217\217") at 5.5/sql/sql_class.h:4251
      # 2015-04-05T03:45:34 [2872] #10 0x000000000068fac1 in join_read_next (info=0x7fcbc9e17128) at 5.5/sql/sql_select.cc:17855
      # 2015-04-05T03:45:34 [2872] #11 0x000000000068d8d0 in sub_select (join=0x7fcbc9e49388, join_tab=0x7fcbc9e17078, end_of_records=false) at 5.5/sql/sql_select.cc:16932
      # 2015-04-05T03:45:34 [2872] #12 0x000000000068d07c in do_select (join=0x7fcbc9e49388, fields=0x7fcbe4d95d10, table=0x0, procedure=0x0) at 5.5/sql/sql_select.cc:16575
      # 2015-04-05T03:45:34 [2872] #13 0x000000000066bce3 in JOIN::exec (this=0x7fcbc9e49388) at 5.5/sql/sql_select.cc:2873
      # 2015-04-05T03:45:34 [2872] #14 0x000000000066c4ed in mysql_select (thd=0x7fcbc9d53060, rref_pointer_array=0x7fcbc9d56cd0, tables=0x7fcbc9d7b2d8, wild_num=0, fields=..., conds=0x7fcbc9e49208, og_num=0, order=0x0, group=0x0, having=0x0, proc_param=0x0, select_options=1342177408, result=0x7fcbc9e492c8, unit=0x7fcbc9d56380, select_lex=0x7fcbc9d56a60) at 5.5/sql/sql_select.cc:3094
      # 2015-04-05T03:45:34 [2872] #15 0x00000000006eaba6 in mysql_multi_update (thd=0x7fcbc9d53060, table_list=0x7fcbc9d7b2d8, fields=0x7fcbc9d56b78, values=0x7fcbc9d57000, conds=0x7fcbc9e49208, options=0, handle_duplicates=DUP_ERROR, ignore=false, unit=0x7fcbc9d56380, select_lex=0x7fcbc9d56a60, result=0x7fcbe4d962c8) at 5.5/sql/sql_update.cc:1438
      # 2015-04-05T03:45:34 [2872] #16 0x0000000000636d14 in mysql_execute_command (thd=0x7fcbc9d53060) at 5.5/sql/sql_parse.cc:2915
      # 2015-04-05T03:45:34 [2872] #17 0x000000000063ece2 in mysql_parse (thd=0x7fcbc9d53060, rawbuf=0x7fcbc9d7b078 "UPDATE `C` AS alias1 LEFT JOIN `D` AS alias2 ON ( alias2.`col_date_key` <= alias1.`col_date_key` ) SET alias2.`pk` = -16143 WHERE alias2.`col_varchar_nokey` NOT IN ( SELECT `col_varchar_nokey` FROM `DD` )", length=204, parser_state=0x7fcbe4d96670) at 5.5/sql/sql_parse.cc:5909
      # 2015-04-05T03:45:34 [2872] #18 0x0000000000632925 in dispatch_command (command=COM_QUERY, thd=0x7fcbc9d53060, packet=0x7fcbc9d58061 "UPDATE `C` AS alias1 LEFT JOIN `D` AS alias2 ON ( alias2.`col_date_key` <= alias1.`col_date_key` ) SET alias2.`pk` = -16143 WHERE alias2.`col_varchar_nokey` NOT IN ( SELECT `col_varchar_nokey` FROM `DD` )", packet_length=204) at 5.5/sql/sql_parse.cc:1079
      # 2015-04-05T03:45:34 [2872] #19 0x0000000000631ab1 in do_command (thd=0x7fcbc9d53060) at 5.5/sql/sql_parse.cc:793
      # 2015-04-05T03:45:34 [2872] #20 0x0000000000734122 in do_handle_one_connection (thd_arg=0x7fcbc9d53060) at 5.5/sql/sql_connect.cc:1266
      # 2015-04-05T03:45:34 [2872] #21 0x0000000000733be1 in handle_one_connection (arg=0x7fcbc9d53060) at 5.5/sql/sql_connect.cc:1181
      # 2015-04-05T03:45:34 [2872] #22 0x00007fcbe4aaab50 in start_thread (arg=<optimized out>) at pthread_create.c:304
      # 2015-04-05T03:45:34 [2872] #23 0x00007fcbe2d6095d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112

      RQG command line

      perl ./runall-new.pl --grammar=1.yy --threads=3 --duration=300 --queries=100M  --engine=InnoDB --basedir=<your basedir> --vardir=<your vardir>

      RQG grammar 1.yy

      thread1:
        UPDATE `DD` 
        SET `pk` = _smallint 
        WHERE `col_varchar_key` = _char 
      ;
       
      thread2:
        UPDATE `DD` AS alias1, `E` AS alias2 
        SET alias1.`pk` = _smallint 
        WHERE alias1.`col_varchar_nokey` = alias2.`col_varchar_nokey`
      ;
       
      thread3:
        UPDATE `C` AS alias1 LEFT JOIN `D` AS alias2 
          ON ( alias2.`col_date_key` <= alias1.`col_date_key` ) 
        SET alias2.`pk` = _smallint 
        WHERE alias2.`col_varchar_nokey` NOT IN ( SELECT `col_varchar_nokey` FROM `DD` )
      ;

      Attachments

        Activity

          elenst Elena Stepanova created issue -
          jplindst Jan Lindström (Inactive) made changes -
          Field Original Value New Value
          Status Open [ 1 ] In Progress [ 3 ]
          jplindst Jan Lindström (Inactive) made changes -
          Component/s Optimizer [ 10200 ]
          Component/s Storage Engine - InnoDB [ 10129 ]
          jplindst Jan Lindström (Inactive) made changes -
          Assignee Jan Lindström [ jplindst ] Sergei Petrunia [ psergey ]
          ratzpo Rasmus Johansson (Inactive) made changes -
          Workflow MariaDB v2 [ 60352 ] MariaDB v3 [ 61739 ]
          serg Sergei Golubchik made changes -
          Assignee Sergei Petrunia [ psergey ] Jan Lindström [ jplindst ]
          serg Sergei Golubchik made changes -
          Sprint Sprint 1 [ 4 ]
          jplindst Jan Lindström (Inactive) made changes -
          Assignee Jan Lindström [ jplindst ] Sergei Golubchik [ serg ]
          Status In Progress [ 3 ] In Review [ 10002 ]
          serg Sergei Golubchik made changes -
          Assignee Sergei Golubchik [ serg ] Jan Lindström [ jplindst ]
          Status In Review [ 10002 ] Stalled [ 10000 ]
          jplindst Jan Lindström (Inactive) made changes -
          Status Stalled [ 10000 ] In Progress [ 3 ]
          jplindst Jan Lindström (Inactive) made changes -
          Fix Version/s 5.5.44 [ 19100 ]
          Fix Version/s 5.5 [ 15800 ]
          Fix Version/s 10.0 [ 16000 ]
          Fix Version/s 10.1 [ 16100 ]
          Resolution Fixed [ 1 ]
          Status In Progress [ 3 ] Closed [ 6 ]
          serg Sergei Golubchik made changes -
          Workflow MariaDB v3 [ 61739 ] MariaDB v4 [ 148996 ]

          People

            jplindst Jan Lindström (Inactive)
            elenst Elena Stepanova
            Votes:
            0 Vote for this issue
            Watchers:
            4 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.