Details
-
Bug
-
Status: Confirmed (View Workflow)
-
Major
-
Resolution: Unresolved
-
10.4(EOL), 10.5, 10.6, 10.7(EOL), 10.8(EOL), 10.9(EOL), 10.10(EOL), 10.11, 11.4, 11.7(EOL), 11.8
Description
Note: Bugfix for MDEV-19011 is already in the main trees.
CREATE TABLE t (f bit, key (f)) ENGINE=MyISAM; |
CREATE UNIQUE INDEX ind USING HASH ON t(f); |
|
# Cleanup
|
DROP TABLE t; |
10.4 09b03ff3 |
mysqld: /data/src/10.4/storage/myisam/ha_myisam.cc:981: void ha_myisam::setup_vcols_for_repair(HA_CHECK*): Assertion `file->s->base.reclength < file->s->vreclength || !table->s->stored_fields' failed.
|
210628 18:59:51 [ERROR] mysqld got signal 6 ;
|
|
#7 0x00007f554ea80f36 in __GI___assert_fail (assertion=0x56039470ec48 "file->s->base.reclength < file->s->vreclength || !table->s->stored_fields", file=0x56039470e798 "/data/src/10.4/storage/myisam/ha_myisam.cc", line=981, function=0x56039470ec10 "void ha_myisam::setup_vcols_for_repair(HA_CHECK*)") at assert.c:101
|
#8 0x000056039419b146 in ha_myisam::setup_vcols_for_repair (this=0x7f5538046658, param=0x7f55380475f8) at /data/src/10.4/storage/myisam/ha_myisam.cc:981
|
#9 0x000056039419d6f4 in ha_myisam::enable_indexes (this=0x7f5538046658, mode=2) at /data/src/10.4/storage/myisam/ha_myisam.cc:1651
|
#10 0x000056039419de24 in ha_myisam::end_bulk_insert (this=0x7f5538046658) at /data/src/10.4/storage/myisam/ha_myisam.cc:1848
|
#11 0x0000560393a0c2ef in handler::ha_end_bulk_insert (this=0x7f5538046658) at /data/src/10.4/sql/handler.cc:4427
|
#12 0x000056039378c146 in copy_data_between_tables (thd=0x7f5538000d90, from=0x7f55380415a0, to=0x7f55380457f0, create=..., ignore=false, order_num=0, order=0x0, copied=0x7f55488ff658, deleted=0x7f55488ff660, keys_onoff=Alter_info::LEAVE_AS_IS, alter_ctx=0x7f55489010d0) at /data/src/10.4/sql/sql_table.cc:11003
|
#13 0x0000560393789c7b in mysql_alter_table (thd=0x7f5538000d90, new_db=0x7f55380148c8, new_name=0x7f55380148d8, create_info=0x7f5548901e60, table_list=0x7f55380148b0, alter_info=0x7f5548901da0, order_num=0, order=0x0, ignore=false) at /data/src/10.4/sql/sql_table.cc:10353
|
#14 0x0000560393691d74 in mysql_execute_command (thd=0x7f5538000d90) at /data/src/10.4/sql/sql_parse.cc:4242
|
#15 0x000056039369e89b in mysql_parse (thd=0x7f5538000d90, rawbuf=0x7f55380147a8 "CREATE UNIQUE INDEX ind USING HASH ON t(f)", length=42, parser_state=0x7f55489024d0, is_com_multi=false, is_next_command=false) at /data/src/10.4/sql/sql_parse.cc:7992
|
#16 0x000056039368abdb in dispatch_command (command=COM_QUERY, thd=0x7f5538000d90, packet=0x7f553800ac01 "", packet_length=42, is_com_multi=false, is_next_command=false) at /data/src/10.4/sql/sql_parse.cc:1857
|
#17 0x0000560393689441 in do_command (thd=0x7f5538000d90) at /data/src/10.4/sql/sql_parse.cc:1373
|
#18 0x000056039381a962 in do_handle_one_connection (connect=0x560397666f20) at /data/src/10.4/sql/sql_connect.cc:1412
|
#19 0x000056039381a6ab in handle_one_connection (arg=0x560397666f20) at /data/src/10.4/sql/sql_connect.cc:1316
|
#20 0x000056039424719c in pfs_spawn_thread (arg=0x56039763fd20) at /data/src/10.4/storage/perfschema/pfs.cc:1869
|
#21 0x00007f554ef99609 in start_thread (arg=<optimized out>) at pthread_create.c:477
|
#22 0x00007f554eb6c293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
|
Not reproducible on 10.3, apparently related to MDEV-371.
Not reproducible with INT instead of BIT, I didn't check other data types.
No obvious problems with InnoDB instead of MyISAM, or with MyISAM on a non-debug build.
If Aria is used instead, both debug and release builds produce an error:
query 'CREATE UNIQUE INDEX ind USING HASH ON t(f)' failed: 1071: Specified key was too long; max key length is 1000 bytes |
This error is not limited to BIT, happens with INT as well.
Attachments
Issue Links
- is caused by
-
MDEV-371 Unique indexes for blobs
-
- Closed
-
- relates to
-
MDEV-19011 Assertion `file->s->base.reclength < file->s->vreclength' failed in ha_myisam::setup_vcols_for_repair
-
- Closed
-
-
MDEV-28514 Assertion `file->s->base.reclength < file->s->vreclength || !table->s->stored_fields' failed in ha_myisam::setup_vcols_for_repair
-
- Confirmed
-
-- source include/have_sequence.inc
on debug it is failing after the first insert:
10.4 a736a3174a4e7c0d92a38
mysqld: /10.4/src/storage/myisam/ha_myisam.cc:981: void ha_myisam::setup_vcols_for_repair(HA_CHECK*): Assertion `file->s->base.reclength < file->s->vreclength || !table->s->stored_fields' failed.
211020 17:18:53 [ERROR] mysqld got signal 6 ;
Server version: 10.4.22-MariaDB-debug-log
stdlib/abort.c:81(__GI_abort)[0x7f44b5635859]
intl/loadmsgcat.c:509(get_sysdep_segment_value)[0x7f44b5635729]
:0(__GI___assert_fail)[0x7f44b5646f36]
myisam/ha_myisam.cc:983(ha_myisam::setup_vcols_for_repair(st_handler_check_param*))[0x55cb201c1349]
myisam/ha_myisam.cc:1653(ha_myisam::enable_indexes(unsigned int))[0x55cb201c7aaa]
myisam/ha_myisam.cc:1848(ha_myisam::end_bulk_insert())[0x55cb201c9168]
sql/handler.cc:4441(handler::ha_end_bulk_insert())[0x55cb1f0f31d9]
sql/sql_insert.cc:4038(select_insert::prepare_eof())[0x55cb1e825352]
sql/sql_insert.cc:4138(select_insert::send_eof())[0x55cb1e826de0]
sql/sql_select.cc:4413(JOIN::exec_inner())[0x55cb1e9955f6]
sql/sql_select.cc:4317(JOIN::exec())[0x55cb1e993f5e]
sql/sql_select.cc:4757(mysql_select(THD*, TABLE_LIST*, unsigned int, List<Item>&, Item*, unsigned int, st_order*, st_order*, Item*, st_order*, unsigned long long, select_result*, st_select_lex_unit*, st_select_lex*))[0x55cb1e99815e]
sql/sql_select.cc:436(handle_select(THD*, LEX*, select_result*, unsigned long))[0x55cb1e969292]
sql/sql_parse.cc:4712(mysql_execute_command(THD*))[0x55cb1e8ca5d7]
sql/sql_parse.cc:7995(mysql_parse(THD*, char*, unsigned int, Parser_state*, bool, bool))[0x55cb1e8e1415]
sql/sql_parse.cc:1860(dispatch_command(enum_server_command, THD*, char*, unsigned int, bool, bool))[0x55cb1e8b7b90]
sql/sql_parse.cc:1373(do_command(THD*))[0x55cb1e8b460d]
sql/sql_connect.cc:1420(do_handle_one_connection(CONNECT*))[0x55cb1ecae0d9]
sql/sql_connect.cc:1317(handle_one_connection)[0x55cb1ecad832]
perfschema/pfs.cc:1871(pfs_spawn_thread)[0x55cb20385679]
nptl/pthread_create.c:478(start_thread)[0x7f44b5b5d609]
x86_64/clone.S:97(__GI___clone)[0x7f44b5732293]
Query (0x62b0000a1290): INSERT INTO t SELECT 1
on non-debug I am getting:
10.6.4
211020 17:10:41 [ERROR] mysqld got signal 11 ;
Server version: 10.6.4-MariaDB
mysys/stacktrace.c:213(my_print_stacktrace)[0x556db8a8499e]
sql/signal_handler.cc:225(handle_fatal_signal)[0x556db84561d7]
sigaction.c:0(__restore_rt)[0x7f8f06b103c0]
sql/sql_plist.h:126(I_P_List<MDL_ticket, I_P_List_adapter<MDL_ticket, &MDL_ticket::next_in_context, &MDL_ticket::prev_in_context>, I_P_List_null_counter, I_P_List_no_push_back<MDL_ticket> >::remove(MDL_ticket*))[0x556db833fdc1]
sql/sql_plist.h:196(I_P_List_iterator<MDL_ticket, I_P_List<MDL_ticket, I_P_List_adapter<MDL_ticket, &MDL_ticket::next_in_context, &MDL_ticket::prev_in_context>, I_P_List_null_counter, I_P_List_no_push_back<MDL_ticket> > >::operator++(int))[0x556db833fe35]
sql/sql_class.h:5000(THD::release_transactional_locks())[0x556db8238be6]
sql/sql_parse.cc:8031(mysql_parse(THD*, char*, unsigned int, Parser_state*))[0x556db823da6b]
sql/sql_parse.cc:1955(dispatch_command(enum_server_command, THD*, char*, unsigned int, bool))[0x556db823fcd7]
sql/sql_parse.cc:1406(do_command(THD*, bool))[0x556db8241373]
sql/sql_connect.cc:1418(do_handle_one_connection(CONNECT*, bool))[0x556db8335f97]
sql/sql_connect.cc:1318(handle_one_connection)[0x556db8336234]
perfschema/pfs.cc:2204(pfs_spawn_thread)[0x556db86bd8d2]
nptl/pthread_create.c:478(start_thread)[0x7f8f06b04609]
x86_64/clone.S:97(__GI___clone)[0x7f8f066f2293]
Query (0x7f8ea8012d50): INSERT INTO t SELECT seq from seq_1_to_100