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

Server crashes on SELECT from InnoDB I_S table if InnoDB is not enabled

Details

    • Bug
    • Status: Closed (View Workflow)
    • Minor
    • Resolution: Fixed
    • 10.0.6
    • 10.0.9
    • None

    Description

      If MariaDB server is started with skip-innodb, but with plugin-innodb-sys-datafiles:

      SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_DATAFILES;

      #3  <signal handler called>
      #4  0x0000000000a4d29e in pfs_mutex_enter_func (mutex=0x0, file_name=0xfef858 "10.0/storage/innobase/handler/i_s.cc", line=7860) at 10.0/storage/innobase/include/sync0sync.ic:237
      #5  0x0000000000a5b062 in i_s_sys_datafiles_fill_table (thd=0x7f3059f53070, tables=0x7f30474062e8) at 10.0/storage/innobase/handler/i_s.cc:7860
      #6  0x00000000006e4207 in do_fill_table (thd=0x7f3059f53070, table_list=0x7f30474062e8, join_table=0x7f3047422088) at 10.0/sql/sql_show.cc:8053
      #7  0x00000000006e4580 in get_schema_tables_result (join=0x7f3047406c88, executed_place=PROCESSED_BY_JOIN_EXEC) at 10.0/sql/sql_show.cc:8151
      #8  0x0000000000689975 in JOIN::exec_inner (this=0x7f3047406c88) at 10.0/sql/sql_select.cc:2521
      #9  0x0000000000688f54 in JOIN::exec (this=0x7f3047406c88) at 10.0/sql/sql_select.cc:2356
      #10 0x000000000068c517 in mysql_select (thd=0x7f3059f53070, rref_pointer_array=0x7f3059f57688, tables=0x7f30474062e8, wild_num=1, fields=..., conds=0x0, og_num=0, order=0x0, group=0x0, having=0x0, proc_param=0x0, select_options=2684619520, result=0x7f3047406c68, unit=0x7f3059f56d38, select_lex=0x7f3059f57418) at 10.0/sql/sql_select.cc:3294
      #11 0x0000000000682974 in handle_select (thd=0x7f3059f53070, lex=0x7f3059f56c78, result=0x7f3047406c68, setup_tables_done_option=0) at 10.0/sql/sql_select.cc:372
      #12 0x00000000006566c0 in execute_sqlcom_select (thd=0x7f3059f53070, all_tables=0x7f30474062e8) at 10.0/sql/sql_parse.cc:5250
      #13 0x000000000064e7cc in mysql_execute_command (thd=0x7f3059f53070) at 10.0/sql/sql_parse.cc:2571
      #14 0x0000000000658f26 in mysql_parse (thd=0x7f3059f53070, rawbuf=0x7f3047406088 "SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_DATAFILES", length=53, parser_state=0x7f305f46a4b0) at 10.0/sql/sql_parse.cc:6394
      #15 0x000000000064b8a8 in dispatch_command (command=COM_QUERY, thd=0x7f3059f53070, packet=0x7f3048fe8071 "SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_DATAFILES", packet_length=53) at 10.0/sql/sql_parse.cc:1296
      #16 0x000000000064abf6 in do_command (thd=0x7f3059f53070) at 10.0/sql/sql_parse.cc:993
      #17 0x000000000076b719 in do_handle_one_connection (thd_arg=0x7f3059f53070) at 10.0/sql/sql_connect.cc:1379
      #18 0x000000000076b46c in handle_one_connection (arg=0x7f3059f53070) at 10.0/sql/sql_connect.cc:1293
      #19 0x0000000000a121af in pfs_spawn_thread (arg=0x7f30493cdb70) at 10.0/storage/perfschema/pfs.cc:1853
      #20 0x00007f305e841e9a in start_thread (arg=0x7f305f46b700) at pthread_create.c:308
      #21 0x00007f305d7353fd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
      #22 0x0000000000000000 in ?? ()

      It is also reproducible on MySQL 5.6.10 but not on the current MySQL 5.6 tree, so hopefully it will be fixed by the next InnoDB or bugfix merge.

      Attachments

        Issue Links

          Activity

            elenst Elena Stepanova created issue -
            elenst Elena Stepanova made changes -
            Field Original Value New Value
            elenst Elena Stepanova made changes -
            Fix Version/s 10.0.7 [ 14100 ]
            elenst Elena Stepanova made changes -
            Fix Version/s 10.0.8 [ 14200 ]
            elenst Elena Stepanova made changes -
            Fix Version/s 10.0.9 [ 14400 ]
            Fix Version/s 10.0.8 [ 14200 ]
            Assignee Elena Stepanova [ elenst ]
            Description It is probably the same as MDEV-5415, but the stack trace looks different (maybe because it involves an INNODB table in I_S). It needs to be re-checked after MDEV-5415 is fixed.

            Preliminary test case:
            {code:sql}
            SET optimizer_use_condition_selectivity=3;
            SELECT * FROM INFORMATION_SCHEMA . `INNODB_SYS_DATAFILES` AS table1 WHERE NOT ( table1 . `SPACE` > table1 . `PATH` OR table1 . `PATH` > '2000-02-16 15:16:33.061698') HAVING NOT ( table1 . `SPACE` <> 3 OR table1 . `PATH` < '2000-01-26 05:54:38.006022');
            {code}

            If it's used with MTR, should be run as
            {noformat}
            perl ./mtr bug.t1 --mysqld=--plugin-innodb-sys-datafiles
            {noformat}

            {noformat}
            #2 0x00000000008458b9 in handle_fatal_signal (sig=11) at /home/elenst/bzr/10.0/sql/signal_handler.cc:262
            #3 <signal handler called>
            #4 0x000000000095552f in calculate_cond_selectivity_for_table (thd=0x7fc50673d070, table=0x7fc503806088, cond=0x7fc5039e95c0) at 10.0/sql/opt_range.cc:3480
            #5 0x0000000000000000 in ?? ()
            {noformat}

            {noformat}
            revision-id: bar@mnogosearch.org-20131206150255-und2j89f85by7imn
            revno: 3915
            branch-nick: 10.0
            {noformat}
            If MariaDB server is started with skip-innodb, but with plugin-innodb-sys-datafiles:
            {code:sql}
            SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_DATAFILES;
            {code}

            {noformat}
            #3 <signal handler called>
            #4 0x0000000000a4d29e in pfs_mutex_enter_func (mutex=0x0, file_name=0xfef858 "10.0/storage/innobase/handler/i_s.cc", line=7860) at 10.0/storage/innobase/include/sync0sync.ic:237
            #5 0x0000000000a5b062 in i_s_sys_datafiles_fill_table (thd=0x7f3059f53070, tables=0x7f30474062e8) at 10.0/storage/innobase/handler/i_s.cc:7860
            #6 0x00000000006e4207 in do_fill_table (thd=0x7f3059f53070, table_list=0x7f30474062e8, join_table=0x7f3047422088) at 10.0/sql/sql_show.cc:8053
            #7 0x00000000006e4580 in get_schema_tables_result (join=0x7f3047406c88, executed_place=PROCESSED_BY_JOIN_EXEC) at 10.0/sql/sql_show.cc:8151
            #8 0x0000000000689975 in JOIN::exec_inner (this=0x7f3047406c88) at 10.0/sql/sql_select.cc:2521
            #9 0x0000000000688f54 in JOIN::exec (this=0x7f3047406c88) at 10.0/sql/sql_select.cc:2356
            #10 0x000000000068c517 in mysql_select (thd=0x7f3059f53070, rref_pointer_array=0x7f3059f57688, tables=0x7f30474062e8, wild_num=1, fields=..., conds=0x0, og_num=0, order=0x0, group=0x0, having=0x0, proc_param=0x0, select_options=2684619520, result=0x7f3047406c68, unit=0x7f3059f56d38, select_lex=0x7f3059f57418) at 10.0/sql/sql_select.cc:3294
            #11 0x0000000000682974 in handle_select (thd=0x7f3059f53070, lex=0x7f3059f56c78, result=0x7f3047406c68, setup_tables_done_option=0) at 10.0/sql/sql_select.cc:372
            #12 0x00000000006566c0 in execute_sqlcom_select (thd=0x7f3059f53070, all_tables=0x7f30474062e8) at 10.0/sql/sql_parse.cc:5250
            #13 0x000000000064e7cc in mysql_execute_command (thd=0x7f3059f53070) at 10.0/sql/sql_parse.cc:2571
            #14 0x0000000000658f26 in mysql_parse (thd=0x7f3059f53070, rawbuf=0x7f3047406088 "SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_DATAFILES", length=53, parser_state=0x7f305f46a4b0) at 10.0/sql/sql_parse.cc:6394
            #15 0x000000000064b8a8 in dispatch_command (command=COM_QUERY, thd=0x7f3059f53070, packet=0x7f3048fe8071 "SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_DATAFILES", packet_length=53) at 10.0/sql/sql_parse.cc:1296
            #16 0x000000000064abf6 in do_command (thd=0x7f3059f53070) at 10.0/sql/sql_parse.cc:993
            #17 0x000000000076b719 in do_handle_one_connection (thd_arg=0x7f3059f53070) at 10.0/sql/sql_connect.cc:1379
            #18 0x000000000076b46c in handle_one_connection (arg=0x7f3059f53070) at 10.0/sql/sql_connect.cc:1293
            #19 0x0000000000a121af in pfs_spawn_thread (arg=0x7f30493cdb70) at 10.0/storage/perfschema/pfs.cc:1853
            #20 0x00007f305e841e9a in start_thread (arg=0x7f305f46b700) at pthread_create.c:308
            #21 0x00007f305d7353fd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
            #22 0x0000000000000000 in ?? ()
            {noformat}

            It is also reproducible on MySQL 5.6.10 but not on the current MySQL 5.6 tree, so hopefully it will be fixed by the next InnoDB or bugfix merge.
            Labels upstream
            Priority Major [ 3 ] Minor [ 4 ]
            Summary [Draft] Server crashes in calculate_cond_selectivity_for_table on SELECT from I_S table with optimizer_use_condition_selectivity > 2 Server crashes on SELECT from InnoDB I_S table if InnoDB is not enabled
            elenst Elena Stepanova made changes -
            jplindst Jan Lindström (Inactive) made changes -
            Assignee Jan Lindström [ jplindst ]
            serg Sergei Golubchik made changes -
            Fix Version/s 10.0.10 [ 14500 ]
            Fix Version/s 10.0.9 [ 14400 ]
            jplindst Jan Lindström (Inactive) made changes -
            Fix Version/s 10.0.9 [ 14400 ]
            Fix Version/s 10.0.10 [ 14500 ]
            jplindst Jan Lindström (Inactive) made changes -
            Resolution Fixed [ 1 ]
            Status Open [ 1 ] Closed [ 6 ]
            serg Sergei Golubchik made changes -
            Workflow defaullt [ 31002 ] MariaDB v2 [ 43301 ]
            ratzpo Rasmus Johansson (Inactive) made changes -
            Workflow MariaDB v2 [ 43301 ] MariaDB v3 [ 62388 ]
            serg Sergei Golubchik made changes -
            Workflow MariaDB v3 [ 62388 ] MariaDB v4 [ 147323 ]

            People

              jplindst Jan Lindström (Inactive)
              elenst Elena Stepanova
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Git Integration

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