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

InnoDB: Failing assertion: sym_node->table != NULL in pars_retrieve_table_def

    XMLWordPrintable

    Details

      Description

      CREATE TABLE t (t TEXT,FULLTEXT (t)) ENGINE=InnoDB;
      ALTER TABLE t DISCARD TABLESPACE;
      SET GLOBAL innodb_ft_aux_table='test/t';
      SELECT * FROM information_schema.innodb_ft_deleted;
      

      Leads to:

      10.6.1 9db14e93acc4ec9023d50686c66dbef7d4d8c15c (Debug)

      InnoDB: Failing assertion: sym_node->table != NULL
      

      10.6.1 9db14e93acc4ec9023d50686c66dbef7d4d8c15c (Debug)

      Core was generated by `/test/MD270421-mariadb-10.6.1-linux-x86_64-dbg/bin/mysqld --no-defaults --core-'.
      Program terminated with signal SIGABRT, Aborted.
      #0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
      [Current thread is 1 (Thread 0x1512280e1700 (LWP 3664009))]
      (gdb) bt
      #0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
      #1  0x000015123cb4e859 in __GI_abort () at abort.c:79
      #2  0x00005632c68cda1c in ut_dbg_assertion_failed (expr=expr@entry=0x5632c6ee097a "sym_node->table != NULL", file=file@entry=0x5632c6ee0008 "/test/10.6_dbg/storage/innobase/pars/pars0pars.cc", line=line@entry=771) at /test/10.6_dbg/storage/innobase/ut/ut0dbg.cc:60
      #3  0x00005632c678f9ea in pars_retrieve_table_def (sym_node=sym_node@entry=0x1511f005dba8) at /test/10.6_dbg/storage/innobase/pars/pars0pars.cc:771
      #4  0x00005632c6794f63 in pars_retrieve_table_list_defs (sym_node=0x1511f005dba8) at /test/10.6_dbg/storage/innobase/pars/pars0pars.cc:792
      #5  pars_select_statement (select_node=0x1511f005dab8, table_list=0x1511f005dba8, search_cond=0x0, for_update=0x0, lock_shared=0x0, order_by=0x0) at /test/10.6_dbg/storage/innobase/pars/pars0pars.cc:923
      #6  0x00005632c6a5879a in yyparse () at pars0grm.y:308
      #7  0x00005632c679335c in pars_sql (info=info@entry=0x1511f002a058, str=<optimized out>, str@entry=0x1511f002b938 "PROCEDURE P() IS\nDECLARE FUNCTION my_func;\nDECLARE CURSOR c IS SELECT doc_id FROM $table_name;\nBEGIN\n\nOPEN c;\nWHILE 1 = 1 LOOP\n  FETCH c INTO my_func();\n  IF c % NOTFOUND THEN\n    EXIT;\n  END IF;\nEND "...) at /test/10.6_dbg/storage/innobase/pars/pars0pars.cc:2001
      #8  0x00005632c6a364fb in fts_parse_sql (fts_table=fts_table@entry=0x1512280df650, info=info@entry=0x1511f002a058, sql=sql@entry=0x5632c6f2f5c0 "DECLARE FUNCTION my_func;\nDECLARE CURSOR c IS SELECT doc_id FROM $table_name;\nBEGIN\n\nOPEN c;\nWHILE 1 = 1 LOOP\n  FETCH c INTO my_func();\n  IF c % NOTFOUND THEN\n    EXIT;\n  END IF;\nEND LOOP;\nCLOSE c;") at /test/10.6_dbg/storage/innobase/fts/fts0sql.cc:159
      #9  0x00005632c6a260d1 in fts_table_fetch_doc_ids (trx=trx@entry=0x151223c012a0, fts_table=fts_table@entry=0x1512280df650, doc_ids=doc_ids@entry=0x1511f002b598) at /test/10.6_dbg/storage/innobase/fts/fts0opt.cc:989
      #10 0x00005632c66df5c0 in i_s_fts_deleted_generic_fill (thd=thd@entry=0x1511f0000db8, tables=tables@entry=0x1511f00146f0, being_deleted=being_deleted@entry=0) at /test/10.6_dbg/storage/innobase/handler/i_s.cc:2429
      #11 0x00005632c66df7ef in i_s_fts_deleted_fill (thd=0x1511f0000db8, tables=0x1511f00146f0) at /test/10.6_dbg/storage/innobase/handler/i_s.cc:2469
      #12 0x00005632c6069186 in get_schema_tables_result (join=join@entry=0x1511f0015810, executed_place=executed_place@entry=PROCESSED_BY_JOIN_EXEC) at /test/10.6_dbg/sql/sql_show.cc:8727
      #13 0x00005632c603d164 in JOIN::exec_inner (this=this@entry=0x1511f0015810) at /test/10.6_dbg/sql/sql_select.cc:4575
      #14 0x00005632c603dda6 in JOIN::exec (this=this@entry=0x1511f0015810) at /test/10.6_dbg/sql/sql_select.cc:4378
      #15 0x00005632c603be82 in mysql_select (thd=thd@entry=0x1511f0000db8, tables=0x1511f00146f0, fields=@0x1511f00141f0: {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0x1511f0014670, last = 0x1511f0014670, elements = 1}, <No data fields>}, conds=0x0, og_num=0, order=0x0, group=0x0, having=0x0, proc_param=0x0, select_options=2684619520, result=0x1511f00157e8, unit=0x1511f0005118, select_lex=0x1511f0014098) at /test/10.6_dbg/sql/sql_select.cc:4854
      #16 0x00005632c603c148 in handle_select (thd=thd@entry=0x1511f0000db8, lex=lex@entry=0x1511f0005050, result=result@entry=0x1511f00157e8, setup_tables_done_option=setup_tables_done_option@entry=0) at /test/10.6_dbg/sql/sql_select.cc:446
      #17 0x00005632c5faee55 in execute_sqlcom_select (thd=thd@entry=0x1511f0000db8, all_tables=0x1511f00146f0) at /test/10.6_dbg/sql/sql_parse.cc:6244
      #18 0x00005632c5fbbd4e in mysql_execute_command (thd=thd@entry=0x1511f0000db8) at /test/10.6_dbg/sql/sql_parse.cc:3940
      #19 0x00005632c5fa7f81 in mysql_parse (thd=thd@entry=0x1511f0000db8, rawbuf=<optimized out>, length=<optimized out>, parser_state=parser_state@entry=0x1512280e0410) at /test/10.6_dbg/sql/sql_parse.cc:8018
      #20 0x00005632c5fb6db3 in dispatch_command (command=command@entry=COM_QUERY, thd=thd@entry=0x1511f0000db8, packet=packet@entry=0x1511f000b789 "SELECT * FROM information_schema.innodb_ft_deleted", packet_length=packet_length@entry=50, blocking=blocking@entry=true) at /test/10.6_dbg/sql/sql_class.h:1332
      #21 0x00005632c5fba1a6 in do_command (thd=0x1511f0000db8, blocking=blocking@entry=true) at /test/10.6_dbg/sql/sql_parse.cc:1406
      #22 0x00005632c6114a6a in do_handle_one_connection (connect=<optimized out>, connect@entry=0x5632c9dfaa58, put_in_cache=put_in_cache@entry=true) at /test/10.6_dbg/sql/sql_connect.cc:1410
      #23 0x00005632c611506f in handle_one_connection (arg=arg@entry=0x5632c9dfaa58) at /test/10.6_dbg/sql/sql_connect.cc:1312
      #24 0x00005632c65c72ca in pfs_spawn_thread (arg=0x5632c9ce4298) at /test/10.6_dbg/storage/perfschema/pfs.cc:2201
      #25 0x000015123d05c609 in start_thread (arg=<optimized out>) at pthread_create.c:477
      #26 0x000015123cc4b293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
      

      10.6.1 9db14e93acc4ec9023d50686c66dbef7d4d8c15c (Optimized)

      Core was generated by `/test/MD270421-mariadb-10.6.1-linux-x86_64-opt/bin/mysqld --no-defaults --core-'.
      Program terminated with signal SIGABRT, Aborted.
      #0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
      [Current thread is 1 (Thread 0x151ec0104700 (LWP 3690974))]
      (gdb) bt
      #0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
      #1  0x0000151ec8f2d859 in __GI_abort () at abort.c:79
      #2  0x000055799a73bfa1 in ut_dbg_assertion_failed (expr=expr@entry=0x55799b31c6d4 "sym_node->table != NULL", file=file@entry=0x55799b31c080 "/test/10.6_opt/storage/innobase/pars/pars0pars.cc", line=line@entry=771) at /test/10.6_opt/storage/innobase/ut/ut0dbg.cc:60                                                                                             
      #3  0x000055799a72586a in pars_retrieve_table_def (sym_node=0x151e58047a08) at /test/10.6_opt/storage/innobase/pars/pars0pars.cc:771                                                                                                          
      #4  pars_retrieve_table_def (sym_node=0x151e58047a08) at /test/10.6_opt/storage/innobase/pars/pars0pars.cc:753
      #5  0x000055799ae1cd23 in pars_retrieve_table_list_defs (sym_node=0x151e58047a08) at /test/10.6_opt/storage/innobase/pars/pars0pars.cc:792                                                                                                    
      #6  pars_select_statement (select_node=0x151e58047920, table_list=0x151e58047a08, search_cond=0x0, for_update=0x0, lock_shared=0x0, order_by=0x0) at /test/10.6_opt/storage/innobase/pars/pars0pars.cc:923                                    
      #7  0x000055799af7a6ce in yyparse () at pars0grm.y:308
      #8  0x000055799ae2096e in pars_sql (info=info@entry=0x151e5801de00, str=str@entry=0x151e5801d4c8 "PROCEDURE P() IS\nDECLARE FUNCTION my_func;\nDECLARE CURSOR c IS SELECT doc_id FROM $table_name;\nBEGIN\n\nOPEN c;\nWHILE 1 = 1 LOOP\n  FETCH c INTO my_func();\n  IF c % NOTFOUND THEN\n    EXIT;\n  END IF;\nEND "...) at /test/10.6_opt/storage/innobase/pars/pars0pars.cc:2001                                                                                                        
      #9  0x000055799af671b3 in fts_parse_sql (fts_table=fts_table@entry=0x151ec01027f0, info=info@entry=0x151e5801de00, sql=sql@entry=0x55799b3382f0 "DECLARE FUNCTION my_func;\nDECLARE CURSOR c IS SELECT doc_id FROM $table_name;\nBEGIN\n\nOPEN c;\nWHILE 1 = 1 LOOP\n  FETCH c INTO my_func();\n  IF c % NOTFOUND THEN\n    EXIT;\n  END IF;\nEND LOOP;\nCLOSE c;") at /test/10.6_opt/storage/innobase/fts/fts0sql.cc:159                                                                   
      #10 0x000055799af5d39a in fts_table_fetch_doc_ids (trx=trx@entry=0x151eb41c3130, fts_table=fts_table@entry=0x151ec01027f0, doc_ids=doc_ids@entry=0x151e5801b7b0) at /test/10.6_opt/storage/innobase/fts/fts0opt.cc:989                        
      #11 0x000055799adc7bbd in i_s_fts_deleted_generic_fill (thd=0x151e58000c58, being_deleted=0, tables=<optimized out>, tables=<optimized out>) at /test/10.6_opt/storage/innobase/handler/i_s.cc:2429                                           
      #12 0x000055799a8ec20e in get_schema_tables_result (join=join@entry=0x151e580120b0, executed_place=executed_place@entry=PROCESSED_BY_JOIN_EXEC) at /test/10.6_opt/sql/sql_show.cc:8727                                                        
      #13 0x000055799a8d1c8f in JOIN::exec_inner (this=0x151e580120b0) at /test/10.6_opt/sql/sql_select.cc:4554
      #14 0x000055799a8d23e8 in JOIN::exec (this=this@entry=0x151e580120b0) at /test/10.6_opt/sql/sql_select.cc:4378
      #15 0x000055799a8d02c8 in mysql_select (thd=0x151e58000c58, tables=0x151e58010f90, fields=<optimized out>, conds=0x0, og_num=0, order=0x0, group=0x0, having=0x0, proc_param=0x0, select_options=<optimized out>, result=0x151e58012088, unit=0x151e58004df8, select_lex=0x151e58010938) at /test/10.6_opt/sql/sql_select.cc:4854                                    
      #16 0x000055799a8d0d47 in handle_select (thd=thd@entry=0x151e58000c58, lex=lex@entry=0x151e58004d30, result=result@entry=0x151e58012088, setup_tables_done_option=setup_tables_done_option@entry=0) at /test/10.6_opt/sql/sql_select.cc:446   
      #17 0x000055799a861281 in execute_sqlcom_select (thd=0x151e58000c58, all_tables=0x151e58010f90) at /test/10.6_opt/sql/sql_parse.cc:6244                                                                                                       
      #18 0x000055799a86ee87 in mysql_execute_command (thd=0x151e58000c58) at /test/10.6_opt/sql/sql_parse.cc:3940
      #19 0x000055799a85c064 in mysql_parse (thd=0x151e58000c58, rawbuf=<optimized out>, length=<optimized out>, parser_state=<optimized out>) at /test/10.6_opt/sql/sql_parse.cc:8018                                                              
      #20 0x000055799a8680a5 in dispatch_command (command=COM_QUERY, thd=0x151e58000c58, packet=<optimized out>, packet_length=<optimized out>, blocking=<optimized out>) at /test/10.6_opt/sql/sql_class.h:1332                                    
      #21 0x000055799a86a007 in do_command (thd=0x151e58000c58, blocking=blocking@entry=true) at /test/10.6_opt/sql/sql_parse.cc:1406                                                                                                               
      #22 0x000055799a96ced7 in do_handle_one_connection (connect=<optimized out>, put_in_cache=true) at /test/10.6_opt/sql/sql_connect.cc:1410                                                                                                     
      #23 0x000055799a96d23d in handle_one_connection (arg=arg@entry=0x55799c856368) at /test/10.6_opt/sql/sql_connect.cc:1312                                                                                                                      
      #24 0x000055799acf2418 in pfs_spawn_thread (arg=0x55799c7ce8f8) at /test/10.6_opt/storage/perfschema/pfs.cc:2201
      #25 0x0000151ec943b609 in start_thread (arg=<optimized out>) at pthread_create.c:477
      #26 0x0000151ec902a293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
      

      Bug confirmed present in:
      MariaDB: 10.2.38 (dbg), 10.2.38 (opt), 10.3.29 (dbg), 10.3.29 (opt), 10.4.19 (dbg), 10.4.19 (opt), 10.5.10 (dbg), 10.5.10 (opt), 10.6.1 (dbg), 10.6.1 (opt)
      MySQL: 5.6.51 (dbg), 5.6.51 (opt), 5.7.33 (dbg), 5.7.33 (opt), 8.0.23 (dbg), 8.0.23 (opt)

      Bug (or feature/syntax) confirmed not present in:
      MySQL: 5.5.62 (dbg), 5.5.62 (opt)

      MS 5.5.62 (Debug)

      5.5.62-dbg>CREATE TABLE t (t TEXT,FULLTEXT (t)) ENGINE=InnoDB;
      ERROR 1214 (HY000): The used table type doesn't support FULLTEXT indexes
      

        Attachments

          Activity

            People

            Assignee:
            thiru Thirunarayanan Balathandayuthapani
            Reporter:
            Roel Roel Van de Paar
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved: