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

Assertion `!(thd->lex)->if_exists()' failed in MYSQLparse upon ALTER TABLE ... DROP PARTITION

    XMLWordPrintable

Details

    Description

      The debug build of MariaDB (build with `cmake .. -DCMAKE_INSTALL_PREFIX=$(pwd) -DWITH_ASAN=ON -DCMAKE_BUILD_TYPE=Debug`) triggers assertion failure when executing the following statement. Seems benign with release build.

      DROP DATABASE IF EXISTS test123;
      CREATE DATABASE IF NOT EXISTS test123;
      USE test123;
      ALTER TABLE IF EXISTS any_table DROP PARTITION any_partition_name_0;
      

      Assertion '!(thd->lex)->if_exists()' failed.

      Assertion Failure stack:

      #0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
      #1  0x0000ffffaa604aac in __GI_abort () at abort.c:79
      #2  0x0000ffffaa611494 in __assert_fail_base (fmt=0xffffaa70c908 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n",
          assertion=assertion@entry=0x3ce4240 <str> "!(thd->lex)->if_exists()", file=file@entry=0x3ce35e0 <str> "/home/mariadb/mariadb-server/sql/sql_yacc.yy",
          line=line@entry=7615, function=function@entry=0x3ce3680 <__PRETTY_FUNCTION__._Z10MYSQLparseP3THD> "int MYSQLparse(THD *)") at assert.c:94
      #3  0x0000ffffaa6114fc in __GI___assert_fail (assertion=0x3ce4240 <str> "!(thd->lex)->if_exists()",
          file=0x3ce35e0 <str> "/home/mariadb/mariadb-server/sql/sql_yacc.yy", line=7615,
          function=0x3ce3680 <__PRETTY_FUNCTION__._Z10MYSQLparseP3THD> "int MYSQLparse(THD *)") at assert.c:103
      #4  0x0000000001935060 in MYSQLparse (thd=<optimized out>) at /home/mariadb/mariadb-server/sql/sql_yacc.yy:7615
      #5  0x0000000000e6566c in parse_sql (thd=<optimized out>, parser_state=<optimized out>, creation_ctx=<optimized out>, do_pfs_digest=<optimized out>)
          at /home/mariadb/mariadb-server/sql/sql_parse.cc:10328
      #6  0x0000000000e21ff4 in mysql_parse (thd=<optimized out>, rawbuf=<optimized out>, length=<optimized out>, parser_state=<optimized out>)
          at /home/mariadb/mariadb-server/sql/sql_parse.cc:7867
      #7  0x0000000000e161dc in dispatch_command (command=<optimized out>, thd=0xffff7a8a0288, packet=<optimized out>, packet_length=<optimized out>,
          blocking=<optimized out>) at /home/mariadb/mariadb-server/sql/sql_parse.cc:1902
      #8  0x0000000000e240d8 in do_command (thd=0xffff7a8a0288, blocking=<optimized out>) at /home/mariadb/mariadb-server/sql/sql_parse.cc:1415
      #9  0x0000000001483da0 in do_handle_one_connection (connect=<optimized out>, put_in_cache=true) at /home/mariadb/mariadb-server/sql/sql_connect.cc:1415
      #10 0x00000000014837b4 in handle_one_connection (arg=0xffffa5444e08) at /home/mariadb/mariadb-server/sql/sql_connect.cc:1327
      #11 0x00000000026476a0 in pfs_spawn_thread (arg=0xffff9d605908) at /home/mariadb/mariadb-server/storage/perfschema/pfs.cc:2198
      #12 0x0000ffffaa993624 in start_thread (arg=0x8a0b38 <asan_thread_start(void*)>) at pthread_create.c:477
      #13 0x0000ffffaa6b566c in thread_start () at ../sysdeps/unix/sysv/linux/aarch64/clone.S:78
      

      Attachments

        Issue Links

          Activity

            People

              sanja Oleksandr Byelkin
              luy70 Yu Liang
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - Not Specified
                  Not Specified
                  Logged:
                  Time Spent - 40m
                  40m

                  Git Integration

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