[MDEV-16980] Wrongly set tablename len while opening the table for purge thread Created: 2018-08-14  Updated: 2018-10-09  Resolved: 2018-10-08

Status: Closed
Project: MariaDB Server
Component/s: Partitioning, Storage Engine - InnoDB, Virtual Columns
Affects Version/s: 10.3
Fix Version/s: 10.3.11, 10.2.19

Type: Bug Priority: Major
Reporter: Elena Stepanova Assignee: Thirunarayanan Balathandayuthapani
Resolution: Fixed Votes: 0
Labels: affects-tests


 Description   

Note: Run with --repeat=N. For me, N=5 has always been enough, but it can vary.

--source include/have_innodb.inc
--source include/have_partition.inc
 
CREATE TABLE t1 ( 
  pk SERIAL,
  d DATE,
  vd DATE AS (d) VIRTUAL,
  PRIMARY KEY(pk),
  KEY (vd)
) ENGINE=InnoDB PARTITION BY HASH(pk) PARTITIONS 2;
 
INSERT IGNORE INTO t1 (d) VALUES ('2015-04-14');
SET sql_mode= '';
REPLACE INTO t1 SELECT * FROM t1;
 
# Cleanup
DROP TABLE t1;

10.3 5e7496e2eaf0

mysqld: /data/src/10.3/sql/table.h:1949: void TABLE_LIST::init_one_table(const LEX_CSTRING*, const LEX_CSTRING*, const LEX_CSTRING*, thr_lock_type): Assertion `!table_name_arg->str || strlen(table_name_arg->str) == table_name_arg->length' failed.
180814 23:32:33 [ERROR] mysqld got signal 6 ;
 
#7  0x00007fa998e94ee2 in __assert_fail () from /lib/x86_64-linux-gnu/libc.so.6
#8  0x000055ef8d9ce98c in TABLE_LIST::init_one_table (this=0x7fa96c00d2f8, db_arg=0x7fa97d7f7fb0, table_name_arg=0x7fa97d7f7fc0, alias_arg=0x0, lock_type_arg=TL_READ) at /data/src/10.3/sql/table.h:1949
#9  0x000055ef8da40011 in open_purge_table (thd=0x7fa96c000b00, db=0x7fa97d7f80a0 "test", dblen=4, tb=0x7fa97d7f8240 "t1", tblen=7) at /data/src/10.3/sql/sql_class.cc:4666
#10 0x000055ef8e0c672b in innodb_acquire_mdl (thd=0x7fa96c000b00, table=0x7fa9400a9b08) at /data/src/10.3/storage/innobase/handler/ha_innodb.cc:20738
#11 0x000055ef8e0c6926 in innodb_find_table_for_vc (thd=0x7fa96c000b00, table=0x7fa9400a9b08) at /data/src/10.3/storage/innobase/handler/ha_innodb.cc:20793
#12 0x000055ef8e0c6e99 in innobase_allocate_row_for_vcol (thd=0x7fa96c000b00, index=0x7fa94007a138, heap=0x7fa97d7f8670, table=0x7fa97d7f8680, record=0x7fa97d7f8688, storage=0x7fa97d7f8678) at /data/src/10.3/storage/innobase/handler/ha_innodb.cc:20947
#13 0x000055ef8e272324 in row_vers_build_clust_v_col (row=0x7fa96c0145f0, clust_index=0x7fa940078878, index=0x7fa94007a138, heap=0x7fa96c014520, vcol_info=0x55ef910d0208) at /data/src/10.3/storage/innobase/row/row0vers.cc:465
#14 0x000055ef8e2734b6 in row_vers_old_has_index_entry (also_curr=true, rec=0x7fa98e95807e "", mtr=0x7fa97d7f8ab0, index=0x7fa94007a138, ientry=0x7fa96c014038, roll_ptr=1407374904066874, trx_id=0, vcol_info=0x55ef910d0208) at /data/src/10.3/storage/innobase/row/row0vers.cc:959
#15 0x000055ef8e227cfe in row_purge_poss_sec (node=0x55ef910d0068, index=0x7fa94007a138, entry=0x7fa96c014038, sec_pcur=0x7fa97d7f9050, sec_mtr=0x7fa97d7f92b0, is_tree=false) at /data/src/10.3/storage/innobase/row/row0purge.cc:346
#16 0x000055ef8e2289d1 in row_purge_remove_sec_if_poss_leaf (node=0x55ef910d0068, index=0x7fa94007a138, entry=0x7fa96c014038) at /data/src/10.3/storage/innobase/row/row0purge.cc:597
#17 0x000055ef8e228eb9 in row_purge_remove_sec_if_poss (node=0x55ef910d0068, index=0x7fa94007a138, entry=0x7fa96c014038) at /data/src/10.3/storage/innobase/row/row0purge.cc:710
#18 0x000055ef8e2290c6 in row_purge_del_mark (node=0x55ef910d0068) at /data/src/10.3/storage/innobase/row/row0purge.cc:784
#19 0x000055ef8e22a5df in row_purge_record_func (node=0x55ef910d0068, undo_rec=0x55ef910d0618 "", thr=0x55ef910cfe98, updated_extern=false) at /data/src/10.3/storage/innobase/row/row0purge.cc:1178
#20 0x000055ef8e22a91c in row_purge (node=0x55ef910d0068, undo_rec=0x55ef910d0618 "", thr=0x55ef910cfe98) at /data/src/10.3/storage/innobase/row/row0purge.cc:1245
#21 0x000055ef8e22acca in row_purge_step (thr=0x55ef910cfe98) at /data/src/10.3/storage/innobase/row/row0purge.cc:1331
#22 0x000055ef8e1ae79c in que_thr_step (thr=0x55ef910cfe98) at /data/src/10.3/storage/innobase/que/que0que.cc:1046
#23 0x000055ef8e1ae9cf in que_run_threads_low (thr=0x55ef910cfe98) at /data/src/10.3/storage/innobase/que/que0que.cc:1108
#24 0x000055ef8e1aebc0 in que_run_threads (thr=0x55ef910cfe98) at /data/src/10.3/storage/innobase/que/que0que.cc:1148
#25 0x000055ef8e27bc01 in srv_task_execute () at /data/src/10.3/storage/innobase/srv/srv0srv.cc:2437
#26 0x000055ef8e27bda6 in srv_worker_thread (arg=0x0) at /data/src/10.3/storage/innobase/srv/srv0srv.cc:2485
#27 0x00007fa99ab6b494 in start_thread (arg=0x7fa97d7fa700) at pthread_create.c:333
#28 0x00007fa998f5193f in clone () from /lib/x86_64-linux-gnu/libc.so.6

Not reproducible with the provided test case on 10.2.
No visible (immediate) effect on a non-debug build.



 Comments   
Comment by Thirunarayanan Balathandayuthapani [ 2018-10-08 ]

Approved by Marko via IM

Generated at Thu Feb 08 08:33:00 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.