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

Crash on PS with CREATE VIEW with function calling another PS

    XMLWordPrintable

Details

    • Not for Release Notes
    • Q3/2026 Server Development

    Description

      This script crashes the server:

      CREATE OR REPLACE TABLE t1 (a INT);
      INSERT INTO t1 VALUES (10);
      DELIMITER $$
      CREATE OR REPLACE FUNCTION f1() RETURNS INT
      BEGIN
        EXECUTE IMMEDIATE 'UPDATE t1 SET a=11';
        UPDATE t1 SET a=11;
        RETURN ROW_COUNT();
      END;
      $$
      CREATE OR REPLACE FUNCTION f2() RETURNS INT
      BEGIN
        DECLARE nrows INT;
        SET nrows= f1();
        RETURN nrows;
      END;
      $$
      DELIMITER ;
      EXECUTE IMMEDIATE 'CREATE VIEW v2 AS SELECT f2() AS c1';
      

      with the following stack:

      #0  0x0000555555927f24 in mysql_create_view (thd=0x77ff9c000dd0, 
          views=0x77ff9c0a02a0, mode=VIEW_CREATE_NEW)
          at /home/bar/maria-git/13.1.m39518.fnc5/sql/sql_view.cc:489
      #1  0x000055555577cc18 in mysql_execute_command (thd=0x77ff9c000dd0, 
          is_called_from_prepared_stmt=true)
          at /home/bar/maria-git/13.1.m39518.fnc5/sql/sql_parse.cc:5748
      #2  0x00005555557cbf5a in Prepared_statement::execute (this=0x77ff9c09b110, 
          expanded_query=0x7fffe009e3e0, open_cursor=false, 
          result_arg=0x77ff9c09b260, cursor_arg=0x77ff9c09b2d0)
          at /home/bar/maria-git/13.1.m39518.fnc5/sql/sql_prepare.cc:5556
      #3  0x00005555557c9a30 in Prepared_statement::execute_loop (
          this=0x77ff9c09b110, expanded_query=0x7fffe009e3e0, open_cursor=false, 
          result_arg=0x77ff9c09b260, cursor_arg=0x77ff9c09b2d0, 
          instrs_set_placeholder=..., packet=0x0, packet_end=0x0)
          at /home/bar/maria-git/13.1.m39518.fnc5/sql/sql_prepare.cc:4889
      #4  0x00005555557cc816 in Prepared_statement::execute_immediate (
          this=0x77ff9c09b110, 
          query=0x77ff9c0354c0 "CREATE VIEW v2 AS SELECT f2() AS c1", query_len=35, 
          dynamic_open_cursor=false, result_arg=0x77ff9c09b260, 
          cursor_arg=0x77ff9c09b2d0, instrs_set_placeholder=...)
          at /home/bar/maria-git/13.1.m39518.fnc5/sql/sql_prepare.cc:5734
      #5  0x00005555557c4b9b in mysql_sql_stmt_execute_immediate (
          thd=0x77ff9c000dd0, dynamic_open_cursor=false, result_arg=0x0, 
          cursor_arg=0x0, instrs_set_placeholder=...)
          at /home/bar/maria-git/13.1.m39518.fnc5/sql/sql_prepare.cc:3125
      #6  0x00005555557c4d8c in mysql_sql_stmt_execute_immediate (thd=0x77ff9c000dd0)
          at /home/bar/maria-git/13.1.m39518.fnc5/sql/sql_prepare.cc:3148
      #7  0x0000555555776294 in mysql_execute_command (thd=0x77ff9c000dd0, 
          is_called_from_prepared_stmt=false)
          at /home/bar/maria-git/13.1.m39518.fnc5/sql/sql_parse.cc:4035
      #8  0x0000555555784175 in mysql_parse (thd=0x77ff9c000dd0, 
          rawbuf=0x77ff9c0353f0 "EXECUTE IMMEDIATE 'CREATE VIEW v2 AS SELECT f2() AS c1'", length=55, parser_state=0x7fffe009ef30)
          at /home/bar/maria-git/13.1.m39518.fnc5/sql/sql_parse.cc:8000
      #9  0x000055555576e862 in dispatch_command (command=COM_QUERY, 
          thd=0x77ff9c000dd0, 
          packet=0x77ff9c00c511 "EXECUTE IMMEDIATE 'CREATE VIEW v2 AS SELECT f2() AS c1'", packet_length=55, blocking=true)
          at /home/bar/maria-git/13.1.m39518.fnc5/sql/sql_parse.cc:1903
      #10 0x000055555576cf73 in do_command (thd=0x77ff9c000dd0, blocking=true)
          at /home/bar/maria-git/13.1.m39518.fnc5/sql/sql_parse.cc:1437
      #11 0x00005555559bf60d in do_handle_one_connection (connect=0x55555983bda0, 
          put_in_cache=true)
          at /home/bar/maria-git/13.1.m39518.fnc5/sql/sql_connect.cc:1514
      #12 0x00005555559bf35a in handle_one_connection (arg=0x55555983bda0)
          at /home/bar/maria-git/13.1.m39518.fnc5/sql/sql_connect.cc:1426
      #13 0x000055555606998a in pfs_spawn_thread (arg=0x55555983cc90)
          at /home/bar/maria-git/13.1.m39518.fnc5/storage/perfschema/pfs.cc:2198
      #14 0x00007ffff7080f34 in start_thread () from /lib64/libc.so.6
      #15 0x00007ffff710436c in __clone3 () from /lib64/libc.so.6
      

      Attachments

        Issue Links

          Activity

            People

              bar Alexander Barkov
              bar Alexander Barkov
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - 4h 58m
                  4h 58m
                  Remaining:
                  0d
                  Logged:
                  Time Not Required
                  Not Specified

                  Git Integration

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