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

LP:933719 - Assertion open_tables == 0 && temporary_tables == 0 && handler_tables == 0 && derived_tables == 0 && lock == 0 && locked_tables == 0 && prelocked_mode == NON_PRELOCKED && m_reprepare_observer == __null in THD::restore_backup_open_tables_sta...

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: None
    • Labels:

      Description

      Version: '5.3.4-MariaDB-rc-debug-log'
      mysqld: sql_class.cc:3443: void THD::restore_backup_open_tables_state(Open_tables_state*): Assertion `open_tables == 0 && temporary_tables == 0 && handler_tables == 0 && derived_tables == 0 && lock == 0 && locked_tables == 0 && prelocked_mode == NON_PRELOCKED && m_reprepare_observer == __null' failed.
      [ERROR] mysqld got signal 6 ;

      #6 0x00007ff27d674235 in __assert_fail () from /lib64/libc.so.6
      #7 0x00000000006ccdeb in THD::restore_backup_open_tables_state (this=0x7ff26107daa8, backup=0x7ff25209f360)
      at sql_class.cc:3439
      #8 0x000000000075da9d in open_performance_schema_table (thd=0x7ff26107daa8, one_table=0x7ff25209ed70,
      backup=0x7ff25209f360) at sql_base.cc:9616
      #9 0x00000000007e09e8 in Log_to_csv_event_handler::log_general (this=0x7ff260fe3680, thd=0x7ff26107daa8,
      event_time=..., user_host=0x7ff25209f490 "root[root] @ [127.0.0.1]", user_host_len=25, thread_id=12,
      command_type=0xd992bd "Query", command_type_len=5, sql_text=0x2886d40 "SELECT DATABASE()",
      sql_text_len=17, client_cs=0x1311260) at log.cc:450
      #10 0x00000000007e27f3 in LOGGER::general_log_write (this=0x131e980, thd=0x7ff26107daa8, command=COM_QUERY,
      query=0x2886d40 "SELECT DATABASE()", query_length=17) at log.cc:1109
      #11 0x00000000007ec8ce in general_log_write (thd=0x7ff26107daa8, command=COM_QUERY,
      query=0x2886d40 "SELECT DATABASE()", query_length=17) at log.cc:4815
      #12 0x00000000006f373f in dispatch_command (command=COM_QUERY, thd=0x7ff26107daa8,
      packet=0x7ff2610c8fa9 "SELECT DATABASE()", packet_length=17) at sql_parse.cc:1218
      #13 0x00000000006f2b44 in do_command (thd=0x7ff26107daa8) at sql_parse.cc:923
      #14 0x00000000006efa22 in handle_one_connection (arg=0x7ff26107daa8) at sql_connect.cc:1193
      #15 0x00007ff27e32fa4f in start_thread () from /lib64/libpthread.so.0
      #16 0x00007ff27d71982d in clone () from /lib64/libc.so.6

      Query (0x2886d40): SELECT DATABASE()
      Connection ID (thread ID): 12
      Status: NOT_KILLED

      bzr version-info
      revision-id: <email address hidden>
      date: 2012-02-16 20:15:57 +0400
      build-date: 2012-02-16 21:51:16 +0200
      revno: 3424

      Could not reproduce on maria-5.5, mysql-5.1.60, mysql-5.5.20; however, the RQG test is not deterministic.
      If you don't get the failure, try a few times, also changing the number of threads might help.

      perl runall.pl \
      --no-mask \
      --threads=16 \
      --duration=600 \
      --queries=100M \
      --grammar=./test.yy \
      --views \
      --engine=MyISAM \
      -mysqld=-log-output=TABLE \
      --vardir=<your vardir> \
      --basedir=<debug basedir>

      1. cat test.yy

      query:
      update | trigger ;
      dml:
      insert | update | delete ;
      insert:
      INSERT INTO view_table ( _field ) VALUES ( value ) ;
      update:
      UPDATE view SET _field = value where ;
      delete:
      DELETE FROM view_table where LIMIT 1 ;
      trigger:
      CREATE TRIGGER _letter AFTER UPDATE ON table FOR EACH ROW BEGIN dml ; dml ; dml ; END ;
      where:
      WHERE _field > value | WHERE _field < value ;
      value:
      _digit ;
      view_table:
      view | table ;
      table:
      A | AA | B | BB | C | CC ;
      view:
      view_A | view_AA | view_B | view_BB | view_C | view_CC ;

      1. EOF

        Gliffy Diagrams

          Attachments

            Activity

            Hide
            monty Michael Widenius added a comment -

            Re: Assertion open_tables == 0 && temporary_tables == 0 && handler_tables == 0 && derived_tables == 0 && lock == 0 && locked_tables == 0 && prelocked_mode == NON_PRELOCKED && m_reprepare_observer == __null in THD::restore_backup_open_tables_state(Open_tables_state*)
            Fixed in 5.3
            (Crash happens when using logging to tables and one was running a stored procedures/trigger while the table definition was changed (by adding a trigger)

            Show
            monty Michael Widenius added a comment - Re: Assertion open_tables == 0 && temporary_tables == 0 && handler_tables == 0 && derived_tables == 0 && lock == 0 && locked_tables == 0 && prelocked_mode == NON_PRELOCKED && m_reprepare_observer == __null in THD::restore_backup_open_tables_state(Open_tables_state*) Fixed in 5.3 (Crash happens when using logging to tables and one was running a stored procedures/trigger while the table definition was changed (by adding a trigger)
            Hide
            ratzpo Rasmus Johansson added a comment -

            Launchpad bug id: 933719

            Show
            ratzpo Rasmus Johansson added a comment - Launchpad bug id: 933719

              People

              • Assignee:
                monty Michael Widenius
                Reporter:
                elenst Elena Stepanova
              • Votes:
                0 Vote for this issue
                Watchers:
                0 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: