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

Assertion `!(*with_wild)` failed in setup_wild() on INSERT ... (tbl.*) ... RETURNING

    XMLWordPrintable

Details

    • Can result in hang or crash

    Description

      The assertion is similar to MDEV-30309, but unlike that test case, it can be reproduced without using a stored procedure or view.
      Additionally, the assertion does not occur on version 13.0 or later when running the test case below:

      CREATE TABLE t1 (c1 INT);
      INSERT INTO t1 (t1.*) VALUES (1) RETURNING c1;
      

      Leads to:

      CS 11.4.13 eccf9ca5f15bdca5b8e887396d9a570d580eb4ee (Debug, Clang 18.1.3-11) Build 29/07/2026

      mariadbd: /test/11.4_dbg/sql/sql_base.cc:8202: int setup_wild(THD *, TABLE_LIST *, List<Item> &, List<Item> *, SELECT_LEX *, bool): Assertion `!(*with_wild)' failed.
      

      CS 11.4.13 eccf9ca5f15bdca5b8e887396d9a570d580eb4ee (Debug, Clang 18.1.3-11) Build 29/07/2026

      Core was generated by `/test/MD290726-mariadb-11.4.13-linux-x86_64-dbg/bin/mariadbd --no-defaults --lo'.
      Program terminated with signal SIGABRT, Aborted.
      #0  __pthread_kill_implementation (no_tid=0, signo=6, threadid=<optimized out>)at ./nptl/pthread_kill.c:44
       
      [Current thread is 1 (LWP 1836781)]
      (gdb) bt
      #0  __pthread_kill_implementation (no_tid=0, signo=6, threadid=<optimized out>)at ./nptl/pthread_kill.c:44
      #1  __pthread_kill_internal (signo=6, threadid=<optimized out>)at ./nptl/pthread_kill.c:78
      #2  __GI___pthread_kill (threadid=<optimized out>, signo=signo@entry=6)at ./nptl/pthread_kill.c:89
      #3  0x000076acc0a4527e in __GI_raise (sig=sig@entry=6)at ../sysdeps/posix/raise.c:26
      #4  0x000076acc0a288ff in __GI_abort () at ./stdlib/abort.c:79
      #5  0x000076acc0a2881b in __assert_fail_base (fmt=0x76acc0bd01e8 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=assertion@entry=0x5a3225061a09 "!(*with_wild)", file=file@entry=0x5a3225060346 "/test/11.4_dbg/sql/sql_base.cc", line=line@entry=8202, function=function@entry=0x5a3225061a17 "int setup_wild(THD *, TABLE_LIST *, List<Item> &, List<Item> *, SELECT_LEX *, bool)") at ./assert/assert.c:96
      #6  0x000076acc0a3b517 in __assert_fail (assertion=0x5a3225061a09 "!(*with_wild)", file=0x5a3225060346 "/test/11.4_dbg/sql/sql_base.cc", line=8202, function=0x5a3225061a17 "int setup_wild(THD *, TABLE_LIST *, List<Item> &, List<Item> *, SELECT_LEX *, bool)") at ./assert/assert.c:105
      #7  0x00005a3223f8e007 in setup_wild (thd=0x6eabdc000d58, tables=0x6eabdc019cb8, fields=@0x6eabdc005b18: {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0x6eabdc01b480, last = 0x6eabdc01b480, elements = 1}, <No data fields>}, sum_func_list=0x0, select_lex=0x6eabdc005860, returning_field=true)at /test/11.4_dbg/sql/sql_base.cc:8202
      #8  0x00005a3223f8f7a2 in setup_returning_fields (thd=0x6eabdc000d58, table_list=0x6eabdc019cb8) at /test/11.4_dbg/sql/sql_base.cc:8346
      #9  0x00005a3223fe5062 in mysql_prepare_insert (thd=0x6eabdc000d58, table_list=0x6eabdc019cb8, fields=@0x6eabdc005f68: {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0x6eabdc01a4f8, last = 0x6eabdc01a4f8, elements = 1}, <No data fields>}, values=0x6eabdc01a9d0, update_fields=@0x6eabdc005f98: {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0x5a3225bed4e0 <end_of_list>, last = 0x6eabdc005f98, elements = 0}, <No data fields>}, update_values=@0x6eabdc005f80: {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0x5a3225bed4e0 <end_of_list>, last = 0x6eabdc005f80, elements = 0}, <No data fields>}, duplic=DUP_ERROR, ignore=false, where=0x76acc021b168, select_insert=false, cache_insert_values=0x76acc021b187)at /test/11.4_dbg/sql/sql_insert.cc:1807
      #10 0x00005a3223fe23b4 in mysql_insert (thd=0x6eabdc000d58, table_list=0x6eabdc019cb8, fields=@0x6eabdc005f68: {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0x6eabdc01a4f8, last = 0x6eabdc01a4f8, elements = 1}, <No data fields>}, values_list=@0x6eabdc005fb0: {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0x6eabdc01aa80, last = 0x6eabdc01aa80, elements = 1}, <No data fields>}, update_fields=@0x6eabdc005f98: {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0x5a3225bed4e0 <end_of_list>, last = 0x6eabdc005f98, elements = 0}, <No data fields>}, update_values=@0x6eabdc005f80: {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0x5a3225bed4e0 <end_of_list>, last = 0x6eabdc005f80, elements = 0}, <No data fields>}, duplic=DUP_ERROR, ignore=false, result=0x6eabdc01b490)at /test/11.4_dbg/sql/sql_insert.cc:815
      #11 0x00005a32240424e4 in mysql_execute_command (thd=0x6eabdc000d58, is_called_from_prepared_stmt=false) at /test/11.4_dbg/sql/sql_parse.cc:4515
      #12 0x00005a32240380e4 in mysql_parse (thd=0x6eabdc000d58, rawbuf=0x6eabdc019bb0 "INSERT INTO t1 (t1.*) VALUES (1) RETURNING c1", length=45, parser_state=0x76acc021cb30)at /test/11.4_dbg/sql/sql_parse.cc:7941
      #13 0x00005a3224035509 in dispatch_command (command=COM_QUERY, thd=0x6eabdc000d58, packet=0x6eabdc00afa9 "INSERT INTO t1 (t1.*) VALUES (1) RETURNING c1", packet_length=45, blocking=true) at /test/11.4_dbg/sql/sql_parse.cc:1925
      #14 0x00005a3224038c93 in do_command (thd=0x6eabdc000d58, blocking=true)at /test/11.4_dbg/sql/sql_parse.cc:1433
      #15 0x00005a322421f799 in do_handle_one_connection (connect=0x5a324f8917a8, put_in_cache=true) at /test/11.4_dbg/sql/sql_connect.cc:1508
      #16 0x00005a322421f532 in handle_one_connection (arg=0x5a324f83b3b8)at /test/11.4_dbg/sql/sql_connect.cc:1420
      #17 0x000076acc0a9cb84 in start_thread (arg=<optimized out>)at ./nptl/pthread_create.c:447
      #18 0x000076acc0b29d6c in clone3 ()at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78
      

      Bug Detection Matrix

          Rel    o/d  Build   Commit                                    UniqueID observed
      CS  10.11  dbg  270726  cea98ec09dd9a226047b09bc1f8516003b416e1c  !(*with_wild)|SIGABRT|setup_wild|setup_returning_fields|mysql_prepare_insert|mysql_insert
      CS  10.11  opt  270726  cea98ec09dd9a226047b09bc1f8516003b416e1c  No bug found
      CS  11.4   dbg  290726  eccf9ca5f15bdca5b8e887396d9a570d580eb4ee  !(*with_wild)|SIGABRT|setup_wild|setup_returning_fields|mysql_prepare_insert|mysql_insert
      CS  11.4   opt  290726  eccf9ca5f15bdca5b8e887396d9a570d580eb4ee  No bug found
      CS  11.8   dbg  100726  666b2aca09cb84d59b4ece2185a9200d745cb287  !(*with_wild)|SIGABRT|setup_wild|setup_returning_fields|mysql_prepare_insert|mysql_insert
      CS  11.8   opt  100726  666b2aca09cb84d59b4ece2185a9200d745cb287  No bug found
      CS  12.3   dbg  100726  27df5668c2e3eef406a5357672d3d8e89d25ff48  !(*with_wild)|SIGABRT|setup_wild|setup_returning_fields|mysql_prepare_insert|mysql_insert
      CS  12.3   opt  100726  27df5668c2e3eef406a5357672d3d8e89d25ff48  No bug found
      CS  13.0   dbg  100726  84c246ca5387c0611f75097136ff4f4bea092aa3  No bug found
      CS  13.0   opt  100726  84c246ca5387c0611f75097136ff4f4bea092aa3  No bug found
      CS  13.1   dbg  230726  7b89d04911b8a618da9ed76536313a351977d41d  No bug found
      CS  13.1   opt  230726  7b89d04911b8a618da9ed76536313a351977d41d  No bug found
      ES  11.4   dbg  060526  90f707057d44f1b5c013a0c3672fd12f32ea7085  !(*with_wild)|SIGABRT|setup_wild|setup_returning_fields|mysql_prepare_insert|mysql_insert
      ES  11.4   opt  060526  90f707057d44f1b5c013a0c3672fd12f32ea7085  No bug found
      ES  11.8   dbg  060526  1499789de285a8109d68d79347de0281865b28f4  !(*with_wild)|SIGABRT|setup_wild|setup_returning_fields|mysql_prepare_insert|mysql_insert
      ES  11.8   opt  060526  1499789de285a8109d68d79347de0281865b28f4  No bug found
      

      Testcase is CLI and MTR Compatible.

      Attachments

        Issue Links

          Activity

            People

              raghunandan.bhat Raghunandan Bhat
              ramesh Ramesh Sivaraman
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:

                Time Tracking

                  Estimated:
                  Original Estimate - 0d
                  0d
                  Remaining:
                  Time Spent - 0.75h Remaining Estimate - 2d
                  2d
                  Logged:
                  Time Spent - 0.75h Remaining Estimate - 2d
                  0.75h

                  Git Integration

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