[PS8QA] Assertion failure: rem0rec.cc:392:len <= col->len...
General
Escalation
General
Escalation
Description
Environment
None
has to be done after
Smart Checklist
Activity
Show:

Peter Schwaller December 17, 2018 at 1:02 PM
Deemed blocker during 8.0 triage meeting.

roel.vandepaar December 15, 2018 at 2:36 AM
Thank you @Laurynas Biveinis & @Zsolt Parragi.

Laurynas Biveinis December 14, 2018 at 2:04 PM
VARBINARY(>1), no ROW_FORMAT=COMPRESSED required, and Zsolt's analysis indicate that this is indeed serious

roel.vandepaar December 14, 2018 at 6:01 AM
ROW_FORMAT=COMPRESSED
Not required

Satya Bodapati December 14, 2018 at 5:59 AM
The core observation here is "VARBINARY" datatype. It looks similar to me.
Blocker or not, I will leave it to management
Done
Details
Details
Assignee

Reporter

Time tracking
1d 40m logged
Fix versions
Priority

Smart Checklist
Open Smart Checklist
Smart Checklist

Open Smart Checklist
Created November 16, 2018 at 1:08 AM
Updated March 6, 2024 at 12:41 PM
Resolved December 17, 2018 at 3:07 PM
CREATE DATABASE test; USE test; CREATE TABLE t1(a VARBINARY(1)COLUMN_FORMAT COMPRESSED) ROW_FORMAT=COMPRESSED; ALTER TABLE t1 KEY_BLOCK_SIZE=0; INSERT INTO t1 VALUES(0);
Leads to
2018-11-16T01:05:54.563002Z 8 [ERROR] [MY-000000] [InnoDB] InnoDB: Assertion failure: rem0rec.cc:392:len <= col->len || ((col->mtype) == 5 || (col->mtype) == 16 || (col->mtype) == 14) || (((col->mtype) == 15 || (col->mtype) == 16) && len == 2 * 2 * sizeof(double)) || ((col->mtype == 1 || col->mtype == 4 || col->mtype == 12) && (col->len == 0 || len <= col->len + prtype_get_compression_extra(col->prtype))) InnoDB: thread 140564046489344
Core was generated by `/sda/PS131118-percona-server-8.0.12-1-linux-x86_64-debug/bin/mysqld --no-defaul'. Program terminated with signal SIGABRT, Aborted. #0 __pthread_kill (threadid=<optimized out>, signo=6) at ../sysdeps/unix/sysv/linux/pthread_kill.c:57 [Current thread is 1 (Thread 0x7fd79e0f2700 (LWP 2288))] (gdb) bt #0 __pthread_kill (threadid=<optimized out>, signo=6) at ../sysdeps/unix/sysv/linux/pthread_kill.c:57 #1 0x000055a99dacbc17 in my_write_core (sig=6) at /git/PS-8.0-trunk_dbg/mysys/stacktrace.cc:278 #2 0x000055a99ca3c48e in handle_fatal_signal (sig=6) at /git/PS-8.0-trunk_dbg/sql/signal_handler.cc:254 #3 <signal handler called> #4 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51 #5 0x00007fd79e133801 in __GI_abort () at abort.c:79 #6 0x000055a99df8a911 in ut_dbg_assertion_failed ( expr=0x55a99f1aa618 "len <= col->len || ((col->mtype) == 5 || (col->mtype) == 16 || (col->mtype) == 14) || (((col->mtype) == 15 || (col->mtype) == 16) && len == 2 * 2 * sizeof(double)) || ((col->mtype == 1 || col->mtype ="..., file=0x55a99f1aa430 "/git/PS-8.0-trunk_dbg/storage/innobase/rem/rem0rec.cc", line=392) at /git/PS-8.0-trunk_dbg/storage/innobase/ut/ut0dbg.cc:90 #7 0x000055a99de4bfb9 in rec_get_converted_size_comp_prefix_low (index=0x7fd76ac5d9b8, fields=0x7fd76adcac08, n_fields=4, v_entry=0x0, extra=0x0, status=0x7fd79e0ee450, temp=false) at /git/PS-8.0-trunk_dbg/storage/innobase/rem/rem0rec.cc:387 #8 0x000055a99de4c767 in rec_get_converted_size_comp (index=0x7fd76ac5d9b8, status=0, fields=0x7fd76adcac08, n_fields=4, extra=0x0) at /git/PS-8.0-trunk_dbg/storage/innobase/rem/rem0rec.cc:527 #9 0x000055a99dfd248f in rec_get_converted_size (index=0x7fd76ac5d9b8, dtuple=0x7fd76adcabb8, n_ext=0) at /git/PS-8.0-trunk_dbg/storage/innobase/include/rem0rec.ic:1063 #10 0x000055a99dfde2da in btr_cur_optimistic_insert (flags=0, cursor=0x7fd79e0ee840, offsets=0x7fd79e0ee7e8, heap=0x7fd79e0ee7e0, entry=0x7fd76adcabb8, rec=0x7fd79e0ee7f0, big_rec=0x7fd79e0ee7d8, n_ext=0, thr=0x7fd76ae5e9c0, mtr=0x7fd79e0eedf0) at /git/PS-8.0-trunk_dbg/storage/innobase/btr/btr0cur.cc:2787 #11 0x000055a99de77868 in row_ins_clust_index_entry_low (flags=0, mode=2, index=0x7fd76ac5d9b8, n_uniq=0, entry=0x7fd76adcabb8, n_ext=0, thr=0x7fd76ae5e9c0, dup_chk_only=false) at /git/PS-8.0-trunk_dbg/storage/innobase/row/row0ins.cc:2523 #12 0x000055a99de7985e in row_ins_clust_index_entry (index=0x7fd76ac5d9b8, entry=0x7fd76adcabb8, thr=0x7fd76ae5e9c0, n_ext=0, dup_chk_only=false) at /git/PS-8.0-trunk_dbg/storage/innobase/row/row0ins.cc:3138 #13 0x000055a99de79d71 in row_ins_index_entry (index=0x7fd76ac5d9b8, entry=0x7fd76adcabb8, thr=0x7fd76ae5e9c0) at /git/PS-8.0-trunk_dbg/storage/innobase/row/row0ins.cc:3269 #14 0x000055a99de7a37e in row_ins_index_entry_step (node=0x7fd76ae5e6e0, thr=0x7fd76ae5e9c0) at /git/PS-8.0-trunk_dbg/storage/innobase/row/row0ins.cc:3403 #15 0x000055a99de7a72c in row_ins (node=0x7fd76ae5e6e0, thr=0x7fd76ae5e9c0) at /git/PS-8.0-trunk_dbg/storage/innobase/row/row0ins.cc:3525 #16 0x000055a99de7ad68 in row_ins_step (thr=0x7fd76ae5e9c0) at /git/PS-8.0-trunk_dbg/storage/innobase/row/row0ins.cc:3691 #17 0x000055a99de9a40a in row_insert_for_mysql_using_ins_graph (mysql_rec=0x7fd76acb2a28 "\376\001\060uf.h", prebuilt=0x7fd76ae5e0b8) at /git/PS-8.0-trunk_dbg/storage/innobase/row/row0mysql.cc:2032 #18 0x000055a99de9aa71 in row_insert_for_mysql (mysql_rec=0x7fd76acb2a28 "\376\001\060uf.h", prebuilt=0x7fd76ae5e0b8) at /git/PS-8.0-trunk_dbg/storage/innobase/row/row0mysql.cc:2161 #19 0x000055a99dcb97a2 in ha_innobase::write_row (this=0x7fd76ae97028, record=0x7fd76acb2a28 "\376\001\060uf.h") at /git/PS-8.0-trunk_dbg/storage/innobase/handler/ha_innodb.cc:8313 #20 0x000055a99c503c9d in handler::ha_write_row (this=0x7fd76ae97028, buf=0x7fd76acb2a28 "\376\001\060uf.h") at /git/PS-8.0-trunk_dbg/sql/handler.cc:7828 #21 0x000055a99c82bc6b in write_record (thd=0x7fd76ac24000, table=0x7fd76ac40a20, info=0x7fd79e0efc90, update=0x7fd79e0efd10) at /git/PS-8.0-trunk_dbg/sql/sql_insert.cc:1841 #22 0x000055a99c828233 in Sql_cmd_insert_values::execute_inner (this=0x7fd76ac71140, thd=0x7fd76ac24000) at /git/PS-8.0-trunk_dbg/sql/sql_insert.cc:614 #23 0x000055a99c8e12f3 in Sql_cmd_dml::execute (this=0x7fd76ac71140, thd=0x7fd76ac24000) at /git/PS-8.0-trunk_dbg/sql/sql_select.cc:555 #24 0x000055a99c87dac6 in mysql_execute_command (thd=0x7fd76ac24000, first_level=true) at /git/PS-8.0-trunk_dbg/sql/sql_parse.cc:3375 #25 0x000055a99c883a07 in mysql_parse (thd=0x7fd76ac24000, parser_state=0x7fd79e0f12a0, update_userstat=false) at /git/PS-8.0-trunk_dbg/sql/sql_parse.cc:5143 #26 0x000055a99c878b4f in dispatch_command (thd=0x7fd76ac24000, com_data=0x7fd79e0f1c70, command=COM_QUERY) at /git/PS-8.0-trunk_dbg/sql/sql_parse.cc:1654 #27 0x000055a99c87733e in do_command (thd=0x7fd76ac24000) at /git/PS-8.0-trunk_dbg/sql/sql_parse.cc:1262 #28 0x000055a99ca28bf0 in handle_connection (arg=0x7fd74cf42a30) at /git/PS-8.0-trunk_dbg/sql/conn_handler/connection_handler_per_thread.cc:317 #29 0x000055a99dbbcf20 in pfs_spawn_thread (arg=0x7fd74ccbb120) at /git/PS-8.0-trunk_dbg/storage/perfschema/pfs.cc:2836 #30 0x00007fd79fd376db in start_thread (arg=0x7fd79e0f2700) at pthread_create.c:463 #31 0x00007fd79e21488f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
On PS 8.0.12 but not on PS 5.7.23 and is not usable on upstream.
Note that I have seen similar assertions with some regularity. https://bugs.mysql.com/bug.php?id=88279 (fixed) looks somewhat similar.