Details
-
Bug
-
Status: Closed (View Workflow)
-
Critical
-
Resolution: Fixed
-
10.4(EOL)
Description
See MDEV-18156 for very similar failures with different SQL_MODE on 10.2+.
The InnoDB part is also similar to MDEV-17890.
CREATE TABLE t1 ( |
t TIMESTAMP(4), |
d DATETIME,
|
v TIMESTAMP(3) AS (t) VIRTUAL, |
KEY(v,d) |
);
|
|
INSERT IGNORE INTO t1 (t,d) VALUES ('2006-03-01 12:44:34.0496','2029-10-10 21:27:53'); |
|
SET SQL_MODE= 'TIME_ROUND_FRACTIONAL'; |
UPDATE IGNORE t1 SET d = NOW(); |
|
# Cleanup
|
DROP TABLE t1; |
With MyISAM, the test case produces an error:
10.4 2465d3e00b2 |
query 'UPDATE IGNORE t1 SET d = NOW()' failed: 126: Index for table './test/t1.MYI' is corrupt; try to repair it
|
With InnoDB, there is a different error:
10.4 2465d3e00b2 |
2019-01-06 17:46:39 9 [ERROR] InnoDB: Record in index `v` of table `test`.`t1` was not found on update: TUPLE (info_bits=0, 3 fields): {[6]D { (0x44057B1201F4),[5] V (0x99C4D556F5),[6] (0x000000000200)} at: COMPACT RECORD(info_bits=0, 3 fields): {[6]D { (0x44057B1201EA),[5] V (0x99C4D556F5),[6] (0x000000000200)}
|
Which on a debug build is followed by an assertion failure:
mysqld: /data/src/10.4/storage/innobase/row/row0upd.cc:2426: dberr_t row_upd_sec_index_entry(upd_node_t*, que_thr_t*): Assertion `0' failed.
|
190106 17:46:39 [ERROR] mysqld got signal 6 ;
|
|
#7 0x00007f1c167b1ee2 in __assert_fail () from /lib/x86_64-linux-gnu/libc.so.6
|
#8 0x00005625c5e2d1d3 in row_upd_sec_index_entry (node=0x7f1bb816d7b8, thr=0x7f1bb80723f8) at /data/src/10.4/storage/innobase/row/row0upd.cc:2426
|
#9 0x00005625c5e2d8a6 in row_upd_sec_step (node=0x7f1bb816d7b8, thr=0x7f1bb80723f8) at /data/src/10.4/storage/innobase/row/row0upd.cc:2539
|
#10 0x00005625c5e30271 in row_upd (node=0x7f1bb816d7b8, thr=0x7f1bb80723f8) at /data/src/10.4/storage/innobase/row/row0upd.cc:3317
|
#11 0x00005625c5e305d9 in row_upd_step (thr=0x7f1bb80723f8) at /data/src/10.4/storage/innobase/row/row0upd.cc:3432
|
#12 0x00005625c5dde726 in row_update_for_mysql (prebuilt=0x7f1bb816cc88) at /data/src/10.4/storage/innobase/row/row0mysql.cc:1889
|
#13 0x00005625c5c7b518 in ha_innobase::update_row (this=0x7f1bb8132d78, old_row=0x7f1bb800a9b8 "\371D\005{\022\001\360\231\304\325V\365D\005{\022\001\364\245\245\245\245\245\245\360\251", new_row=0x7f1bb800a9a0 "\371\\2\"\337\036\221\231\242\r\033\247D\005{\022\001\364\245\245\245\245\245\245\371D\005{\022\001\360\231\304\325V\365D\005{\022\001\364\245\245\245\245\245\245\360\251") at /data/src/10.4/storage/innobase/handler/ha_innodb.cc:8842
|
#14 0x00005625c5953deb in handler::ha_update_row (this=0x7f1bb8132d78, old_data=0x7f1bb800a9b8 "\371D\005{\022\001\360\231\304\325V\365D\005{\022\001\364\245\245\245\245\245\245\360\251", new_data=0x7f1bb800a9a0 "\371\\2\"\337\036\221\231\242\r\033\247D\005{\022\001\364\245\245\245\245\245\245\371D\005{\022\001\360\231\304\325V\365D\005{\022\001\364\245\245\245\245\245\245\360\251") at /data/src/10.4/sql/handler.cc:6305
|
#15 0x00005625c5730cb0 in mysql_update (thd=0x7f1bb8000b00, table_list=0x7f1bb8015080, fields=..., values=..., conds=0x0, order_num=0, order=0x0, limit=18446744073709551615, handle_duplicates=DUP_ERROR, ignore=true, found_return=0x7f1c10341f20, updated_return=0x7f1c10341fe0) at /data/src/10.4/sql/sql_update.cc:947
|
#16 0x00005625c5635f08 in mysql_execute_command (thd=0x7f1bb8000b00) at /data/src/10.4/sql/sql_parse.cc:4584
|
#17 0x00005625c5641244 in mysql_parse (thd=0x7f1bb8000b00, rawbuf=0x7f1bb8014f98 "UPDATE IGNORE t1 SET d = NOW()", length=30, parser_state=0x7f1c10342600, is_com_multi=false, is_next_command=false) at /data/src/10.4/sql/sql_parse.cc:8104
|
#18 0x00005625c562e46e in dispatch_command (command=COM_QUERY, thd=0x7f1bb8000b00, packet=0x7f1bb8137fd1 "UPDATE IGNORE t1 SET d = NOW()", packet_length=30, is_com_multi=false, is_next_command=false) at /data/src/10.4/sql/sql_parse.cc:1851
|
#19 0x00005625c562ce92 in do_command (thd=0x7f1bb8000b00) at /data/src/10.4/sql/sql_parse.cc:1396
|
#20 0x00005625c57990ba in do_handle_one_connection (connect=0x5625c7f84be0) at /data/src/10.4/sql/sql_connect.cc:1402
|
#21 0x00005625c5798e3e in handle_one_connection (arg=0x5625c7f84be0) at /data/src/10.4/sql/sql_connect.cc:1308
|
#22 0x00005625c5c58164 in pfs_spawn_thread (arg=0x5625c7f7fb80) at /data/src/10.4/storage/perfschema/pfs.cc:1862
|
#23 0x00007f1c1826d494 in start_thread (arg=0x7f1c10343700) at pthread_create.c:333
|
#24 0x00007f1c1686e93f in clone () from /lib/x86_64-linux-gnu/libc.so.6
|
Attachments
Issue Links
- is blocked by
-
MDEV-20397 Support TIMESTAMP, DATETIME, TIME in ROUND() and TRUNCATE()
- Closed
- relates to
-
MDEV-18156 Assertion `0' failed or `btr_validate_index(index, 0, false)' in row_upd_sec_index_entry or error code 126: Index is corrupted upon DELETE with PAD_CHAR_TO_FULL_LENGTH
- Closed
-
MDEV-20403 Assertion `0' or Assertion `btr_validate_index(index, 0)' failed in row_upd_sec_index_entry or error code 126: Index is corrupted upon UPDATE with TIMESTAMP..ON UPDATE
- Closed
-
MDEV-17890 Server crash on DELETE with YEAR field with truncated expr
- Closed
-
MDEV-20610 Assertion failed or btr_validate_index(..) in row_upd_sec_index_entry on a time_zone change
- Stalled
-
MDEV-20618 Assertion `btr_validate_index(index, 0, false)' failed in row_upd_sec_index_entry
- Closed
-
MDEV-20763 Table corruption or Assertion `btr_validate_index(index, 0, false)' failed in row_upd_sec_index_entry with virtual column and EMPTY_STRING_IS_NULL SQL mode
- Closed