Details
-
Bug
-
Status: Closed (View Workflow)
-
Critical
-
Resolution: Fixed
-
10.2(EOL), 10.3(EOL), 10.4(EOL)
Description
10.2 debug 734029fa79 |
mysqld: /data/src/10.2/storage/innobase/include/dict0dict.ic:1064: dict_field_t* dict_index_get_nth_field(const dict_index_t*, ulint): Assertion `pos < index->n_def' failed.
|
181226 21:54:35 [ERROR] mysqld got signal 6 ;
|
 |
#7 0x00007fd23a225ee2 in __assert_fail () from /lib/x86_64-linux-gnu/libc.so.6
|
#8 0x000055ced64d106a in dict_index_get_nth_field (index=0x7fd1d4028868, pos=65535) at /data/src/10.2/storage/innobase/include/dict0dict.ic:1064
|
#9 0x000055ced64d7039 in row_upd_changes_some_index_ord_field_binary (table=0x7fd1d400a448, update=0x7fd1d4020240) at /data/src/10.2/storage/innobase/row/row0upd.cc:1944
|
#10 0x000055ced64da870 in row_upd (node=0x7fd1d4020128, thr=0x7fd1d4020430) at /data/src/10.2/storage/innobase/row/row0upd.cc:3267
|
#11 0x000055ced64dadab in row_upd_step (thr=0x7fd1d4020430) at /data/src/10.2/storage/innobase/row/row0upd.cc:3425
|
#12 0x000055ced6481437 in row_update_for_mysql (prebuilt=0x7fd1d401f958) at /data/src/10.2/storage/innobase/row/row0mysql.cc:1830
|
#13 0x000055ced6347786 in ha_innobase::update_row (this=0x7fd1d401e6b8, old_row=0x7fd1d400c180 "\377", new_row=0x7fd1d400c170 "\377") at /data/src/10.2/storage/innobase/handler/ha_innodb.cc:9000
|
#14 0x000055ced603ba17 in handler::ha_update_row (this=0x7fd1d401e6b8, old_data=0x7fd1d400c180 "\377", new_data=0x7fd1d400c170 "\377") at /data/src/10.2/sql/handler.cc:5993
|
#15 0x000055ced5ea2458 in mysql_update (thd=0x7fd1d4000b00, table_list=0x7fd1d40111b8, fields=..., values=..., conds=0x7fd1d4011d00, order_num=0, order=0x0, limit=18446744073709551615, handle_duplicates=DUP_ERROR, ignore=false, found_return=0x7fd23810c8b0, updated_return=0x7fd23810c960) at /data/src/10.2/sql/sql_update.cc:809
|
#16 0x000055ced5db5cab in mysql_execute_command (thd=0x7fd1d4000b00) at /data/src/10.2/sql/sql_parse.cc:4292
|
#17 0x000055ced5dc17f7 in mysql_parse (thd=0x7fd1d4000b00, rawbuf=0x7fd1d40110c0 "UPDATE t1 SET pk = pk + 1 WHERE pk = 1", length=38, parser_state=0x7fd23810d250, is_com_multi=false, is_next_command=false) at /data/src/10.2/sql/sql_parse.cc:8014
|
#18 0x000055ced5daf12f in dispatch_command (command=COM_QUERY, thd=0x7fd1d4000b00, packet=0x7fd1d40191a1 "UPDATE t1 SET pk = pk + 1 WHERE pk = 1", packet_length=38, is_com_multi=false, is_next_command=false) at /data/src/10.2/sql/sql_parse.cc:1825
|
#19 0x000055ced5dada92 in do_command (thd=0x7fd1d4000b00) at /data/src/10.2/sql/sql_parse.cc:1379
|
#20 0x000055ced5f00569 in do_handle_one_connection (connect=0x55ced9000580) at /data/src/10.2/sql/sql_connect.cc:1335
|
#21 0x000055ced5f002f6 in handle_one_connection (arg=0x55ced9000580) at /data/src/10.2/sql/sql_connect.cc:1241
|
#22 0x00007fd23bce1494 in start_thread (arg=0x7fd23810e700) at pthread_create.c:333
|
#23 0x00007fd23a2e293f in clone () from /lib/x86_64-linux-gnu/libc.so.6
|
10.2 non-debug 734029fa79 |
#2 <signal handler called>
|
#3 row_upd_changes_some_index_ord_field_binary (table=<optimized out>, update=<optimized out>) at /data/src/10.2/storage/innobase/row/row0upd.cc:1943
|
#4 0x00005611a4dd4128 in row_upd (thr=0x7f39c001a048, node=0x7f39c0019d50) at /data/src/10.2/storage/innobase/row/row0upd.cc:3267
|
#5 row_upd_step (thr=thr@entry=0x7f39c001a048) at /data/src/10.2/storage/innobase/row/row0upd.cc:3425
|
#6 0x00005611a4da4584 in row_update_for_mysql (prebuilt=0x7f39c00195a0) at /data/src/10.2/storage/innobase/row/row0mysql.cc:1830
|
#7 0x00005611a4ceb629 in ha_innobase::update_row (this=<optimized out>, old_row=<optimized out>, new_row=<optimized out>) at /data/src/10.2/storage/innobase/handler/ha_innodb.cc:9000
|
#8 0x00005611a4ad3543 in handler::ha_update_row (this=0x7f39c0018400, old_data=0x7f39c0006148 "\377", new_data=0x7f39c0006138 "\377") at /data/src/10.2/sql/handler.cc:5993
|
#9 0x00005611a49d351d in mysql_update (thd=0x7f39c00009a8, table_list=0x7f39c000f230, fields=..., values=..., conds=0x7f39c000fd78, order_num=<optimized out>, order=<optimized out>, limit=18446744073709551615, handle_duplicates=DUP_ERROR, ignore=false, found_return=0x7f3a257f9c20, updated_return=0x7f3a257f9cd0) at /data/src/10.2/sql/sql_update.cc:809
|
#10 0x00005611a4934568 in mysql_execute_command (thd=0x7f39c00009a8) at /data/src/10.2/sql/sql_parse.cc:4292
|
#11 0x00005611a493b48a in mysql_parse (thd=0x7f39c00009a8, rawbuf=<optimized out>, length=<optimized out>, parser_state=<optimized out>, is_com_multi=<optimized out>, is_next_command=<optimized out>) at /data/src/10.2/sql/sql_parse.cc:8014
|
#12 0x00005611a493f004 in dispatch_command (command=command@entry=COM_QUERY, thd=thd@entry=0x7f39c00009a8, packet=packet@entry=0x7f39c0006ce9 "UPDATE t1 SET pk = pk + 1 WHERE pk = 1", packet_length=packet_length@entry=38, is_com_multi=is_com_multi@entry=false, is_next_command=is_next_command@entry=false) at /data/src/10.2/sql/sql_parse.cc:1825
|
#13 0x00005611a493fa39 in do_command (thd=0x7f39c00009a8) at /data/src/10.2/sql/sql_parse.cc:1379
|
#14 0x00005611a4a08e34 in do_handle_one_connection (connect=connect@entry=0x5611a8851338) at /data/src/10.2/sql/sql_connect.cc:1335
|
#15 0x00005611a4a08fd4 in handle_one_connection (arg=0x5611a8851338) at /data/src/10.2/sql/sql_connect.cc:1241
|
#16 0x00007f3a28fac494 in start_thread (arg=0x7f3a257fc700) at pthread_create.c:333
|
#17 0x00007f3a275ad93f in clone () from /lib/x86_64-linux-gnu/libc.so.6
|
On 10.3 and 10.4 the assertion failure is slightly different:
10.3 debug 812bb1303c |
mysqld: /data/src/10.3/storage/innobase/include/dict0dict.ic:485: dict_v_col_t* dict_table_get_nth_v_col(const dict_table_t*, ulint): Assertion `pos < table->n_v_def' failed.
|
181226 22:31:39 [ERROR] mysqld got signal 6 ;
|
 |
#7 0x00007fb19cf91ee2 in __assert_fail () from /lib/x86_64-linux-gnu/libc.so.6
|
#8 0x000055648ae6c494 in dict_table_get_nth_v_col (table=0x7fb12c028be8, pos=0) at /data/src/10.3/storage/innobase/include/dict0dict.ic:485
|
#9 0x000055648ae79cac in build_template_field (prebuilt=0x7fb12c2af698, clust_index=0x7fb12c296368, index=0x7fb12c296368, table=0x7fb12c3655f0, field=0x7fb12c34e900, i=1, v_no=0) at /data/src/10.3/storage/innobase/handler/ha_innodb.cc:7362
|
#10 0x000055648ae7b9e8 in ha_innobase::build_template (this=0x7fb12c2fa7e8, whole_row=true) at /data/src/10.3/storage/innobase/handler/ha_innodb.cc:7863
|
#11 0x000055648ae7f52f in ha_innobase::change_active_index (this=0x7fb12c2fa7e8, keynr=0) at /data/src/10.3/storage/innobase/handler/ha_innodb.cc:9517
|
#12 0x000055648ae7e6e8 in ha_innobase::index_init (this=0x7fb12c2fa7e8, keynr=0) at /data/src/10.3/storage/innobase/handler/ha_innodb.cc:9073
|
#13 0x000055648a7c5c45 in handler::ha_index_init (this=0x7fb12c2fa7e8, idx=0, sorted=true) at /data/src/10.3/sql/handler.h:3054
|
#14 0x000055648accc422 in QUICK_RANGE_SELECT::reset (this=0x7fb12c3bb980) at /data/src/10.3/sql/opt_range.cc:11405
|
#15 0x000055648a959b62 in mysql_update (thd=0x7fb12c000b00, table_list=0x7fb12c013a48, fields=..., values=..., conds=0x7fb12c014610, order_num=0, order=0x0, limit=18446744073709551615, handle_duplicates=DUP_ERROR, ignore=false, found_return=0x7fb19c04c740, updated_return=0x7fb19c04c800) at /data/src/10.3/sql/sql_update.cc:816
|
#16 0x000055648a861aad in mysql_execute_command (thd=0x7fb12c000b00) at /data/src/10.3/sql/sql_parse.cc:4581
|
#17 0x000055648a86cec9 in mysql_parse (thd=0x7fb12c000b00, rawbuf=0x7fb12c013950 "UPDATE t1 SET pk = pk + 1 WHERE pk = 1", length=38, parser_state=0x7fb19c04d640, is_com_multi=false, is_next_command=false) at /data/src/10.3/sql/sql_parse.cc:8092
|
#18 0x000055648a85a07d in dispatch_command (command=COM_QUERY, thd=0x7fb12c000b00, packet=0x7fb12c01ba31 "UPDATE t1 SET pk = pk + 1 WHERE pk = 1", packet_length=38, is_com_multi=false, is_next_command=false) at /data/src/10.3/sql/sql_parse.cc:1851
|
#19 0x000055648a858aa1 in do_command (thd=0x7fb12c000b00) at /data/src/10.3/sql/sql_parse.cc:1396
|
#20 0x000055648a9c0ab0 in do_handle_one_connection (connect=0x55648f4d9130) at /data/src/10.3/sql/sql_connect.cc:1402
|
#21 0x000055648a9c0834 in handle_one_connection (arg=0x55648f4d9130) at /data/src/10.3/sql/sql_connect.cc:1308
|
#22 0x00007fb19ea4d494 in start_thread (arg=0x7fb19c04e700) at pthread_create.c:333
|
#23 0x00007fb19d04e93f in clone () from /lib/x86_64-linux-gnu/libc.so.6
|
To reproduce:
- start 10.1 server with all defaults (current 10.1 9ad1663f78 or 10.1.37 will do, I didn't check other versions);
- run
CREATE TABLE t1 (t TIMESTAMP NULL, v TIMESTAMP AS (t) VIRTUAL, pk INT AUTO_INCREMENT, PRIMARY KEY(pk));
INSERT INTO t1 () VALUES ();
- shutdown server normally;
- start 10.2+ server with all defaults on the same datadir;
- run mysql_upgrade (optionally, it doesn't affect the outcome);
- run
UPDATE t1 SET pk = pk + 1 WHERE pk = 1
The datadir pre-created on current 10.1 as described is attached.
Same upon upgrade from 10.0.
Attachments
Issue Links
- blocks
-
MDEV-14046 Allow ALGORITHM=INPLACE for 10.1 tables that contain virtual columns
- Closed
- is caused by
-
MDEV-5800 indexes on virtual (not materialized) columns
- Closed
-
MDEV-17199 Assertion `pos < table->n_v_def' failed in dict_table_get_nth_v_col after upgrade from 10.1/10.0 to 10.2
- Closed
- relates to
-
MDEV-14023 10.1 InnoDB tables with virtual columns cannot be accessed in 10.2
- Closed
-
MDEV-18085 Assertion `!col->mbmaxlen || len >= col->mbminlen * fixed_len / col->mbmaxlen' failed in rec_get_converted_size_comp_prefix_low upon UPDATE after upgrade from 10.1
- Closed
-
MDEV-18086 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 upon UPDATE after upgrade from 10.1
- Closed
-
MDEV-18087 Server crashes in mach_read_from_n_little_endian upon UPDATE after upgrade from 10.1
- Closed
-
MDEV-18090 Assertion `dict_table_get_n_cols(old_table) + dict_table_get_n_v_cols(old_table) >= table->s->fields + 3' failed in innobase_build_col_map upon ALTER after upgrade from 10.1
- Closed
-
MDEV-18047 Crash in dict_foreign_qualify_index or Assertion `index->magic_n == 76789786' or Assertion `pos < index->n_def' failed in dict_index_get_nth_field
- Confirmed