Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
10.2(EOL), 10.3(EOL)
-
None
-
ubuntu 16.04
Description
testcase from prefix_index_liftedlimit.test (https://github.com/MariaDB/server/blob/mdev-13626/mysql-test/suite/innodb_zip/t/prefix_index_liftedlimit.test)
CREATE TABLE worklog5743_key8 (
|
col_1_varchar VARCHAR (4000) , col_2_varchar VARCHAR (4000),
|
PRIMARY KEY (col_1_varchar(3072))
|
) ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=8, engine = innodb;
|
|
INSERT INTO worklog5743_key8 VALUES(REPEAT("a", 4000) , REPEAT("o", 4000));
|
INSERT INTO worklog5743_key8 VALUES(REPEAT("b", 4000) , REPEAT("p", 4000));
|
SELECT col_1_varchar = REPEAT("a", 4000) , col_2_varchar = REPEAT("o", 4000) FROM worklog5743_key8;
|
|
UPDATE worklog5743_key8 SET col_1_varchar = REPEAT("c", 4000)
|
WHERE col_1_varchar = REPEAT("a", 4000) AND col_2_varchar = REPEAT("o", 4000);
|
MariaDB [test]> CREATE TABLE worklog5743_key8 (
|
-> col_1_varchar VARCHAR (4000) , col_2_varchar VARCHAR (4000) ,
|
-> PRIMARY KEY (col_1_varchar(3072))
|
-> ) ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=8, engine = innodb;
|
Query OK, 0 rows affected (0.21 sec)
|
|
MariaDB [test]> INSERT INTO worklog5743_key8 VALUES(REPEAT("a", 4000) , REPEAT("o", 4000));
|
Query OK, 1 row affected (0.06 sec)
|
|
MariaDB [test]> INSERT INTO worklog5743_key8 VALUES(REPEAT("b", 4000) , REPEAT("p", 4000));
|
Query OK, 1 row affected (0.07 sec)
|
|
MariaDB [test]> SELECT col_1_varchar = REPEAT("a", 4000) , col_2_varchar = REPEAT("o", 4000)
|
-> FROM worklog5743_key8;
|
+------------------------------------+-----------------------------------+
|
| col_1_varchar = REPEAT("a", 4000) | col_2_varchar = REPEAT("o", 4000) |
|
+------------------------------------+-----------------------------------+
|
| 1 | 1 |
|
| 0 | 0 |
|
+------------------------------------+-----------------------------------+
|
2 rows in set (0.00 sec)
|
|
MariaDB [test]> UPDATE worklog5743_key8 SET col_1_varchar = REPEAT("c", 4000)
|
-> WHERE col_1_varchar = REPEAT("a", 4000) AND col_2_varchar = REPEAT("o", 4000);
|
ERROR 2013 (HY000): Lost connection to MySQL server during query
|
2017-11-01 11:52:03 140650219181888 [Note] /home/alice/aliska/10.2/sql/mysqld: ready for connections.
|
Version: '10.2.10-MariaDB-debug-log' socket: '/home/alice/aliska/10.2/mysql-test/var/tmp/mysqld.1.sock' port: 16000 Source distribution
|
mysqld: /home/alice/aliska/10.2/storage/innobase/include/row0row.ic:52: ulint row_get_trx_id_offset(const dict_index_t*, const ulint*): Assertion `len == 6' failed.
|
171101 11:52:03 [ERROR] mysqld got signal 6 ;
|
This could be because you hit a bug. It is also possible that this binary
|
or one of the libraries it was linked against is corrupt, improperly built,
|
or misconfigured. This error can also be caused by malfunctioning hardware.
|
|
To report this bug, see https://mariadb.com/kb/en/reporting-bugs
|
|
We will try our best to scrape up some info that will hopefully help
|
diagnose the problem, but since we have already crashed,
|
something is definitely wrong and this may fail.
|
|
Server version: 10.2.10-MariaDB-debug-log
|
key_buffer_size=1048576
|
read_buffer_size=131072
|
max_used_connections=1
|
max_threads=153
|
thread_count=7
|
It is possible that mysqld could use up to
|
key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 63152 K bytes of memory
|
Hope that's ok; if not, decrease some variables in the equation.
|
|
Thread pointer: 0x7feb58000a98
|
Attempting backtrace. You can use the following information to find out
|
where mysqld died. If you see no messages after this, something went
|
terribly wrong...
|
stack_bottom = 0x7feba42b3e70 thread_stack 0x49000
|
/home/alice/aliska/10.2/sql/mysqld(my_print_stacktrace+0x38)[0x55d27ace74df]
|
/home/alice/aliska/10.2/sql/mysqld(handle_fatal_signal+0x3a3)[0x55d27a578d62]
|
/lib/x86_64-linux-gnu/libpthread.so.0(+0x11390)[0x7febad299390]
|
/lib/x86_64-linux-gnu/libc.so.6(gsignal+0x38)[0x7febac652428]
|
mysys/stacktrace.c:267(my_print_stacktrace)[0x7febac65402a]
|
sql/signal_handler.cc:168(handle_fatal_signal)[0x7febac64abd7]
|
/lib/x86_64-linux-gnu/libc.so.6(+0x2dc82)[0x7febac64ac82]
|
include/row0row.ic:54(row_get_trx_id_offset(dict_index_t const*, unsigned long const*))[0x55d27a8a783f]
|
include/row0row.ic:76(row_get_rec_trx_id(unsigned char const*, dict_index_t const*, unsigned long const*))[0x55d27a8a78f3]
|
page/page0zip.cc:3718(page_zip_write_rec(page_zip_des_t*, unsigned char const*, dict_index_t*, unsigned long const*, unsigned long))[0x55d27a8af360]
|
page/page0cur.cc:1919(page_cur_insert_rec_zip(page_cur_t*, dict_index_t*, unsigned char const*, unsigned long*, mtr_t*))[0x55d27a897714]
|
include/page0cur.ic:289(page_cur_tuple_insert(page_cur_t*, dtuple_t const*, dict_index_t*, unsigned long**, mem_block_info_t**, unsigned long, mtr_t*, bool))[0x55d27a9eccb6]
|
btr/btr0btr.cc:2129(btr_root_raise_and_insert(unsigned long, btr_cur_t*, unsigned long**, mem_block_info_t**, dtuple_t const*, unsigned long, mtr_t*))[0x55d27a9f26a1]
|
btr/btr0cur.cc:3239(btr_cur_pessimistic_insert(unsigned long, btr_cur_t*, unsigned long**, mem_block_info_t**, dtuple_t*, unsigned char**, big_rec_t**, unsigned long, que_thr_t*, mtr_t*))[0x55d27aa13c9b]
|
row/row0ins.cc:2728(row_ins_clust_index_entry_low(unsigned long, unsigned long, dict_index_t*, unsigned long, dtuple_t*, unsigned long, que_thr_t*, bool))[0x55d27a8ed9f0]
|
row/row0ins.cc:3219(row_ins_clust_index_entry(dict_index_t*, dtuple_t*, que_thr_t*, unsigned long, bool))[0x55d27a8ef017]
|
row/row0upd.cc:2781(row_upd_clust_rec_by_insert(upd_node_t*, dict_index_t*, que_thr_t*, unsigned long, unsigned long, mtr_t*))[0x55d27a9699a2]
|
row/row0upd.cc:3199(row_upd_clust_step(upd_node_t*, que_thr_t*))[0x55d27a96ad02]
|
row/row0upd.cc:3270(row_upd(upd_node_t*, que_thr_t*))[0x55d27a96b012]
|
row/row0upd.cc:3416(row_upd_step(que_thr_t*))[0x55d27a96b4f1]
|
row/row0mysql.cc:1974(row_update_for_mysql(row_prebuilt_t*))[0x55d27a90e7a5]
|
handler/ha_innodb.cc:9354(ha_innobase::update_row(unsigned char const*, unsigned char*))[0x55d27a7cfaa5]
|
sql/handler.cc:6028(handler::ha_update_row(unsigned char const*, unsigned char*))[0x55d27a58862a]
|
sql/sql_update.cc:809(mysql_update(THD*, TABLE_LIST*, List<Item>&, List<Item>&, Item*, unsigned int, st_order*, unsigned long long, enum_duplicates, bool, unsigned long long*, unsigned long long*))[0x55d27a3f4fb3]
|
sql/sql_parse.cc:4261(mysql_execute_command(THD*))[0x55d27a30c6d6]
|
sql/sql_parse.cc:7861(mysql_parse(THD*, char*, unsigned int, Parser_state*, bool, bool))[0x55d27a317ee5]
|
sql/sql_parse.cc:1807(dispatch_command(enum_server_command, THD*, char*, unsigned int, bool, bool))[0x55d27a305bb2]
|
sql/sql_parse.cc:1360(do_command(THD*))[0x55d27a304509]
|
sql/sql_connect.cc:1354(do_handle_one_connection(CONNECT*))[0x55d27a45197e]
|
sql/sql_connect.cc:1261(handle_one_connection)[0x55d27a4516fe]
|
perfschema/pfs.cc:1865(pfs_spawn_thread)[0x55d27a7ad256]
|
/lib/x86_64-linux-gnu/libpthread.so.0(+0x76ba)[0x7febad28f6ba]
|
/lib/x86_64-linux-gnu/libc.so.6(clone+0x6d)[0x7febac7243dd]
|
|
Trying to get some variables.
|
Some pointers may be invalid and cause the dump to abort.
|
Query (0x7feb58074840): UPDATE worklog5743_key8 SET col_1_varchar = REPEAT("c", 4000) WHERE col_1_varchar = REPEAT("a", 4000) AND col_2_varchar = REPEAT("o", 4000)
|
Connection ID (thread ID): 9
|
Status: NOT_KILLED
|
|
Thread 1 (Thread 0x7fa538133700 (LWP 16239)):
|
#0 __pthread_kill (threadid=<optimized out>, signo=6) at ../sysdeps/unix/sysv/linux/pthread_kill.c:62
|
#1 0x000055fa58ea25d1 in my_write_core (sig=6) at /home/alice/aliska/10.2/mysys/stacktrace.c:477
|
#2 0x000055fa5873410e in handle_fatal_signal (sig=6) at /home/alice/aliska/10.2/sql/signal_handler.cc:303
|
#3 <signal handler called>
|
#4 0x00007fa53ecce428 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:54
|
#5 0x00007fa53ecd002a in __GI_abort () at abort.c:89
|
#6 0x00007fa53ecc6bd7 in __assert_fail_base (fmt=<optimized out>, assertion=assertion@entry=0x55fa590d0b92 "len == 6", file=file@entry=0x55fa590d0b10 "/home/alice/aliska/10.2/storage/innobase/include/row0row.ic", line=line@entry=52, function=function@entry=0x55fa590d5460 <_ZZL21row_get_trx_id_offsetPK12dict_index_tPKmE19__PRETTY_FUNCTION__> "ulint row_get_trx_id_offset(const dict_index_t*, const ulint*)") at assert.c:92
|
#7 0x00007fa53ecc6c82 in __GI___assert_fail (assertion=0x55fa590d0b92 "len == 6", file=0x55fa590d0b10 "/home/alice/aliska/10.2/storage/innobase/include/row0row.ic", line=52, function=0x55fa590d5460 <_ZZL21row_get_trx_id_offsetPK12dict_index_tPKmE19__PRETTY_FUNCTION__> "ulint row_get_trx_id_offset(const dict_index_t*, const ulint*)") at assert.c:101
|
#8 0x000055fa58a6283f in row_get_trx_id_offset (index=0x7fa4e803df88, offsets=0x7fa53812f580) at /home/alice/aliska/10.2/storage/innobase/include/row0row.ic:52
|
#9 0x000055fa58a628f3 in row_get_rec_trx_id (rec=0x7fa538588080 'a' <repeats 200 times>..., index=0x7fa4e803df88, offsets=0x7fa53812f580) at /home/alice/aliska/10.2/storage/innobase/include/row0row.ic:76
|
#10 0x000055fa58a6a360 in page_zip_write_rec (page_zip=0x7fa5383ddf18, rec=0x7fa538588080 'a' <repeats 200 times>..., index=0x7fa4e803df88, offsets=0x7fa53812f580, create=1) at /home/alice/aliska/10.2/storage/innobase/page/page0zip.cc:3718
|
#11 0x000055fa58a52714 in page_cur_insert_rec_zip (cursor=0x7fa53812f488, index=0x7fa4e803df88, rec=0x7fa4e8092350 'a' <repeats 200 times>..., offsets=0x7fa53812f580, mtr=0x7fa53812f8a0) at /home/alice/aliska/10.2/storage/innobase/page/page0cur.cc:1916
|
#12 0x000055fa58ba7cb6 in page_cur_tuple_insert (cursor=0x7fa53812f488, tuple=0x7fa4e8072e28, index=0x7fa4e803df88, offsets=0x7fa53812f420, heap=0x7fa53812f418, n_ext=0, mtr=0x7fa53812f8a0, use_cache=false) at /home/alice/aliska/10.2/storage/innobase/include/page0cur.ic:289
|
#13 0x000055fa58bad6a1 in btr_root_raise_and_insert (flags=0, cursor=0x7fa53812f480, offsets=0x7fa53812f420, heap=0x7fa53812f418, tuple=0x7fa4e804ada8, n_ext=1, mtr=0x7fa53812f8a0) at /home/alice/aliska/10.2/storage/innobase/btr/btr0btr.cc:2129
|
#14 0x000055fa58bcec9b in btr_cur_pessimistic_insert (flags=0, cursor=0x7fa53812f480, offsets=0x7fa53812f420, heap=0x7fa53812f418, entry=0x7fa4e804ada8, rec=0x7fa53812f428, big_rec=0x7fa53812f410, n_ext=1, thr=0x7fa4e8082c38, mtr=0x7fa53812f8a0) at /home/alice/aliska/10.2/storage/innobase/btr/btr0cur.cc:3239
|
#15 0x000055fa58aa89f0 in row_ins_clust_index_entry_low (flags=0, mode=33, index=0x7fa4e803df88, n_uniq=1, entry=0x7fa4e804ada8, n_ext=0, thr=0x7fa4e8082c38, dup_chk_only=false) at /home/alice/aliska/10.2/storage/innobase/row/row0ins.cc:2728
|
#16 0x000055fa58aaa017 in row_ins_clust_index_entry (index=0x7fa4e803df88, entry=0x7fa4e804ada8, thr=0x7fa4e8082c38, n_ext=0, dup_chk_only=false) at /home/alice/aliska/10.2/storage/innobase/row/row0ins.cc:3219
|
#17 0x000055fa58b249a2 in row_upd_clust_rec_by_insert (node=0x7fa4e8082908, index=0x7fa4e803df88, thr=0x7fa4e8082c38, referenced=0, foreign=0, mtr=0x7fa538130430) at /home/alice/aliska/10.2/storage/innobase/row/row0upd.cc:2781
|
#18 0x000055fa58b25d02 in row_upd_clust_step (node=0x7fa4e8082908, thr=0x7fa4e8082c38) at /home/alice/aliska/10.2/storage/innobase/row/row0upd.cc:3199
|
#19 0x000055fa58b26012 in row_upd (node=0x7fa4e8082908, thr=0x7fa4e8082c38) at /home/alice/aliska/10.2/storage/innobase/row/row0upd.cc:3270
|
#20 0x000055fa58b264f1 in row_upd_step (thr=0x7fa4e8082c38) at /home/alice/aliska/10.2/storage/innobase/row/row0upd.cc:3416
|
#21 0x000055fa58ac97a5 in row_update_for_mysql (prebuilt=0x7fa4e8078198) at /home/alice/aliska/10.2/storage/innobase/row/row0mysql.cc:1972
|
#22 0x000055fa5898aaa5 in ha_innobase::update_row (this=0x7fa4e807cbb0, old_row=0x7fa4e8075508 "\376\240\017", 'a' <repeats 197 times>..., new_row=0x7fa4e80735c0 "\376\240\017", 'c' <repeats 197 times>...) at /home/alice/aliska/10.2/storage/innobase/handler/ha_innodb.cc:9354
|
#23 0x000055fa5874362a in handler::ha_update_row (this=0x7fa4e807cbb0, old_data=0x7fa4e8075508 "\376\240\017", 'a' <repeats 197 times>..., new_data=0x7fa4e80735c0 "\376\240\017", 'c' <repeats 197 times>...) at /home/alice/aliska/10.2/sql/handler.cc:6028
|
#24 0x000055fa585affb3 in mysql_update (thd=0x7fa4e8000a98, table_list=0x7fa4e804cb00, fields=..., values=..., conds=0x7fa4e807ec30, order_num=0, order=0x0, limit=18446744073709551615, handle_duplicates=DUP_ERROR, ignore=false, found_return=0x7fa538131820, updated_return=0x7fa538131900) at /home/alice/aliska/10.2/sql/sql_update.cc:808
|
#25 0x000055fa584c76d6 in mysql_execute_command (thd=0x7fa4e8000a98) at /home/alice/aliska/10.2/sql/sql_parse.cc:4261
|
#26 0x000055fa584d2ee5 in mysql_parse (thd=0x7fa4e8000a98, rawbuf=0x7fa4e805bc80 "UPDATE worklog5743_key8 SET col_1_varchar = REPEAT(\"c\", 4000)\nWHERE col_1_varchar = REPEAT(\"a\", 4000) AND col_2_varchar = REPEAT(\"o\", 4000)", length=139, parser_state=0x7fa5381321f0, is_com_multi=false, is_next_command=false) at /home/alice/aliska/10.2/sql/sql_parse.cc:7861
|
#27 0x000055fa584c0bb2 in dispatch_command (command=COM_QUERY, thd=0x7fa4e8000a98, packet=0x7fa4e8007f49 "UPDATE worklog5743_key8 SET col_1_varchar = REPEAT(\"c\", 4000)\nWHERE col_1_varchar = REPEAT(\"a\", 4000) AND col_2_varchar = REPEAT(\"o\", 4000)", packet_length=139, is_com_multi=false, is_next_command=false) at /home/alice/aliska/10.2/sql/sql_parse.cc:1805
|
#28 0x000055fa584bf509 in do_command (thd=0x7fa4e8000a98) at /home/alice/aliska/10.2/sql/sql_parse.cc:1360
|
#29 0x000055fa5860c97e in do_handle_one_connection (connect=0x55fa5c5ae438) at /home/alice/aliska/10.2/sql/sql_connect.cc:1354
|
#30 0x000055fa5860c6fe in handle_one_connection (arg=0x55fa5c5ae438) at /home/alice/aliska/10.2/sql/sql_connect.cc:1260
|
#31 0x000055fa58968256 in pfs_spawn_thread (arg=0x55fa5c5634a8) at /home/alice/aliska/10.2/storage/perfschema/pfs.cc:1863
|
#32 0x00007fa53f90b6ba in start_thread (arg=0x7fa538133700) at pthread_create.c:333
|
#33 0x00007fa53eda03dd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109
|
|
Attachments
Issue Links
- relates to
-
MDEV-13626 Merge InnoDB test cases from MySQL 5.7
-
- Closed
-
Activity
Field | Original Value | New Value |
---|---|---|
Link |
This issue relates to |
Description |
testcase from prefix_index_liftedlimit.test ()
{code:mysql} CREATE TABLE worklog5743_key8 ( col_1_varchar VARCHAR (4000) , col_2_varchar VARCHAR (4000), PRIMARY KEY (col_1_varchar(3072)) ) ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=8, engine = innodb; INSERT INTO worklog5743_key8 VALUES(REPEAT("a", 4000) , REPEAT("o", 4000)); INSERT INTO worklog5743_key8 VALUES(REPEAT("b", 4000) , REPEAT("p", 4000)); SELECT col_1_varchar = REPEAT("a", 4000) , col_2_varchar = REPEAT("o", 4000) FROM worklog5743_key8; UPDATE worklog5743_key8 SET col_1_varchar = REPEAT("c", 4000) WHERE col_1_varchar = REPEAT("a", 4000) AND col_2_varchar = REPEAT("o", 4000); {code} {noformat} MariaDB [test]> CREATE TABLE worklog5743_key8 ( -> col_1_varchar VARCHAR (4000) , col_2_varchar VARCHAR (4000) , -> PRIMARY KEY (col_1_varchar(3072)) -> ) ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=8, engine = innodb; Query OK, 0 rows affected (0.21 sec) MariaDB [test]> INSERT INTO worklog5743_key8 VALUES(REPEAT("a", 4000) , REPEAT("o", 4000)); Query OK, 1 row affected (0.06 sec) MariaDB [test]> INSERT INTO worklog5743_key8 VALUES(REPEAT("b", 4000) , REPEAT("p", 4000)); Query OK, 1 row affected (0.07 sec) MariaDB [test]> SELECT col_1_varchar = REPEAT("a", 4000) , col_2_varchar = REPEAT("o", 4000) -> FROM worklog5743_key8; +------------------------------------+-----------------------------------+ | col_1_varchar = REPEAT("a", 4000) | col_2_varchar = REPEAT("o", 4000) | +------------------------------------+-----------------------------------+ | 1 | 1 | | 0 | 0 | +------------------------------------+-----------------------------------+ 2 rows in set (0.00 sec) MariaDB [test]> UPDATE worklog5743_key8 SET col_1_varchar = REPEAT("c", 4000) -> WHERE col_1_varchar = REPEAT("a", 4000) AND col_2_varchar = REPEAT("o", 4000); ERROR 2013 (HY000): Lost connection to MySQL server during query {noformat} {noformat} 2017-11-01 11:52:03 140650219181888 [Note] /home/alice/aliska/10.2/sql/mysqld: ready for connections. Version: '10.2.10-MariaDB-debug-log' socket: '/home/alice/aliska/10.2/mysql-test/var/tmp/mysqld.1.sock' port: 16000 Source distribution mysqld: /home/alice/aliska/10.2/storage/innobase/include/row0row.ic:52: ulint row_get_trx_id_offset(const dict_index_t*, const ulint*): Assertion `len == 6' failed. 171101 11:52:03 [ERROR] mysqld got signal 6 ; This could be because you hit a bug. It is also possible that this binary or one of the libraries it was linked against is corrupt, improperly built, or misconfigured. This error can also be caused by malfunctioning hardware. To report this bug, see https://mariadb.com/kb/en/reporting-bugs We will try our best to scrape up some info that will hopefully help diagnose the problem, but since we have already crashed, something is definitely wrong and this may fail. Server version: 10.2.10-MariaDB-debug-log key_buffer_size=1048576 read_buffer_size=131072 max_used_connections=1 max_threads=153 thread_count=7 It is possible that mysqld could use up to key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 63152 K bytes of memory Hope that's ok; if not, decrease some variables in the equation. Thread pointer: 0x7feb58000a98 Attempting backtrace. You can use the following information to find out where mysqld died. If you see no messages after this, something went terribly wrong... stack_bottom = 0x7feba42b3e70 thread_stack 0x49000 /home/alice/aliska/10.2/sql/mysqld(my_print_stacktrace+0x38)[0x55d27ace74df] /home/alice/aliska/10.2/sql/mysqld(handle_fatal_signal+0x3a3)[0x55d27a578d62] /lib/x86_64-linux-gnu/libpthread.so.0(+0x11390)[0x7febad299390] /lib/x86_64-linux-gnu/libc.so.6(gsignal+0x38)[0x7febac652428] mysys/stacktrace.c:267(my_print_stacktrace)[0x7febac65402a] sql/signal_handler.cc:168(handle_fatal_signal)[0x7febac64abd7] /lib/x86_64-linux-gnu/libc.so.6(+0x2dc82)[0x7febac64ac82] include/row0row.ic:54(row_get_trx_id_offset(dict_index_t const*, unsigned long const*))[0x55d27a8a783f] include/row0row.ic:76(row_get_rec_trx_id(unsigned char const*, dict_index_t const*, unsigned long const*))[0x55d27a8a78f3] page/page0zip.cc:3718(page_zip_write_rec(page_zip_des_t*, unsigned char const*, dict_index_t*, unsigned long const*, unsigned long))[0x55d27a8af360] page/page0cur.cc:1919(page_cur_insert_rec_zip(page_cur_t*, dict_index_t*, unsigned char const*, unsigned long*, mtr_t*))[0x55d27a897714] include/page0cur.ic:289(page_cur_tuple_insert(page_cur_t*, dtuple_t const*, dict_index_t*, unsigned long**, mem_block_info_t**, unsigned long, mtr_t*, bool))[0x55d27a9eccb6] btr/btr0btr.cc:2129(btr_root_raise_and_insert(unsigned long, btr_cur_t*, unsigned long**, mem_block_info_t**, dtuple_t const*, unsigned long, mtr_t*))[0x55d27a9f26a1] btr/btr0cur.cc:3239(btr_cur_pessimistic_insert(unsigned long, btr_cur_t*, unsigned long**, mem_block_info_t**, dtuple_t*, unsigned char**, big_rec_t**, unsigned long, que_thr_t*, mtr_t*))[0x55d27aa13c9b] row/row0ins.cc:2728(row_ins_clust_index_entry_low(unsigned long, unsigned long, dict_index_t*, unsigned long, dtuple_t*, unsigned long, que_thr_t*, bool))[0x55d27a8ed9f0] row/row0ins.cc:3219(row_ins_clust_index_entry(dict_index_t*, dtuple_t*, que_thr_t*, unsigned long, bool))[0x55d27a8ef017] row/row0upd.cc:2781(row_upd_clust_rec_by_insert(upd_node_t*, dict_index_t*, que_thr_t*, unsigned long, unsigned long, mtr_t*))[0x55d27a9699a2] row/row0upd.cc:3199(row_upd_clust_step(upd_node_t*, que_thr_t*))[0x55d27a96ad02] row/row0upd.cc:3270(row_upd(upd_node_t*, que_thr_t*))[0x55d27a96b012] row/row0upd.cc:3416(row_upd_step(que_thr_t*))[0x55d27a96b4f1] row/row0mysql.cc:1974(row_update_for_mysql(row_prebuilt_t*))[0x55d27a90e7a5] handler/ha_innodb.cc:9354(ha_innobase::update_row(unsigned char const*, unsigned char*))[0x55d27a7cfaa5] sql/handler.cc:6028(handler::ha_update_row(unsigned char const*, unsigned char*))[0x55d27a58862a] sql/sql_update.cc:809(mysql_update(THD*, TABLE_LIST*, List<Item>&, List<Item>&, Item*, unsigned int, st_order*, unsigned long long, enum_duplicates, bool, unsigned long long*, unsigned long long*))[0x55d27a3f4fb3] sql/sql_parse.cc:4261(mysql_execute_command(THD*))[0x55d27a30c6d6] sql/sql_parse.cc:7861(mysql_parse(THD*, char*, unsigned int, Parser_state*, bool, bool))[0x55d27a317ee5] sql/sql_parse.cc:1807(dispatch_command(enum_server_command, THD*, char*, unsigned int, bool, bool))[0x55d27a305bb2] sql/sql_parse.cc:1360(do_command(THD*))[0x55d27a304509] sql/sql_connect.cc:1354(do_handle_one_connection(CONNECT*))[0x55d27a45197e] sql/sql_connect.cc:1261(handle_one_connection)[0x55d27a4516fe] perfschema/pfs.cc:1865(pfs_spawn_thread)[0x55d27a7ad256] /lib/x86_64-linux-gnu/libpthread.so.0(+0x76ba)[0x7febad28f6ba] /lib/x86_64-linux-gnu/libc.so.6(clone+0x6d)[0x7febac7243dd] Trying to get some variables. Some pointers may be invalid and cause the dump to abort. Query (0x7feb58074840): UPDATE worklog5743_key8 SET col_1_varchar = REPEAT("c", 4000) WHERE col_1_varchar = REPEAT("a", 4000) AND col_2_varchar = REPEAT("o", 4000) Connection ID (thread ID): 9 Status: NOT_KILLED {noformat} {noformat} Thread 1 (Thread 0x7fa538133700 (LWP 16239)): #0 __pthread_kill (threadid=<optimized out>, signo=6) at ../sysdeps/unix/sysv/linux/pthread_kill.c:62 #1 0x000055fa58ea25d1 in my_write_core (sig=6) at /home/alice/aliska/10.2/mysys/stacktrace.c:477 #2 0x000055fa5873410e in handle_fatal_signal (sig=6) at /home/alice/aliska/10.2/sql/signal_handler.cc:303 #3 <signal handler called> #4 0x00007fa53ecce428 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:54 #5 0x00007fa53ecd002a in __GI_abort () at abort.c:89 #6 0x00007fa53ecc6bd7 in __assert_fail_base (fmt=<optimized out>, assertion=assertion@entry=0x55fa590d0b92 "len == 6", file=file@entry=0x55fa590d0b10 "/home/alice/aliska/10.2/storage/innobase/include/row0row.ic", line=line@entry=52, function=function@entry=0x55fa590d5460 <_ZZL21row_get_trx_id_offsetPK12dict_index_tPKmE19__PRETTY_FUNCTION__> "ulint row_get_trx_id_offset(const dict_index_t*, const ulint*)") at assert.c:92 #7 0x00007fa53ecc6c82 in __GI___assert_fail (assertion=0x55fa590d0b92 "len == 6", file=0x55fa590d0b10 "/home/alice/aliska/10.2/storage/innobase/include/row0row.ic", line=52, function=0x55fa590d5460 <_ZZL21row_get_trx_id_offsetPK12dict_index_tPKmE19__PRETTY_FUNCTION__> "ulint row_get_trx_id_offset(const dict_index_t*, const ulint*)") at assert.c:101 #8 0x000055fa58a6283f in row_get_trx_id_offset (index=0x7fa4e803df88, offsets=0x7fa53812f580) at /home/alice/aliska/10.2/storage/innobase/include/row0row.ic:52 #9 0x000055fa58a628f3 in row_get_rec_trx_id (rec=0x7fa538588080 'a' <repeats 200 times>..., index=0x7fa4e803df88, offsets=0x7fa53812f580) at /home/alice/aliska/10.2/storage/innobase/include/row0row.ic:76 #10 0x000055fa58a6a360 in page_zip_write_rec (page_zip=0x7fa5383ddf18, rec=0x7fa538588080 'a' <repeats 200 times>..., index=0x7fa4e803df88, offsets=0x7fa53812f580, create=1) at /home/alice/aliska/10.2/storage/innobase/page/page0zip.cc:3718 #11 0x000055fa58a52714 in page_cur_insert_rec_zip (cursor=0x7fa53812f488, index=0x7fa4e803df88, rec=0x7fa4e8092350 'a' <repeats 200 times>..., offsets=0x7fa53812f580, mtr=0x7fa53812f8a0) at /home/alice/aliska/10.2/storage/innobase/page/page0cur.cc:1916 #12 0x000055fa58ba7cb6 in page_cur_tuple_insert (cursor=0x7fa53812f488, tuple=0x7fa4e8072e28, index=0x7fa4e803df88, offsets=0x7fa53812f420, heap=0x7fa53812f418, n_ext=0, mtr=0x7fa53812f8a0, use_cache=false) at /home/alice/aliska/10.2/storage/innobase/include/page0cur.ic:289 #13 0x000055fa58bad6a1 in btr_root_raise_and_insert (flags=0, cursor=0x7fa53812f480, offsets=0x7fa53812f420, heap=0x7fa53812f418, tuple=0x7fa4e804ada8, n_ext=1, mtr=0x7fa53812f8a0) at /home/alice/aliska/10.2/storage/innobase/btr/btr0btr.cc:2129 #14 0x000055fa58bcec9b in btr_cur_pessimistic_insert (flags=0, cursor=0x7fa53812f480, offsets=0x7fa53812f420, heap=0x7fa53812f418, entry=0x7fa4e804ada8, rec=0x7fa53812f428, big_rec=0x7fa53812f410, n_ext=1, thr=0x7fa4e8082c38, mtr=0x7fa53812f8a0) at /home/alice/aliska/10.2/storage/innobase/btr/btr0cur.cc:3239 #15 0x000055fa58aa89f0 in row_ins_clust_index_entry_low (flags=0, mode=33, index=0x7fa4e803df88, n_uniq=1, entry=0x7fa4e804ada8, n_ext=0, thr=0x7fa4e8082c38, dup_chk_only=false) at /home/alice/aliska/10.2/storage/innobase/row/row0ins.cc:2728 #16 0x000055fa58aaa017 in row_ins_clust_index_entry (index=0x7fa4e803df88, entry=0x7fa4e804ada8, thr=0x7fa4e8082c38, n_ext=0, dup_chk_only=false) at /home/alice/aliska/10.2/storage/innobase/row/row0ins.cc:3219 #17 0x000055fa58b249a2 in row_upd_clust_rec_by_insert (node=0x7fa4e8082908, index=0x7fa4e803df88, thr=0x7fa4e8082c38, referenced=0, foreign=0, mtr=0x7fa538130430) at /home/alice/aliska/10.2/storage/innobase/row/row0upd.cc:2781 #18 0x000055fa58b25d02 in row_upd_clust_step (node=0x7fa4e8082908, thr=0x7fa4e8082c38) at /home/alice/aliska/10.2/storage/innobase/row/row0upd.cc:3199 #19 0x000055fa58b26012 in row_upd (node=0x7fa4e8082908, thr=0x7fa4e8082c38) at /home/alice/aliska/10.2/storage/innobase/row/row0upd.cc:3270 #20 0x000055fa58b264f1 in row_upd_step (thr=0x7fa4e8082c38) at /home/alice/aliska/10.2/storage/innobase/row/row0upd.cc:3416 #21 0x000055fa58ac97a5 in row_update_for_mysql (prebuilt=0x7fa4e8078198) at /home/alice/aliska/10.2/storage/innobase/row/row0mysql.cc:1972 #22 0x000055fa5898aaa5 in ha_innobase::update_row (this=0x7fa4e807cbb0, old_row=0x7fa4e8075508 "\376\240\017", 'a' <repeats 197 times>..., new_row=0x7fa4e80735c0 "\376\240\017", 'c' <repeats 197 times>...) at /home/alice/aliska/10.2/storage/innobase/handler/ha_innodb.cc:9354 #23 0x000055fa5874362a in handler::ha_update_row (this=0x7fa4e807cbb0, old_data=0x7fa4e8075508 "\376\240\017", 'a' <repeats 197 times>..., new_data=0x7fa4e80735c0 "\376\240\017", 'c' <repeats 197 times>...) at /home/alice/aliska/10.2/sql/handler.cc:6028 #24 0x000055fa585affb3 in mysql_update (thd=0x7fa4e8000a98, table_list=0x7fa4e804cb00, fields=..., values=..., conds=0x7fa4e807ec30, order_num=0, order=0x0, limit=18446744073709551615, handle_duplicates=DUP_ERROR, ignore=false, found_return=0x7fa538131820, updated_return=0x7fa538131900) at /home/alice/aliska/10.2/sql/sql_update.cc:808 #25 0x000055fa584c76d6 in mysql_execute_command (thd=0x7fa4e8000a98) at /home/alice/aliska/10.2/sql/sql_parse.cc:4261 #26 0x000055fa584d2ee5 in mysql_parse (thd=0x7fa4e8000a98, rawbuf=0x7fa4e805bc80 "UPDATE worklog5743_key8 SET col_1_varchar = REPEAT(\"c\", 4000)\nWHERE col_1_varchar = REPEAT(\"a\", 4000) AND col_2_varchar = REPEAT(\"o\", 4000)", length=139, parser_state=0x7fa5381321f0, is_com_multi=false, is_next_command=false) at /home/alice/aliska/10.2/sql/sql_parse.cc:7861 #27 0x000055fa584c0bb2 in dispatch_command (command=COM_QUERY, thd=0x7fa4e8000a98, packet=0x7fa4e8007f49 "UPDATE worklog5743_key8 SET col_1_varchar = REPEAT(\"c\", 4000)\nWHERE col_1_varchar = REPEAT(\"a\", 4000) AND col_2_varchar = REPEAT(\"o\", 4000)", packet_length=139, is_com_multi=false, is_next_command=false) at /home/alice/aliska/10.2/sql/sql_parse.cc:1805 #28 0x000055fa584bf509 in do_command (thd=0x7fa4e8000a98) at /home/alice/aliska/10.2/sql/sql_parse.cc:1360 #29 0x000055fa5860c97e in do_handle_one_connection (connect=0x55fa5c5ae438) at /home/alice/aliska/10.2/sql/sql_connect.cc:1354 #30 0x000055fa5860c6fe in handle_one_connection (arg=0x55fa5c5ae438) at /home/alice/aliska/10.2/sql/sql_connect.cc:1260 #31 0x000055fa58968256 in pfs_spawn_thread (arg=0x55fa5c5634a8) at /home/alice/aliska/10.2/storage/perfschema/pfs.cc:1863 #32 0x00007fa53f90b6ba in start_thread (arg=0x7fa538133700) at pthread_create.c:333 #33 0x00007fa53eda03dd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109 {noformat} |
testcase from prefix_index_liftedlimit.test (https://github.com/MariaDB/server/blob/mdev-13626/mysql-test/suite/innodb_zip/t/prefix_index_liftedlimit.test)
{code:mysql} CREATE TABLE worklog5743_key8 ( col_1_varchar VARCHAR (4000) , col_2_varchar VARCHAR (4000), PRIMARY KEY (col_1_varchar(3072)) ) ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=8, engine = innodb; INSERT INTO worklog5743_key8 VALUES(REPEAT("a", 4000) , REPEAT("o", 4000)); INSERT INTO worklog5743_key8 VALUES(REPEAT("b", 4000) , REPEAT("p", 4000)); SELECT col_1_varchar = REPEAT("a", 4000) , col_2_varchar = REPEAT("o", 4000) FROM worklog5743_key8; UPDATE worklog5743_key8 SET col_1_varchar = REPEAT("c", 4000) WHERE col_1_varchar = REPEAT("a", 4000) AND col_2_varchar = REPEAT("o", 4000); {code} {noformat} MariaDB [test]> CREATE TABLE worklog5743_key8 ( -> col_1_varchar VARCHAR (4000) , col_2_varchar VARCHAR (4000) , -> PRIMARY KEY (col_1_varchar(3072)) -> ) ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=8, engine = innodb; Query OK, 0 rows affected (0.21 sec) MariaDB [test]> INSERT INTO worklog5743_key8 VALUES(REPEAT("a", 4000) , REPEAT("o", 4000)); Query OK, 1 row affected (0.06 sec) MariaDB [test]> INSERT INTO worklog5743_key8 VALUES(REPEAT("b", 4000) , REPEAT("p", 4000)); Query OK, 1 row affected (0.07 sec) MariaDB [test]> SELECT col_1_varchar = REPEAT("a", 4000) , col_2_varchar = REPEAT("o", 4000) -> FROM worklog5743_key8; +------------------------------------+-----------------------------------+ | col_1_varchar = REPEAT("a", 4000) | col_2_varchar = REPEAT("o", 4000) | +------------------------------------+-----------------------------------+ | 1 | 1 | | 0 | 0 | +------------------------------------+-----------------------------------+ 2 rows in set (0.00 sec) MariaDB [test]> UPDATE worklog5743_key8 SET col_1_varchar = REPEAT("c", 4000) -> WHERE col_1_varchar = REPEAT("a", 4000) AND col_2_varchar = REPEAT("o", 4000); ERROR 2013 (HY000): Lost connection to MySQL server during query {noformat} {noformat} 2017-11-01 11:52:03 140650219181888 [Note] /home/alice/aliska/10.2/sql/mysqld: ready for connections. Version: '10.2.10-MariaDB-debug-log' socket: '/home/alice/aliska/10.2/mysql-test/var/tmp/mysqld.1.sock' port: 16000 Source distribution mysqld: /home/alice/aliska/10.2/storage/innobase/include/row0row.ic:52: ulint row_get_trx_id_offset(const dict_index_t*, const ulint*): Assertion `len == 6' failed. 171101 11:52:03 [ERROR] mysqld got signal 6 ; This could be because you hit a bug. It is also possible that this binary or one of the libraries it was linked against is corrupt, improperly built, or misconfigured. This error can also be caused by malfunctioning hardware. To report this bug, see https://mariadb.com/kb/en/reporting-bugs We will try our best to scrape up some info that will hopefully help diagnose the problem, but since we have already crashed, something is definitely wrong and this may fail. Server version: 10.2.10-MariaDB-debug-log key_buffer_size=1048576 read_buffer_size=131072 max_used_connections=1 max_threads=153 thread_count=7 It is possible that mysqld could use up to key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 63152 K bytes of memory Hope that's ok; if not, decrease some variables in the equation. Thread pointer: 0x7feb58000a98 Attempting backtrace. You can use the following information to find out where mysqld died. If you see no messages after this, something went terribly wrong... stack_bottom = 0x7feba42b3e70 thread_stack 0x49000 /home/alice/aliska/10.2/sql/mysqld(my_print_stacktrace+0x38)[0x55d27ace74df] /home/alice/aliska/10.2/sql/mysqld(handle_fatal_signal+0x3a3)[0x55d27a578d62] /lib/x86_64-linux-gnu/libpthread.so.0(+0x11390)[0x7febad299390] /lib/x86_64-linux-gnu/libc.so.6(gsignal+0x38)[0x7febac652428] mysys/stacktrace.c:267(my_print_stacktrace)[0x7febac65402a] sql/signal_handler.cc:168(handle_fatal_signal)[0x7febac64abd7] /lib/x86_64-linux-gnu/libc.so.6(+0x2dc82)[0x7febac64ac82] include/row0row.ic:54(row_get_trx_id_offset(dict_index_t const*, unsigned long const*))[0x55d27a8a783f] include/row0row.ic:76(row_get_rec_trx_id(unsigned char const*, dict_index_t const*, unsigned long const*))[0x55d27a8a78f3] page/page0zip.cc:3718(page_zip_write_rec(page_zip_des_t*, unsigned char const*, dict_index_t*, unsigned long const*, unsigned long))[0x55d27a8af360] page/page0cur.cc:1919(page_cur_insert_rec_zip(page_cur_t*, dict_index_t*, unsigned char const*, unsigned long*, mtr_t*))[0x55d27a897714] include/page0cur.ic:289(page_cur_tuple_insert(page_cur_t*, dtuple_t const*, dict_index_t*, unsigned long**, mem_block_info_t**, unsigned long, mtr_t*, bool))[0x55d27a9eccb6] btr/btr0btr.cc:2129(btr_root_raise_and_insert(unsigned long, btr_cur_t*, unsigned long**, mem_block_info_t**, dtuple_t const*, unsigned long, mtr_t*))[0x55d27a9f26a1] btr/btr0cur.cc:3239(btr_cur_pessimistic_insert(unsigned long, btr_cur_t*, unsigned long**, mem_block_info_t**, dtuple_t*, unsigned char**, big_rec_t**, unsigned long, que_thr_t*, mtr_t*))[0x55d27aa13c9b] row/row0ins.cc:2728(row_ins_clust_index_entry_low(unsigned long, unsigned long, dict_index_t*, unsigned long, dtuple_t*, unsigned long, que_thr_t*, bool))[0x55d27a8ed9f0] row/row0ins.cc:3219(row_ins_clust_index_entry(dict_index_t*, dtuple_t*, que_thr_t*, unsigned long, bool))[0x55d27a8ef017] row/row0upd.cc:2781(row_upd_clust_rec_by_insert(upd_node_t*, dict_index_t*, que_thr_t*, unsigned long, unsigned long, mtr_t*))[0x55d27a9699a2] row/row0upd.cc:3199(row_upd_clust_step(upd_node_t*, que_thr_t*))[0x55d27a96ad02] row/row0upd.cc:3270(row_upd(upd_node_t*, que_thr_t*))[0x55d27a96b012] row/row0upd.cc:3416(row_upd_step(que_thr_t*))[0x55d27a96b4f1] row/row0mysql.cc:1974(row_update_for_mysql(row_prebuilt_t*))[0x55d27a90e7a5] handler/ha_innodb.cc:9354(ha_innobase::update_row(unsigned char const*, unsigned char*))[0x55d27a7cfaa5] sql/handler.cc:6028(handler::ha_update_row(unsigned char const*, unsigned char*))[0x55d27a58862a] sql/sql_update.cc:809(mysql_update(THD*, TABLE_LIST*, List<Item>&, List<Item>&, Item*, unsigned int, st_order*, unsigned long long, enum_duplicates, bool, unsigned long long*, unsigned long long*))[0x55d27a3f4fb3] sql/sql_parse.cc:4261(mysql_execute_command(THD*))[0x55d27a30c6d6] sql/sql_parse.cc:7861(mysql_parse(THD*, char*, unsigned int, Parser_state*, bool, bool))[0x55d27a317ee5] sql/sql_parse.cc:1807(dispatch_command(enum_server_command, THD*, char*, unsigned int, bool, bool))[0x55d27a305bb2] sql/sql_parse.cc:1360(do_command(THD*))[0x55d27a304509] sql/sql_connect.cc:1354(do_handle_one_connection(CONNECT*))[0x55d27a45197e] sql/sql_connect.cc:1261(handle_one_connection)[0x55d27a4516fe] perfschema/pfs.cc:1865(pfs_spawn_thread)[0x55d27a7ad256] /lib/x86_64-linux-gnu/libpthread.so.0(+0x76ba)[0x7febad28f6ba] /lib/x86_64-linux-gnu/libc.so.6(clone+0x6d)[0x7febac7243dd] Trying to get some variables. Some pointers may be invalid and cause the dump to abort. Query (0x7feb58074840): UPDATE worklog5743_key8 SET col_1_varchar = REPEAT("c", 4000) WHERE col_1_varchar = REPEAT("a", 4000) AND col_2_varchar = REPEAT("o", 4000) Connection ID (thread ID): 9 Status: NOT_KILLED {noformat} {noformat} Thread 1 (Thread 0x7fa538133700 (LWP 16239)): #0 __pthread_kill (threadid=<optimized out>, signo=6) at ../sysdeps/unix/sysv/linux/pthread_kill.c:62 #1 0x000055fa58ea25d1 in my_write_core (sig=6) at /home/alice/aliska/10.2/mysys/stacktrace.c:477 #2 0x000055fa5873410e in handle_fatal_signal (sig=6) at /home/alice/aliska/10.2/sql/signal_handler.cc:303 #3 <signal handler called> #4 0x00007fa53ecce428 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:54 #5 0x00007fa53ecd002a in __GI_abort () at abort.c:89 #6 0x00007fa53ecc6bd7 in __assert_fail_base (fmt=<optimized out>, assertion=assertion@entry=0x55fa590d0b92 "len == 6", file=file@entry=0x55fa590d0b10 "/home/alice/aliska/10.2/storage/innobase/include/row0row.ic", line=line@entry=52, function=function@entry=0x55fa590d5460 <_ZZL21row_get_trx_id_offsetPK12dict_index_tPKmE19__PRETTY_FUNCTION__> "ulint row_get_trx_id_offset(const dict_index_t*, const ulint*)") at assert.c:92 #7 0x00007fa53ecc6c82 in __GI___assert_fail (assertion=0x55fa590d0b92 "len == 6", file=0x55fa590d0b10 "/home/alice/aliska/10.2/storage/innobase/include/row0row.ic", line=52, function=0x55fa590d5460 <_ZZL21row_get_trx_id_offsetPK12dict_index_tPKmE19__PRETTY_FUNCTION__> "ulint row_get_trx_id_offset(const dict_index_t*, const ulint*)") at assert.c:101 #8 0x000055fa58a6283f in row_get_trx_id_offset (index=0x7fa4e803df88, offsets=0x7fa53812f580) at /home/alice/aliska/10.2/storage/innobase/include/row0row.ic:52 #9 0x000055fa58a628f3 in row_get_rec_trx_id (rec=0x7fa538588080 'a' <repeats 200 times>..., index=0x7fa4e803df88, offsets=0x7fa53812f580) at /home/alice/aliska/10.2/storage/innobase/include/row0row.ic:76 #10 0x000055fa58a6a360 in page_zip_write_rec (page_zip=0x7fa5383ddf18, rec=0x7fa538588080 'a' <repeats 200 times>..., index=0x7fa4e803df88, offsets=0x7fa53812f580, create=1) at /home/alice/aliska/10.2/storage/innobase/page/page0zip.cc:3718 #11 0x000055fa58a52714 in page_cur_insert_rec_zip (cursor=0x7fa53812f488, index=0x7fa4e803df88, rec=0x7fa4e8092350 'a' <repeats 200 times>..., offsets=0x7fa53812f580, mtr=0x7fa53812f8a0) at /home/alice/aliska/10.2/storage/innobase/page/page0cur.cc:1916 #12 0x000055fa58ba7cb6 in page_cur_tuple_insert (cursor=0x7fa53812f488, tuple=0x7fa4e8072e28, index=0x7fa4e803df88, offsets=0x7fa53812f420, heap=0x7fa53812f418, n_ext=0, mtr=0x7fa53812f8a0, use_cache=false) at /home/alice/aliska/10.2/storage/innobase/include/page0cur.ic:289 #13 0x000055fa58bad6a1 in btr_root_raise_and_insert (flags=0, cursor=0x7fa53812f480, offsets=0x7fa53812f420, heap=0x7fa53812f418, tuple=0x7fa4e804ada8, n_ext=1, mtr=0x7fa53812f8a0) at /home/alice/aliska/10.2/storage/innobase/btr/btr0btr.cc:2129 #14 0x000055fa58bcec9b in btr_cur_pessimistic_insert (flags=0, cursor=0x7fa53812f480, offsets=0x7fa53812f420, heap=0x7fa53812f418, entry=0x7fa4e804ada8, rec=0x7fa53812f428, big_rec=0x7fa53812f410, n_ext=1, thr=0x7fa4e8082c38, mtr=0x7fa53812f8a0) at /home/alice/aliska/10.2/storage/innobase/btr/btr0cur.cc:3239 #15 0x000055fa58aa89f0 in row_ins_clust_index_entry_low (flags=0, mode=33, index=0x7fa4e803df88, n_uniq=1, entry=0x7fa4e804ada8, n_ext=0, thr=0x7fa4e8082c38, dup_chk_only=false) at /home/alice/aliska/10.2/storage/innobase/row/row0ins.cc:2728 #16 0x000055fa58aaa017 in row_ins_clust_index_entry (index=0x7fa4e803df88, entry=0x7fa4e804ada8, thr=0x7fa4e8082c38, n_ext=0, dup_chk_only=false) at /home/alice/aliska/10.2/storage/innobase/row/row0ins.cc:3219 #17 0x000055fa58b249a2 in row_upd_clust_rec_by_insert (node=0x7fa4e8082908, index=0x7fa4e803df88, thr=0x7fa4e8082c38, referenced=0, foreign=0, mtr=0x7fa538130430) at /home/alice/aliska/10.2/storage/innobase/row/row0upd.cc:2781 #18 0x000055fa58b25d02 in row_upd_clust_step (node=0x7fa4e8082908, thr=0x7fa4e8082c38) at /home/alice/aliska/10.2/storage/innobase/row/row0upd.cc:3199 #19 0x000055fa58b26012 in row_upd (node=0x7fa4e8082908, thr=0x7fa4e8082c38) at /home/alice/aliska/10.2/storage/innobase/row/row0upd.cc:3270 #20 0x000055fa58b264f1 in row_upd_step (thr=0x7fa4e8082c38) at /home/alice/aliska/10.2/storage/innobase/row/row0upd.cc:3416 #21 0x000055fa58ac97a5 in row_update_for_mysql (prebuilt=0x7fa4e8078198) at /home/alice/aliska/10.2/storage/innobase/row/row0mysql.cc:1972 #22 0x000055fa5898aaa5 in ha_innobase::update_row (this=0x7fa4e807cbb0, old_row=0x7fa4e8075508 "\376\240\017", 'a' <repeats 197 times>..., new_row=0x7fa4e80735c0 "\376\240\017", 'c' <repeats 197 times>...) at /home/alice/aliska/10.2/storage/innobase/handler/ha_innodb.cc:9354 #23 0x000055fa5874362a in handler::ha_update_row (this=0x7fa4e807cbb0, old_data=0x7fa4e8075508 "\376\240\017", 'a' <repeats 197 times>..., new_data=0x7fa4e80735c0 "\376\240\017", 'c' <repeats 197 times>...) at /home/alice/aliska/10.2/sql/handler.cc:6028 #24 0x000055fa585affb3 in mysql_update (thd=0x7fa4e8000a98, table_list=0x7fa4e804cb00, fields=..., values=..., conds=0x7fa4e807ec30, order_num=0, order=0x0, limit=18446744073709551615, handle_duplicates=DUP_ERROR, ignore=false, found_return=0x7fa538131820, updated_return=0x7fa538131900) at /home/alice/aliska/10.2/sql/sql_update.cc:808 #25 0x000055fa584c76d6 in mysql_execute_command (thd=0x7fa4e8000a98) at /home/alice/aliska/10.2/sql/sql_parse.cc:4261 #26 0x000055fa584d2ee5 in mysql_parse (thd=0x7fa4e8000a98, rawbuf=0x7fa4e805bc80 "UPDATE worklog5743_key8 SET col_1_varchar = REPEAT(\"c\", 4000)\nWHERE col_1_varchar = REPEAT(\"a\", 4000) AND col_2_varchar = REPEAT(\"o\", 4000)", length=139, parser_state=0x7fa5381321f0, is_com_multi=false, is_next_command=false) at /home/alice/aliska/10.2/sql/sql_parse.cc:7861 #27 0x000055fa584c0bb2 in dispatch_command (command=COM_QUERY, thd=0x7fa4e8000a98, packet=0x7fa4e8007f49 "UPDATE worklog5743_key8 SET col_1_varchar = REPEAT(\"c\", 4000)\nWHERE col_1_varchar = REPEAT(\"a\", 4000) AND col_2_varchar = REPEAT(\"o\", 4000)", packet_length=139, is_com_multi=false, is_next_command=false) at /home/alice/aliska/10.2/sql/sql_parse.cc:1805 #28 0x000055fa584bf509 in do_command (thd=0x7fa4e8000a98) at /home/alice/aliska/10.2/sql/sql_parse.cc:1360 #29 0x000055fa5860c97e in do_handle_one_connection (connect=0x55fa5c5ae438) at /home/alice/aliska/10.2/sql/sql_connect.cc:1354 #30 0x000055fa5860c6fe in handle_one_connection (arg=0x55fa5c5ae438) at /home/alice/aliska/10.2/sql/sql_connect.cc:1260 #31 0x000055fa58968256 in pfs_spawn_thread (arg=0x55fa5c5634a8) at /home/alice/aliska/10.2/storage/perfschema/pfs.cc:1863 #32 0x00007fa53f90b6ba in start_thread (arg=0x7fa538133700) at pthread_create.c:333 #33 0x00007fa53eda03dd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109 {noformat} |
Assignee | Marko Mäkelä [ marko ] |
Fix Version/s | 10.3 [ 22126 ] |
Status | Open [ 1 ] | In Progress [ 3 ] |
issue.field.resolutiondate | 2018-02-09 08:47:11.0 | 2018-02-09 08:47:11.141 |
Fix Version/s | 10.3.5 [ 22905 ] | |
Fix Version/s | 10.2.13 [ 22910 ] | |
Fix Version/s | 10.2 [ 14601 ] | |
Fix Version/s | 10.3 [ 22126 ] | |
Resolution | Fixed [ 1 ] | |
Status | In Progress [ 3 ] | Closed [ 6 ] |
Workflow | MariaDB v3 [ 83386 ] | MariaDB v4 [ 153092 ] |
This is an incorrect debug assertion. There is no DB_TRX_ID column in non-leaf pages.
diff --git a/storage/innobase/page/page0zip.cc b/storage/innobase/page/page0zip.cc
index f28c6355b16..4ef37b81c29 100644
--- a/storage/innobase/page/page0zip.cc
+++ b/storage/innobase/page/page0zip.cc
@@ -3714,8 +3714,9 @@ page_zip_write_rec(
/* Copy the delete mark. */
if (rec_get_deleted_flag(rec, TRUE)) {
/* In delete-marked records, DB_TRX_ID must
- always refer to an existing undo log record. */
- ut_ad(!dict_index_is_clust(index)
+ always refer to an existing undo log record.
+ On non-leaf pages, the delete-mark flag is garbage. */
+ ut_ad(!index->is_primary() || !page_is_leaf(page)
|| row_get_rec_trx_id(rec, index, offsets));
*slot |= PAGE_ZIP_DIR_SLOT_DEL >> 8;