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

Assertion `len <= col->len || ((col->mtype) == 5 || (col->mtype) == 14) || (col->len == 0 && col->mtype == 1)' failed in rec_get_converted_size_comp_prefix_low

    XMLWordPrintable

Details

    Description

      The problem was found when RQG testing with table_stress.yy on builds compiled with debug.
      10.3 d4144c8e010b61a440d422d0f1ca5b066532d173 2019-01-21
      10.4 382115b99297ceaa4c3067f79efb5c2515013be5  2019-01-21
      An actual 10.2 does not show that problem.
       
      Version: '10.3.13-MariaDB-debug-log'  socket: 'bld_debug/mysql-test/var/tmp/mysqld.1.sock'  port: 16000  Source distribution
      mysqld: storage/innobase/rem/rem0rec.cc:1131: ulint rec_get_converted_size_comp_prefix_low(const dict_index_t*, const dfield_t*, ulint, ulint*, rec_comp_status_t, bool): Assertion `len <= col->len || ((col->mtype) == 5 || (col->mtype) == 14) || (col->len == 0 && col->mtype == 1)' failed.
      190122 11:15:55 [ERROR] mysqld got signal 6 ;
      ...
      Query (0x7f7cf8012db0): ROLLBACK /* E_R Thread1 QNO 122 CON_ID 15 */
      Connection ID (thread ID): 10
      Status: NOT_KILLED
      ...
      #3  <signal handler called>
      #4  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
      #5  0x00007f7d586e0f5d in __GI_abort () at abort.c:90
      #6  0x00007f7d586d6f17 in __assert_fail_base (fmt=<optimized out>, assertion=assertion@entry=0x555c1bc96d18 "len <= col->len || ((col->mtype) == 5 || (col->mtype) == 14) || (col->len == 0 && col->mtype == 1)", file=file@entry=0x555c1bc96220 "storage/innobase/rem/rem0rec.cc", line=line@entry=1131, function=function@entry=0x555c1bc987e0 <rec_get_converted_size_comp_prefix_low(dict_index_t const*, dfield_t const*, unsigned long, unsigned long*, rec_comp_status_t, bool)::__PRETTY_FUNCTION__> "ulint rec_get_converted_size_comp_prefix_low(const dict_index_t*, const dfield_t*, ulint, ulint*, rec_comp_status_t, bool)") at assert.c:92
      #7  0x00007f7d586d6fc2 in __GI___assert_fail (assertion=0x555c1bc96d18 "len <= col->len || ((col->mtype) == 5 || (col->mtype) == 14) || (col->len == 0 && col->mtype == 1)", file=0x555c1bc96220 "storage/innobase/rem/rem0rec.cc", line=1131, function=0x555c1bc987e0 <rec_get_converted_size_comp_prefix_low(dict_index_t const*, dfield_t const*, unsigned long, unsigned long*, rec_comp_status_t, bool)::__PRETTY_FUNCTION__> "ulint rec_get_converted_size_comp_prefix_low(const dict_index_t*, const dfield_t*, ulint, ulint*, rec_comp_status_t, bool)") at assert.c:101
      #8  0x0000555c1b508645 in rec_get_converted_size_comp_prefix_low (index=0x7f7cec03b148, fields=0x7f7cf802e170, n_fields=3, extra=0x7f7d519cdc60, status=REC_STATUS_ORDINARY, temp=true) at storage/innobase/rem/rem0rec.cc:1131
      #9  0x0000555c1b50a2f7 in rec_get_converted_size_temp (index=0x7f7cec03b148, fields=0x7f7cf802e170, n_fields=3, extra=0x7f7d519cdc60, status=REC_STATUS_ORDINARY) at storage/innobase/rem/rem0rec.cc:1676
      #10 0x0000555c1b564e01 in row_log_table_delete (rec=0x7f7d523040b4 "", index=0x7f7cec02e528, offsets=0x7f7cf8036fe8, sys=0x0) at storage/innobase/row/row0log.cc:742
      #11 0x0000555c1b7a2ce8 in row_undo_ins_remove_clust_rec (node=0x7f7cf8036118) at storage/innobase/row/row0uins.cc:120
      #12 0x0000555c1b7a4449 in row_undo_ins (node=0x7f7cf8036118, thr=0x7f7cf80206b8) at storage/innobase/row/row0uins.cc:612
      #13 0x0000555c1b5a6b96 in row_undo (node=0x7f7cf8036118, thr=0x7f7cf80206b8) at storage/innobase/row/row0undo.cc:301
      #14 0x0000555c1b5a6df8 in row_undo_step (thr=0x7f7cf80206b8) at storage/innobase/row/row0undo.cc:360
      #15 0x0000555c1b4fa8c7 in que_thr_step (thr=0x7f7cf80206b8) at storage/innobase/que/que0que.cc:1040
      #16 0x0000555c1b4fab1b in que_run_threads_low (thr=0x7f7cf80206b8) at storage/innobase/que/que0que.cc:1104
      #17 0x0000555c1b4fad0d in que_run_threads (thr=0x7f7cf80206b8) at storage/innobase/que/que0que.cc:1144
      #18 0x0000555c1b605ef0 in trx_rollback_to_savepoint_low (trx=0x7f7d525111c8, savept=0x0) at storage/innobase/trx/trx0roll.cc:141
      #19 0x0000555c1b6062e0 in trx_rollback_for_mysql_low (trx=0x7f7d525111c8) at storage/innobase/trx/trx0roll.cc:210
      #20 0x0000555c1b606633 in trx_rollback_for_mysql (trx=0x7f7d525111c8) at storage/innobase/trx/trx0roll.cc:236
      #21 0x0000555c1b3f0760 in innobase_rollback (hton=0x555c1e8aff48, thd=0x7f7cf8000ce8, rollback_trx=true) at storage/innobase/handler/ha_innodb.cc:4720
      #22 0x0000555c1b1e6171 in ha_rollback_trans (thd=0x7f7cf8000ce8, all=true) at sql/handler.cc:1722
      #23 0x0000555c1b062840 in trans_rollback (thd=0x7f7cf8000ce8) at sql/transaction.cc:423
      #24 0x0000555c1aef525a in mysql_execute_command (thd=0x7f7cf8000ce8) at sql/sql_parse.cc:5832
      #25 0x0000555c1aefbee7 in mysql_parse (thd=0x7f7cf8000ce8, rawbuf=0x7f7cf8012db0 "ROLLBACK /* E_R Thread1 QNO 122 CON_ID 15 */", length=44, parser_state=0x7f7d519cf5e0, is_com_multi=false, is_next_command=false) at sql/sql_parse.cc:8092
      #26 0x0000555c1aee8dec in dispatch_command (command=COM_QUERY, thd=0x7f7cf8000ce8, packet=0x7f7cf800aa99 "ROLLBACK /* E_R Thread1 QNO 122 CON_ID 15 */ ", packet_length=45, is_com_multi=false, is_next_command=false) at sql/sql_parse.cc:1850
      #27 0x0000555c1aee784d in do_command (thd=0x7f7cf8000ce8) at sql/sql_parse.cc:1395
      #28 0x0000555c1b04e5f8 in do_handle_one_connection (connect=0x555c1eb7f798) at sql/sql_connect.cc:1402
      #29 0x0000555c1b04e36f in handle_one_connection (arg=0x555c1eb7f798) at sql/sql_connect.cc:1308
      #30 0x0000555c1b92d173 in pfs_spawn_thread (arg=0x555c1eb03478) at storage/perfschema/pfs.cc:1862
      #31 0x00007f7d593827fc in start_thread (arg=0x7f7d519d0700) at pthread_create.c:465
      #32 0x00007f7d587bcb5f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
       
      The corresponding assert in 10.4 is
      mysqld: storage/innobase/rem/rem0rec.cc:1200: ulint rec_get_converted_size_comp_prefix_low(const dict_index_t*, const dfield_t*, ulint, ulint*, rec_comp_status_t, bool) [with bool mblob = false; ulint = long unsigned int]: Assertion `len <= field->col->len || ((field->col->mtype) == 5 || (field->col->mtype) == 14) || (field->col->len == 0 && field->col->mtype == 1)' failed.
      
      

      Attachments

        1. ts_13.tgz
          2 kB
        2. prt
          61 kB

        Issue Links

          Activity

            People

              thiru Thirunarayanan Balathandayuthapani
              mleich Matthias Leich
              Votes:
              0 Vote for this issue
              Watchers:
              4 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.