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

Assertion `!join->conds || !join->cond_equal || !join->cond_equal->current_level.elements || (join->conds->type() == Item::COND_ITEM && ((Item_cond*) (join->conds))->functype() == Item_func::COND_AND_FUNC && join->cond_equal == &((Item_cond_and *)...

Details

    Description

      Assertion `!join->conds || !join->cond_equal || !join->cond_equal->current_level.elements || (join->conds->type() == Item::COND_ITEM && ((Item_cond*) (join->conds))->functype() == Item_func::COND_AND_FUNC && join->cond_equal == &((Item_cond_and *) (join->conds))->m_cond_equal) || (join->conds->type() == Item::FUNC_ITEM && ((Item_func*) (join->conds))->functype() == Item_func::MULT_EQUAL_FUNC && join->cond_equal->current_level.elements == 1 && join->cond_equal->current_level.head() == join->conds)' failed.
      

      --source include/have_innodb.inc
      CREATE TABLE t1 (id int) ENGINE=InnoDB;
      CREATE TABLE t2 (id int) ENGINE=InnoDB;
      CREATE TABLE t3 (id int, d1 int, d2 int , d3 int) ENGINE=InnoDB;
       
      select 1 
      FROM  t1 JOIN t2 ON (t1.id = t2.id)
      WHERE t1.id IN
          (SELECT t3.id FROM t3 AS tbl JOIN t3 ON (tbl.d2 <> t3.d1) ORDER BY t3.d3);
      
      

       10.4  5180eda342c07d44bdc06b9b
       
      Thread 1 (Thread 0x7fb38dce7700 (LWP 26785)):
      #0  __pthread_kill (threadid=<optimized out>, signo=6) at ../sysdeps/unix/sysv/linux/pthread_kill.c:62
      #1  0x0000562e70c46761 in my_write_core (sig=6) at /home/alice/git/10.4/mysys/stacktrace.c:481
      #2  0x0000562e704890d1 in handle_fatal_signal (sig=6) at /home/alice/git/10.4/sql/signal_handler.cc:305
      #3  <signal handler called>
      #4  0x00007fb3938a3428 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:54
      #5  0x00007fb3938a502a in __GI_abort () at abort.c:89
      #6  0x00007fb39389bbd7 in __assert_fail_base (fmt=<optimized out>, assertion=assertion@entry=0x562e70d20be0 "!join->conds || !join->cond_equal || !join->cond_equal->current_level.elements || (join->conds->type() == Item::COND_ITEM && ((Item_cond*) (join->conds))->functype() == Item_func::COND_AND_FUNC && joi"..., file=file@entry=0x562e70d20078 "/home/alice/git/10.4/sql/sql_select.cc", line=line@entry=5021, function=function@entry=0x562e70d23700 <make_join_statistics(JOIN*, List<TABLE_LIST>&, st_dynamic_array*)::__PRETTY_FUNCTION__> "bool make_join_statistics(JOIN*, List<TABLE_LIST>&, DYNAMIC_ARRAY*)") at assert.c:92
      #7  0x00007fb39389bc82 in __GI___assert_fail (assertion=0x562e70d20be0 "!join->conds || !join->cond_equal || !join->cond_equal->current_level.elements || (join->conds->type() == Item::COND_ITEM && ((Item_cond*) (join->conds))->functype() == Item_func::COND_AND_FUNC && joi"..., file=0x562e70d20078 "/home/alice/git/10.4/sql/sql_select.cc", line=5021, function=0x562e70d23700 <make_join_statistics(JOIN*, List<TABLE_LIST>&, st_dynamic_array*)::__PRETTY_FUNCTION__> "bool make_join_statistics(JOIN*, List<TABLE_LIST>&, DYNAMIC_ARRAY*)") at assert.c:101
      #8  0x0000562e701e9cd8 in make_join_statistics (join=0x7fb344019fe0, tables_list=..., keyuse_array=0x7fb34401a2d0) at /home/alice/git/10.4/sql/sql_select.cc:5010
      #9  0x0000562e701dead3 in JOIN::optimize_inner (this=0x7fb344019fe0) at /home/alice/git/10.4/sql/sql_select.cc:1926
      #10 0x0000562e701dcf33 in JOIN::optimize (this=0x7fb344019fe0) at /home/alice/git/10.4/sql/sql_select.cc:1448
      #11 0x0000562e701e6e43 in mysql_select (thd=0x7fb344000b00, tables=0x7fb344015508, wild_num=0, fields=..., conds=0x7fb3440194e0, og_num=0, order=0x0, group=0x0, having=0x0, proc_param=0x0, select_options=2147748608, result=0x7fb344019fc0, unit=0x7fb3440049a8, select_lex=0x7fb344014ff8) at /home/alice/git/10.4/sql/sql_select.cc:4261
      #12 0x0000562e701d89d6 in handle_select (thd=0x7fb344000b00, lex=0x7fb3440048e0, result=0x7fb344019fc0, setup_tables_done_option=0) at /home/alice/git/10.4/sql/sql_select.cc:382
      #13 0x0000562e701a3315 in execute_sqlcom_select (thd=0x7fb344000b00, all_tables=0x7fb344015508) at /home/alice/git/10.4/sql/sql_parse.cc:6545
      #14 0x0000562e7019976e in mysql_execute_command (thd=0x7fb344000b00) at /home/alice/git/10.4/sql/sql_parse.cc:3768
      #15 0x0000562e701a704d in mysql_parse (thd=0x7fb344000b00, rawbuf=0x7fb344014e88 "select 1 \nFROM  t1 JOIN t2 ON (t1.id = t2.id)\nWHERE t1.id IN\n(SELECT t3.id FROM t3 AS tbl JOIN t3 ON (tbl.d2 <> t3.d1) ORDER BY t3.d3)", length=134, parser_state=0x7fb38dce65f0, is_com_multi=false, is_next_command=false) at /home/alice/git/10.4/sql/sql_parse.cc:8063
      #16 0x0000562e701941d0 in dispatch_command (command=COM_QUERY, thd=0x7fb344000b00, packet=0x7fb34412e011 "select 1 \nFROM  t1 JOIN t2 ON (t1.id = t2.id)\nWHERE t1.id IN\n(SELECT t3.id FROM t3 AS tbl JOIN t3 ON (tbl.d2 <> t3.d1) ORDER BY t3.d3)", packet_length=134, is_com_multi=false, is_next_command=false) at /home/alice/git/10.4/sql/sql_parse.cc:1847
      #17 0x0000562e70192bed in do_command (thd=0x7fb344000b00) at /home/alice/git/10.4/sql/sql_parse.cc:1392
      #18 0x0000562e702f9613 in do_handle_one_connection (connect=0x562e72a22ad0) at /home/alice/git/10.4/sql/sql_connect.cc:1402
      #19 0x0000562e702f9364 in handle_one_connection (arg=0x562e72a22ad0) at /home/alice/git/10.4/sql/sql_connect.cc:1308
      #20 0x0000562e70bd6baa in pfs_spawn_thread (arg=0x562e72a361e0) at /home/alice/git/10.4/storage/perfschema/pfs.cc:1862
      #21 0x00007fb3944e06ba in start_thread (arg=0x7fb38dce7700) at pthread_create.c:333
      #22 0x00007fb39397541d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109
      
      

      Attachments

        Issue Links

          Activity

            alice Alice Sherepa added a comment -

            The same assertion, fails on 10.4 slightly different

            --source include/have_innodb.inc
             
            CREATE TABLE t1 (pk int,i2 int,i1 int,v1 varchar(1)) ENGINE=InnoDB;
            CREATE TABLE t2 (pk int,i2 int,i1 int,v1 varchar(1)) ENGINE=InnoDB;
            CREATE TABLE t3 (pk int,i2 int,i1 int,v1 varchar(1)) ENGINE=InnoDB;
             
            SELECT t1.v1
            FROM (t1 JOIN (t3 JOIN t2 ON (t2.pk = t3.pk)) ON (t2.i2 = t3.pk))
            WHERE EXISTS(SELECT t2.v1 FROM (t2 JOIN t2 as t1 ON (t1.v1 = t2.v1))
                      WHERE t3.i1 IN (SELECT tmp1.i1 FROM t1 as tmp1 HAVING tmp1.i1 < 's'));
            

             10.4 5abc79dd7ab2fccb4b05ca38a512ec
            #5  0x00007f1e51bdf02a in __GI_abort () at abort.c:89
            #6  0x00007f1e51bd5bd7 in __assert_fail_base (fmt=<optimized out>, assertion=assertion@entry=0x556d20f118b0 "!join->conds || !join->cond_equal || !join->cond_equal->current_level.elements || (join->conds->type() == Item::COND_ITEM && ((Item_cond*) (join->conds))->functype() == Item_func::COND_AND_FUNC && joi"..., file=file@entry=0x556d20f10d48 "10.4/sql/sql_select.cc", line=line@entry=5028, function=function@entry=0x556d20f14340 <make_join_statistics(JOIN*, List<TABLE_LIST>&, st_dynamic_array*)::__PRETTY_FUNCTION__> "bool make_join_statistics(JOIN*, List<TABLE_LIST>&, DYNAMIC_ARRAY*)") at assert.c:92
            #7  0x00007f1e51bd5c82 in __GI___assert_fail (assertion=0x556d20f118b0 "!join->conds || !join->cond_equal || !join->cond_equal->current_level.elements || (join->conds->type() == Item::COND_ITEM && ((Item_cond*) (join->conds))->functype() == Item_func::COND_AND_FUNC && joi"..., file=0x556d20f10d48 "10.4/sql/sql_select.cc", line=5028, function=0x556d20f14340 <make_join_statistics(JOIN*, List<TABLE_LIST>&, st_dynamic_array*)::__PRETTY_FUNCTION__> "bool make_join_statistics(JOIN*, List<TABLE_LIST>&, DYNAMIC_ARRAY*)") at assert.c:101
            #8  0x0000556d203d474f in make_join_statistics (join=0x7f1df810ee48, tables_list=..., keyuse_array=0x7f1df810f138) at 10.4/sql/sql_select.cc:5017
            #9  0x0000556d203c9554 in JOIN::optimize_inner (this=0x7f1df810ee48) at 10.4/sql/sql_select.cc:1933
            #10 0x0000556d203c782d in JOIN::optimize (this=0x7f1df810ee48) at 10.4/sql/sql_select.cc:1448
            #11 0x0000556d2035870f in st_select_lex::optimize_unflattened_subqueries (this=0x7f1df80150a0, const_only=false) at 10.4/sql/sql_lex.cc:4102
            #12 0x0000556d205442c6 in JOIN::optimize_unflattened_subqueries (this=0x7f1df810e5f0) at 10.4/sql/opt_subselect.cc:5292
            #13 0x0000556d203cb4a7 in JOIN::optimize_stage2 (this=0x7f1df810e5f0) at 10.4/sql/sql_select.cc:2475
            #14 0x0000556d203c964c in JOIN::optimize_inner (this=0x7f1df810e5f0) at 10.4/sql/sql_select.cc:1959
            #15 0x0000556d203c782d in JOIN::optimize (this=0x7f1df810e5f0) at 10.4/sql/sql_select.cc:1448
            #16 0x0000556d203d18d1 in mysql_select (thd=0x7f1df8000b00, tables=0x7f1df8015638, wild_num=0, fields=..., conds=0x7f1df810dbc8, og_num=0, order=0x0, group=0x0, having=0x0, proc_param=0x0, select_options=2147748608, result=0x7f1df810e5d0, unit=0x7f1df80049a8, select_lex=0x7f1df80150a0) at 10.4/sql/sql_select.cc:4268
            #17 0x0000556d203c32d0 in handle_select (thd=0x7f1df8000b00, lex=0x7f1df80048e0, result=0x7f1df810e5d0, setup_tables_done_option=0) at 10.4/sql/sql_select.cc:382
            #18 0x0000556d2038db99 in execute_sqlcom_select (thd=0x7f1df8000b00, all_tables=0x7f1df8015638) at 10.4/sql/sql_parse.cc:6549
            #19 0x0000556d20383ff2 in mysql_execute_command (thd=0x7f1df8000b00) at 10.4/sql/sql_parse.cc:3771
            #20 0x0000556d20391976 in mysql_parse (thd=0x7f1df8000b00, rawbuf=0x7f1df8014e88 "SELECT t1.v1\nFROM (t1 JOIN (t3 JOIN t2 ON (t2.pk = t3.pk)) ON (t2.i2 = t3.pk))\nWHERE EXISTS(SELECT t2.v1 FROM (t2 JOIN t2 as t1 ON (t1.v1 = t2.v1))\nWHERE t3.i1 IN (SELECT tmp1.i1 FROM t1 as tmp1 HAVIN"..., length=217, parser_state=0x7f1e4c0b9470, is_com_multi=false, is_next_command=false) at 10.4/sql/sql_parse.cc:8078
            #21 0x0000556d2037ea54 in dispatch_command (command=COM_QUERY, thd=0x7f1df8000b00, packet=0x7f1df8093d31 "SELECT t1.v1\nFROM (t1 JOIN (t3 JOIN t2 ON (t2.pk = t3.pk)) ON (t2.i2 = t3.pk))\nWHERE EXISTS(SELECT t2.v1 FROM (t2 JOIN t2 as t1 ON (t1.v1 = t2.v1))\nWHERE t3.i1 IN (SELECT tmp1.i1 FROM t1 as tmp1 HAVIN"..., packet_length=217, is_com_multi=false, is_next_command=false) at 10.4/sql/sql_parse.cc:1850
            #22 0x0000556d2037d471 in do_command (thd=0x7f1df8000b00) at 10.4/sql/sql_parse.cc:1395
            #23 0x0000556d204e4325 in do_handle_one_connection (connect=0x556d22f46be0) at 10.4/sql/sql_connect.cc:1402
            #24 0x0000556d204e4076 in handle_one_connection (arg=0x556d22f46be0) at 10.4/sql/sql_connect.cc:1308
            #25 0x0000556d20dc8b38 in pfs_spawn_thread (arg=0x556d22fcafb0) at 10.4/storage/perfschema/pfs.cc:1862
            #26 0x00007f1e5281a6ba in start_thread (arg=0x7f1e4c0ba700) at pthread_create.c:333
            #27 0x00007f1e51caf41d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109
            

            alice Alice Sherepa added a comment - The same assertion, fails on 10.4 slightly different --source include/have_innodb.inc   CREATE TABLE t1 (pk int ,i2 int ,i1 int ,v1 varchar (1)) ENGINE=InnoDB; CREATE TABLE t2 (pk int ,i2 int ,i1 int ,v1 varchar (1)) ENGINE=InnoDB; CREATE TABLE t3 (pk int ,i2 int ,i1 int ,v1 varchar (1)) ENGINE=InnoDB;   SELECT t1.v1 FROM (t1 JOIN (t3 JOIN t2 ON (t2.pk = t3.pk)) ON (t2.i2 = t3.pk)) WHERE EXISTS( SELECT t2.v1 FROM (t2 JOIN t2 as t1 ON (t1.v1 = t2.v1)) WHERE t3.i1 IN ( SELECT tmp1.i1 FROM t1 as tmp1 HAVING tmp1.i1 < 's' )); 10.4 5abc79dd7ab2fccb4b05ca38a512ec #5 0x00007f1e51bdf02a in __GI_abort () at abort.c:89 #6 0x00007f1e51bd5bd7 in __assert_fail_base (fmt=<optimized out>, assertion=assertion@entry=0x556d20f118b0 "!join->conds || !join->cond_equal || !join->cond_equal->current_level.elements || (join->conds->type() == Item::COND_ITEM && ((Item_cond*) (join->conds))->functype() == Item_func::COND_AND_FUNC && joi"..., file=file@entry=0x556d20f10d48 "10.4/sql/sql_select.cc", line=line@entry=5028, function=function@entry=0x556d20f14340 <make_join_statistics(JOIN*, List<TABLE_LIST>&, st_dynamic_array*)::__PRETTY_FUNCTION__> "bool make_join_statistics(JOIN*, List<TABLE_LIST>&, DYNAMIC_ARRAY*)") at assert.c:92 #7 0x00007f1e51bd5c82 in __GI___assert_fail (assertion=0x556d20f118b0 "!join->conds || !join->cond_equal || !join->cond_equal->current_level.elements || (join->conds->type() == Item::COND_ITEM && ((Item_cond*) (join->conds))->functype() == Item_func::COND_AND_FUNC && joi"..., file=0x556d20f10d48 "10.4/sql/sql_select.cc", line=5028, function=0x556d20f14340 <make_join_statistics(JOIN*, List<TABLE_LIST>&, st_dynamic_array*)::__PRETTY_FUNCTION__> "bool make_join_statistics(JOIN*, List<TABLE_LIST>&, DYNAMIC_ARRAY*)") at assert.c:101 #8 0x0000556d203d474f in make_join_statistics (join=0x7f1df810ee48, tables_list=..., keyuse_array=0x7f1df810f138) at 10.4/sql/sql_select.cc:5017 #9 0x0000556d203c9554 in JOIN::optimize_inner (this=0x7f1df810ee48) at 10.4/sql/sql_select.cc:1933 #10 0x0000556d203c782d in JOIN::optimize (this=0x7f1df810ee48) at 10.4/sql/sql_select.cc:1448 #11 0x0000556d2035870f in st_select_lex::optimize_unflattened_subqueries (this=0x7f1df80150a0, const_only=false) at 10.4/sql/sql_lex.cc:4102 #12 0x0000556d205442c6 in JOIN::optimize_unflattened_subqueries (this=0x7f1df810e5f0) at 10.4/sql/opt_subselect.cc:5292 #13 0x0000556d203cb4a7 in JOIN::optimize_stage2 (this=0x7f1df810e5f0) at 10.4/sql/sql_select.cc:2475 #14 0x0000556d203c964c in JOIN::optimize_inner (this=0x7f1df810e5f0) at 10.4/sql/sql_select.cc:1959 #15 0x0000556d203c782d in JOIN::optimize (this=0x7f1df810e5f0) at 10.4/sql/sql_select.cc:1448 #16 0x0000556d203d18d1 in mysql_select (thd=0x7f1df8000b00, tables=0x7f1df8015638, wild_num=0, fields=..., conds=0x7f1df810dbc8, og_num=0, order=0x0, group=0x0, having=0x0, proc_param=0x0, select_options=2147748608, result=0x7f1df810e5d0, unit=0x7f1df80049a8, select_lex=0x7f1df80150a0) at 10.4/sql/sql_select.cc:4268 #17 0x0000556d203c32d0 in handle_select (thd=0x7f1df8000b00, lex=0x7f1df80048e0, result=0x7f1df810e5d0, setup_tables_done_option=0) at 10.4/sql/sql_select.cc:382 #18 0x0000556d2038db99 in execute_sqlcom_select (thd=0x7f1df8000b00, all_tables=0x7f1df8015638) at 10.4/sql/sql_parse.cc:6549 #19 0x0000556d20383ff2 in mysql_execute_command (thd=0x7f1df8000b00) at 10.4/sql/sql_parse.cc:3771 #20 0x0000556d20391976 in mysql_parse (thd=0x7f1df8000b00, rawbuf=0x7f1df8014e88 "SELECT t1.v1\nFROM (t1 JOIN (t3 JOIN t2 ON (t2.pk = t3.pk)) ON (t2.i2 = t3.pk))\nWHERE EXISTS(SELECT t2.v1 FROM (t2 JOIN t2 as t1 ON (t1.v1 = t2.v1))\nWHERE t3.i1 IN (SELECT tmp1.i1 FROM t1 as tmp1 HAVIN"..., length=217, parser_state=0x7f1e4c0b9470, is_com_multi=false, is_next_command=false) at 10.4/sql/sql_parse.cc:8078 #21 0x0000556d2037ea54 in dispatch_command (command=COM_QUERY, thd=0x7f1df8000b00, packet=0x7f1df8093d31 "SELECT t1.v1\nFROM (t1 JOIN (t3 JOIN t2 ON (t2.pk = t3.pk)) ON (t2.i2 = t3.pk))\nWHERE EXISTS(SELECT t2.v1 FROM (t2 JOIN t2 as t1 ON (t1.v1 = t2.v1))\nWHERE t3.i1 IN (SELECT tmp1.i1 FROM t1 as tmp1 HAVIN"..., packet_length=217, is_com_multi=false, is_next_command=false) at 10.4/sql/sql_parse.cc:1850 #22 0x0000556d2037d471 in do_command (thd=0x7f1df8000b00) at 10.4/sql/sql_parse.cc:1395 #23 0x0000556d204e4325 in do_handle_one_connection (connect=0x556d22f46be0) at 10.4/sql/sql_connect.cc:1402 #24 0x0000556d204e4076 in handle_one_connection (arg=0x556d22f46be0) at 10.4/sql/sql_connect.cc:1308 #25 0x0000556d20dc8b38 in pfs_spawn_thread (arg=0x556d22fcafb0) at 10.4/storage/perfschema/pfs.cc:1862 #26 0x00007f1e5281a6ba in start_thread (arg=0x7f1e4c0ba700) at pthread_create.c:333 #27 0x00007f1e51caf41d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

            could not be repeated any more

            sanja Oleksandr Byelkin added a comment - could not be repeated any more

            People

              sanja Oleksandr Byelkin
              alice Alice Sherepa
              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.