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

FTSQueryExecutor::read_config_with_lock crashes on NULL thd during OPTIMIZE TABLE

    XMLWordPrintable

Details

    • Bug
    • Status: Open (View Workflow)
    • Major
    • Resolution: Unresolved
    • None
    • None
    • None
    • Can result in hang or crash

    Description

      Crash found during testing MDEV-28730

      origin/main-MDEV-28730 734db1ee6dbd2b248827e5c8953ef3a3d0185aaa

      Thread 3 received signal SIGSEGV, Segmentation fault.
      [Switching to Thread 3906580.3917832]
      thd_storage_lock_wait (thd=0x0, value=11) at /data/Server/MDEV-28730_new/sql/sql_class.cc:451
      451       thd->utime_after_lock+= value;
      (rr) bt
      #0  thd_storage_lock_wait (thd=0x0, value=11) at /data/Server/MDEV-28730_new/sql/sql_class.cc:451
      #1  0x000056d4586cb8e3 in lock_sys_t::wait_resume (this=this@entry=0x56d459ee5c80 <lock_sys>, thd=0x0, start=start@entry=..., now=...) at /data/Server/MDEV-28730_new/storage/innobase/lock/lock0lock.cc:2108
      #2  0x000056d4586c9128 in lock_wait (thr=thr@entry=0x1276380563c8) at /data/Server/MDEV-28730_new/storage/innobase/lock/lock0lock.cc:2410
      #3  0x000056d45879c93d in row_mysql_handle_errors (new_err=new_err@entry=0x799151a0c4a0, trx=trx@entry=0x55aa7560ff00, thr=thr@entry=0x1276380563c8, savept=savept@entry=0x0) at /data/Server/MDEV-28730_new/storage/innobase/row/row0mysql.cc:698
      #4  0x000056d4587d308d in row_search_mvcc<InnoDBPolicy<false, false> > (buf=buf@entry=0x799151a0cd90 "H\203>Y\324V", mode=mode@entry=PAGE_CUR_GE, prebuilt=0x127638056468, match_mode=match_mode@entry=0, direction=direction@entry=0)
          at /data/Server/MDEV-28730_new/storage/innobase/row/row0sel.cc:6051
      #5  0x000056d45893409c in row_search_mvcc_callback_dml (direction=0, match_mode=0, prebuilt=<optimized out>, mode=PAGE_CUR_GE, callback=0x799151a0cd90) at /data/Server/MDEV-28730_new/storage/innobase/include/row0sel.h:202
      #6  QueryExecutor::select_for_update (this=this@entry=0x799151a0ce70, table=table@entry=0x12763803fbf8, search_tuple=search_tuple@entry=0x799151a0cd20, callback=callback@entry=0x799151a0cd90)
          at /data/Server/MDEV-28730_new/storage/innobase/row/row0query.cc:331
      #7  0x000056d458906f5f in FTSQueryExecutor::read_config_with_lock (this=this@entry=0x799151a0ce70, key=key@entry=0x56d458cb4922 "synced_doc_id", callback=...) at /data/Server/MDEV-28730_new/storage/innobase/fts/fts0exec.cc:535
      #8  0x000056d4589044bf in fts_config_get_value (executor=executor@entry=0x799151a0ce70, table=table@entry=0x127638103a68, name=name@entry=0x56d458cb4922 "synced_doc_id", value=value@entry=0x799151a0ce50)
          at /data/Server/MDEV-28730_new/storage/innobase/fts/fts0config.cc:46
      #9  0x000056d4586a3eb3 in i_s_fts_config_fill (thd=0x127638000d58, tables=<optimized out>) at /data/Server/MDEV-28730_new/storage/innobase/handler/i_s.cc:3161
      #10 0x000056d45813ed14 in get_schema_tables_result (join=join@entry=0x1276380178a8, executed_place=executed_place@entry=PROCESSED_BY_JOIN_EXEC) at /data/Server/MDEV-28730_new/sql/sql_show.cc:9924
      #11 0x000056d4581286d1 in JOIN::exec_inner (this=this@entry=0x1276380178a8) at /data/Server/MDEV-28730_new/sql/sql_select.cc:5086
      #12 0x000056d4581288f1 in JOIN::exec (this=this@entry=0x1276380178a8) at /data/Server/MDEV-28730_new/sql/sql_select.cc:4913
      #13 0x000056d4581278df in mysql_select (thd=thd@entry=0x127638000d58, tables=0x127638016628, fields=..., conds=0x0, og_num=0, order=<optimized out>, group=0x0, having=0x0, proc_param=0x0, select_options=2701396736, result=0x127638017880, 
          unit=0x127638005278, select_lex=0x127638015ea8) at /data/Server/MDEV-28730_new/sql/sql_select.cc:5439
      #14 0x000056d458127ab4 in handle_select (thd=thd@entry=0x127638000d58, lex=lex@entry=0x127638005198, result=result@entry=0x127638017880, setup_tables_done_option=setup_tables_done_option@entry=0)
          at /data/Server/MDEV-28730_new/sql/sql_select.cc:636
      #15 0x000056d45809d35e in execute_sqlcom_select (thd=thd@entry=0x127638000d58, all_tables=0x127638016628) at /data/Server/MDEV-28730_new/sql/sql_parse.cc:6214
      #16 0x000056d4580a6dd3 in mysql_execute_command (thd=thd@entry=0x127638000d58, is_called_from_prepared_stmt=is_called_from_prepared_stmt@entry=false) at /data/Server/MDEV-28730_new/sql/sql_parse.cc:3988
      #17 0x000056d4580ac979 in mysql_parse (thd=thd@entry=0x127638000d58, rawbuf=<optimized out>, length=<optimized out>, parser_state=parser_state@entry=0x799151a0e3c0) at /data/Server/MDEV-28730_new/sql/sql_parse.cc:7942
      #18 0x000056d4580adfcd in dispatch_command (command=command@entry=COM_QUERY, thd=thd@entry=0x127638000d58, packet=packet@entry=0x12763800b669 "\nSELECT COUNT(*) FROM INFORMATION_SCHEMA.INNODB_FT_CONFIG /* E_R Thread6 QNO 79 CON_ID 21 */ ", 
          packet_length=packet_length@entry=93, blocking=blocking@entry=true) at /data/Server/MDEV-28730_new/sql/sql_parse.cc:1898
      #19 0x000056d4580af5d2 in do_command (thd=thd@entry=0x127638000d58, blocking=blocking@entry=true) at /data/Server/MDEV-28730_new/sql/sql_parse.cc:1432
      #20 0x000056d45820859d in do_handle_one_connection (connect=<optimized out>, connect@entry=0x56d45b7f35b8, put_in_cache=put_in_cache@entry=true) at /data/Server/MDEV-28730_new/sql/sql_connect.cc:1503
      #21 0x000056d4582087ba in handle_one_connection (arg=0x56d45b7f35b8) at /data/Server/MDEV-28730_new/sql/sql_connect.cc:1415
      #22 0x0000764474ab2a94 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:447
      #23 0x0000764474b3fa34 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:100
      

      Rqg startup options

      # $RQG_HOME/rqg.pl \
      # --gendata=conf/engines/innodb/full_text_search.zz \
      # --max_gd_duration=1200 \
      # --short_column_names \
      # --grammar=conf/engines/innodb/full_text_search.yy \
      # --redefine=conf/mariadb/redefine_fts.yy \
      # --mysqld=--loose-innodb_lock_schedule_algorithm=fcfs \
      # --mysqld=--loose-idle_write_transaction_timeout=0 \
      # --mysqld=--loose-idle_transaction_timeout=0 \
      # --mysqld=--loose-idle_readonly_transaction_timeout=0 \
      # --mysqld=--connect_timeout=60 \
      # --mysqld=--interactive_timeout=28800 \
      # --mysqld=--slave_net_timeout=60 \
      # --mysqld=--net_read_timeout=30 \
      # --mysqld=--net_write_timeout=60 \
      # --mysqld=--loose-table_lock_wait_timeout=50 \
      # --mysqld=--wait_timeout=28800 \
      # --no_mask \
      # --queries=10000000 \
      # --seed=random \
      # --reporters=None \
      # --reporters=ErrorLog \
      # --reporters=Deadlock \
      # --validators=None \
      # --mysqld=--log_output=none \
      # --mysqld=--log_bin_trust_function_creators=1 \
      # --mysqld=--loose-debug_assert_on_not_freed_memory=0 \
      # --engine=InnoDB \
      # --restart_timeout=240 \
      # --mysqld=--plugin-load-add=file_key_management.so \
      # --mysqld=--loose-file-key-management-filename=$RQG_HOME/conf/mariadb/encryption_keys.txt \
      # --mysqld=--plugin-load-add=provider_lzo.so \
      # --mysqld=--plugin-load-add=provider_bzip2.so \
      # --mysqld=--plugin-load-add=provider_lzma.so \
      # --mysqld=--plugin-load-add=provider_snappy.so \
      # --mysqld=--plugin-load-add=provider_lz4.so \
      # --mysqld=--loose-innodb_compression_level=1 \
      # --duration=300 \
      # --mysqld=--loose-innodb_fatal_semaphore_wait_threshold=300 \
      # --redefine=conf/mariadb/redefine_innodb_log_size_dynamic.yy \
      # --mysqld=--lock-wait-timeout=15 \
      # --mysqld=--innodb-lock-wait-timeout=10 \
      # --mysqld=--sql_mode=traditional \
      # --mysqld=--innodb_file_per_table=1 \
      # --mysqld=--loose-innodb_read_only_compressed=OFF \
      # --mysqld=--loose-innodb-sync-debug \
      # --mysqld=--innodb_stats_persistent=on \
      # --mysqld=--innodb_adaptive_hash_index=on \
      # --mysqld=--innodb_random_read_ahead=OFF \
      # --mysqld=--log-bin \
      # --mysqld=--sync-binlog=1 \
      # --mysqld=--loose-innodb_evict_tables_on_commit_debug=on \
      # --mysqld=--loose-max-statement-time=30 \
      # --threads=6 \
      # --rr=rr record --chaos --wait \
      # --mysqld=--innodb_undo_log_truncate=OFF \
      # --mysqld=--innodb_rollback_on_timeout=OFF \
      # --mysqld=--innodb_page_size=32K \
      # --mysqld=--innodb-buffer-pool-size=24M \
      # --vardir_type=fast \
      # --no_mask \
      # --batch \
      # --basedir1=/Server_bin/MDEV-28730_new_debug_Og \
      # --basedir2=/Server_bin/MDEV-28730_new_debug_Og \
      # --script_debug=_nix_ \
      # --major_runid=1778789173 \
      # --minor_runid=36
      

      RR trace is present on SDP :-
      /data/results/1778789173/MDEV-28730_030

      Attachments

        Issue Links

          Activity

            People

              thiru Thirunarayanan Balathandayuthapani
              saahil Saahil Alam
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:

                Git Integration

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