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

[Draft] sql/handler.h:1561: handlerton* Ha_trx_info::ht() const: Assertion `is_started()' failed

    XMLWordPrintable

Details

    • Bug
    • Status: Closed (View Workflow)
    • Major
    • Resolution: Incomplete
    • 10.1
    • N/A
    • Galera
    • None
    • Galera 25.3.14(r3560) by Codership Oy <info@codership.com>, mdbe-10.1.14

    Description

      mysqld: /data/src/10.1/sql/handler.h:1561: handlerton* Ha_trx_info::ht() const: Assertion `is_started()' failed.
      160825  3:21:03 [ERROR] mysqld got signal 6 ;
       
      2016-08-25  3:20:27 140214823544576 [Note] WSREP: Created page /data/logs/node1/data/gcache.page.000000 of size 29443057 bytes
      2016-08-25  3:20:40 140214823544576 [Note] WSREP: Created page /data/logs/node1/data/gcache.page.000001 of size 28822919 bytes
      mysqld: /data/src/10.1/sql/handler.h:1561: handlerton* Ha_trx_info::ht() const: Assertion `is_started()' failed.
      160825  3:21:03 [ERROR] mysqld got signal 6 ;
       
      # 2016-08-25T03:21:19 [31066] #7  0x00007f865c26b312 in __GI___assert_fail (assertion=0x7f865f3cf956 "is_started()", file=0x7f865f3cf939 "/data/src/10.1/sql/handler.h", line=1561, function=0x7f865f3d0300 <Ha_trx_info::ht() const::__PRETTY_FUNCTION__> "handlerton* Ha_trx_info::ht() const") at assert.c:101
      # 2016-08-25T03:21:19 [31066] #8  0x00007f865ec1638b in Ha_trx_info::ht (this=0x7f86326981c8) at /data/src/10.1/sql/handler.h:1561
      # 2016-08-25T03:21:19 [31066] #9  0x00007f865ecb5cce in ha_abort_transaction (bf_thd=0x7f864d016070, victim_thd=0x7f8632696070, signal=1 '\001') at /data/src/10.1/sql/handler.cc:6089
      # 2016-08-25T03:21:19 [31066] #10 0x00007f865ec2e71a in wsrep_abort_thd (bf_thd_ptr=0x7f864d016070, victim_thd_ptr=0x7f8632696070, signal=1 '\001') at /data/src/10.1/sql/wsrep_thd.cc:609
      # 2016-08-25T03:21:19 [31066] #11 0x00007f865ec1c99c in wsrep_grant_mdl_exception (requestor_ctx=0x7f864d016168, ticket=0x7f861bd3f0c0, key=0x7f864d104490) at /data/src/10.1/sql/wsrep_mysqld.cc:1743
      # 2016-08-25T03:21:19 [31066] #12 0x00007f865ebac5c2 in MDL_lock::Ticket_list::add_ticket (this=0x7f864d1046b0, ticket=0x7f864d0af0c0) at /data/src/10.1/sql/mdl.cc:1183
      # 2016-08-25T03:21:19 [31066] #13 0x00007f865ebad7bf in MDL_context::acquire_lock (this=0x7f864d016168, mdl_request=0x7f865f9c2380, lock_wait_timeout=31536000) at /data/src/10.1/sql/mdl.cc:2022
      # 2016-08-25T03:21:19 [31066] #14 0x00007f865ebae138 in MDL_context::upgrade_shared_lock (this=0x7f864d016168, mdl_ticket=0x7f864d0af040, new_type=MDL_EXCLUSIVE, lock_wait_timeout=31536000) at /data/src/10.1/sql/mdl.cc:2250
      # 2016-08-25T03:21:19 [31066] #15 0x00007f865ea08559 in wait_while_table_is_used (thd=0x7f864d016070, table=0x7f864d0b4870, function=HA_EXTRA_FORCE_REOPEN) at /data/src/10.1/sql/sql_base.cc:1877
      # 2016-08-25T03:21:19 [31066] #16 0x00007f865eb3577b in simple_rename_or_index_change (thd=0x7f864d016070, table_list=0x7f864d0550f8, keys_onoff=Alter_info::ENABLE, alter_ctx=0x7f865f9c3380) at /data/src/10.1/sql/sql_table.cc:8178
      # 2016-08-25T03:21:19 [31066] #17 0x00007f865eb368f4 in mysql_alter_table (thd=0x7f864d016070, new_db=0x7f864d0556e8 "test", new_name=0x0, create_info=0x7f865f9c3f70, table_list=0x7f864d0550f8, alter_info=0x7f865f9c3ee0, order_num=0, order=0x0, ignore=false) at /data/src/10.1/sql/sql_table.cc:8580
      # 2016-08-25T03:21:19 [31066] #18 0x00007f865eba68ec in Sql_cmd_alter_table::execute (this=0x7f864d0556f0, thd=0x7f864d016070) at /data/src/10.1/sql/sql_alter.cc:325
      # 2016-08-25T03:21:19 [31066] #19 0x00007f865ea7a7ad in mysql_execute_command (thd=0x7f864d016070) at /data/src/10.1/sql/sql_parse.cc:5669
      # 2016-08-25T03:21:19 [31066] #20 0x00007f865ea7eaba in mysql_parse (thd=0x7f864d016070, rawbuf=0x7f864d06e7fb "ALTER TABLE `t2` ENABLE KEYS", length=28, parser_state=0x7f865f9c51b0) at /data/src/10.1/sql/sql_parse.cc:7314
      # 2016-08-25T03:21:19 [31066] #21 0x00007f865ed9f0f0 in Query_log_event::do_apply_event (this=0x7f86567d0a70, rgi=0x7f864d07d800, query_arg=0x7f864d06e7fb "ALTER TABLE `t2` ENABLE KEYS", q_len_arg=28) at /data/src/10.1/sql/log_event.cc:4456
      # 2016-08-25T03:21:19 [31066] #22 0x00007f865ed9e279 in Query_log_event::do_apply_event (this=0x7f86567d0a70, rgi=0x7f864d07d800) at /data/src/10.1/sql/log_event.cc:4168
      # 2016-08-25T03:21:19 [31066] #23 0x00007f865e9db52f in Log_event::apply_event (this=0x7f86567d0a70, rgi=0x7f864d07d800) at /data/src/10.1/sql/log_event.h:1343
      # 2016-08-25T03:21:19 [31066] #24 0x00007f865ec2b245 in wsrep_apply_events (thd=0x7f864d016070, events_buf=0x7f8652f26832, buf_len=0) at /data/src/10.1/sql/wsrep_applier.cc:168
      # 2016-08-25T03:21:19 [31066] #25 0x00007f865ec2b953 in wsrep_apply_cb (ctx=0x7f864d016070, buf=0x7f8652f26832, buf_len=336, flags=5, meta=0x7f865f9c6a20) at /data/src/10.1/sql/wsrep_applier.cc:265
      # 2016-08-25T03:21:19 [31066] #26 0x00007f865390e6d3 in galera::TrxHandle::apply (this=this@entry=0x7f864d104700, recv_ctx=recv_ctx@entry=0x7f864d016070, apply_cb=apply_cb@entry=0x7f865ec2b664 <wsrep_apply_cb(void*, void const*, size_t, uint32_t, wsrep_trx_meta_t const*)>, meta=...) at galera/src/trx_handle.cpp:315
      # 2016-08-25T03:21:19 [31066] #27 0x00007f8653945b93 in apply_trx_ws (recv_ctx=recv_ctx@entry=0x7f864d016070, apply_cb=0x7f865ec2b664 <wsrep_apply_cb(void*, void const*, size_t, uint32_t, wsrep_trx_meta_t const*)>, commit_cb=0x7f865ec2bd53 <wsrep_commit_cb(void*, uint32_t, wsrep_trx_meta_t const*, wsrep_bool_t*, bool)>, trx=..., meta=...) at galera/src/replicator_smm.cpp:39
      # 2016-08-25T03:21:19 [31066] #28 0x00007f8653947a96 in galera::ReplicatorSMM::apply_trx (this=this@entry=0x7f865b8a8c00, recv_ctx=recv_ctx@entry=0x7f864d016070, trx=trx@entry=0x7f864d104700) at galera/src/replicator_smm.cpp:433
      # 2016-08-25T03:21:19 [31066] #29 0x00007f86539496a0 in galera::ReplicatorSMM::process_trx (this=0x7f865b8a8c00, recv_ctx=0x7f864d016070, trx=0x7f864d104700) at galera/src/replicator_smm.cpp:1224
      # 2016-08-25T03:21:19 [31066] #30 0x00007f8653929493 in galera::GcsActionSource::dispatch (this=this@entry=0x7f865b8a9250, recv_ctx=recv_ctx@entry=0x7f864d016070, act=..., exit_loop=@0x7f865f9c7660: false) at galera/src/gcs_action_source.cpp:116
      # 2016-08-25T03:21:19 [31066] #31 0x00007f865392a85b in galera::GcsActionSource::process (this=0x7f865b8a9250, recv_ctx=0x7f864d016070, exit_loop=@0x7f865f9c7660: false) at galera/src/gcs_action_source.cpp:181
      # 2016-08-25T03:21:19 [31066] #32 0x00007f865394a8ed in galera::ReplicatorSMM::async_recv (this=0x7f865b8a8c00, recv_ctx=0x7f864d016070) at galera/src/replicator_smm.cpp:355
      # 2016-08-25T03:21:19 [31066] #33 0x00007f865395b813 in galera_recv (gh=<optimized out>, recv_ctx=<optimized out>) at galera/src/wsrep_provider.cpp:239
      # 2016-08-25T03:21:19 [31066] #34 0x00007f865ec2d504 in wsrep_replication_process (thd=0x7f864d016070) at /data/src/10.1/sql/wsrep_thd.cc:315
      # 2016-08-25T03:21:19 [31066] #35 0x00007f865ec1cf04 in start_wsrep_THD (arg=0x7f865ec2d43d <wsrep_replication_process(THD*)>) at /data/src/10.1/sql/wsrep_mysqld.cc:1841
      # 2016-08-25T03:21:19 [31066] #36 0x00007f865e16d0a4 in start_thread (arg=0x7f865f9c8b00) at pthread_create.c:309
      # 2016-08-25T03:21:19 [31066] #37 0x00007f865c32587d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
      

      perl ./runall-new.pl --galera=mmm --basedir=/data/bld/10.1 --duration=21600 --threads=1 --queries=100M --vardir=/data/logs/ --mysqld=--wsrep-provider=/data/releases/galera-25.3.14-glibc_214-x86_64/usr/lib/libgalera_smm.so --mysqld=--wsrep_provider_options="gcache.size=8M\;gcache.page_size=8M" --mysqld=--performance-schema=1 --grammar=oltp-transactional.yy --gendata=oltp.zz  --engine=InnoDB --rows=1000,1000 --skip-shutdown
      

      In the grammar, SET debug... appears to be important, even though there is no corresponding debug name in the code.

      query:
      #    trunc |
          set_debug | unset_debug |
          dml | dml | dml | dml | dml | dml | dml |
          START TRANSACTION | COMMIT ;
       
      trunc:
          TRUNCATE TABLE performance_schema.events_statements_summary_by_digest;;
       
      dml:
          update |
          delete |
          insert
      ;
       
      set_debug:
          SET debug_dbug = '+d,make_it_replay';
          
      unset_debug:
          SET debug_dbug = '-d,make_it_replay';
       
       
       
      insert:
          INSERT IGNORE INTO _table ( _field_pk ) VALUES ( NULL ) |
          INSERT IGNORE INTO _table ( _field_int ) VALUES ( _smallint_unsigned ) |
          INSERT IGNORE INTO _table ( _field_char ) VALUES ( _string ) |
          INSERT IGNORE INTO _table ( _field_pk, _field_int)  VALUES ( NULL, _int ) |
          INSERT IGNORE INTO _table ( _field_pk, _field_char ) VALUES ( NULL, _string ) 
      ;
       
      update:
          index_update |
          non_index_update
      ;
       
      delete:
          DELETE FROM _table WHERE _field_pk = _smallint_unsigned ;
       
      index_update:
          UPDATE IGNORE _table SET _field_int_indexed = _field_int_indexed + 1 WHERE _field_pk = _smallint_unsigned ;
       
      # It relies on char fields being unindexed. 
      # If char fields happen to be indexed in the table spec, then this update can be indexed as well. No big harm though. 
      non_index_update:
          UPDATE _table SET _field_char = _string WHERE _field_pk = _smallint_unsigned ;
       
      select:
          point_select |
          simple_range |
          sum_range |
          order_range |
          distinct_range 
      ;
       
      point_select:
          SELECT _field FROM _table WHERE _field_pk = _smallint_unsigned ;
       
      simple_range:
          SELECT _field FROM _table WHERE _field_pk BETWEEN _smallint_unsigned AND _smallint_unsigned ;
       
      sum_range:
          SELECT SUM(_field) FROM _table WHERE _field_pk BETWEEN _smallint_unsigned AND _smallint_unsigned ;
       
      order_range:
          SELECT _field FROM _table WHERE _field_pk BETWEEN _smallint_unsigned AND _smallint_unsigned ORDER BY _field ;
       
      distinct_range:
          SELECT DISTINCT _field FROM _table WHERE _field_pk BETWEEN _smallint_unsigned AND _smallint_unsigned ORDER BY _field ;
      

      $tables = {
              pk => [ undef ],
              names => [  't1', 't2', 't3', 't4', 't5', 't6', 't7', 't8', 't9', 't10', 
                          't11', 't12', 't13', 't14', 't15', 't16', 't17', 't18', 't19', 't20', 
                          't21', 't22', 't23', 't24', 't25', 't26', 't27', 't28', 't29', 't30',
                          't31', 't32', 't33', 't34', 't35', 't36', 't37', 't38', 't39', 't40',
                          't41', 't42', 't43', 't44', 't45', 't46', 't47', 't48', 't49', 't50'
              ],
              rows => [ 1000, 1000, 1000, 1000, 1000 ]
      };
       
      $fields = {
              sqls => [
                  "`id` int(10) unsigned NOT NULL auto_increment",
                  "`k` int(10) unsigned NOT NULL default '0'",
                  "`c` char(120) NOT NULL default ''",
                  "`pad` char(60) NOT NULL default ''",
      	    "`f` text NOT NULL default ''"
              ],
              index_sqls => [
                  "PRIMARY KEY (`id`)",
                  "KEY `k` (`k`)"
              ],
              types => [ undef ],
              indexes => [ undef ]
      };
       
      $data = {
              numbers => [ 'digit', 'null', undef ],
              strings => [ 'letter', 'english', 'char(12)' ]
      }
      

      Attachments

        Activity

          People

            Unassigned Unassigned
            elenst Elena Stepanova
            Votes:
            0 Vote for this issue
            Watchers:
            1 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.