Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Duplicate
-
10.2(EOL), 10.3(EOL), 10.4(EOL)
-
None
Description
CREATE TABLE t1 (i INT, d1 DATE, d2 DATE NOT NULL, t TIMESTAMP, KEY(t)) ENGINE=MyISAM; |
INSERT INTO t1 VALUES (1,'2023-03-16','2023-03-15','2012-12-12 12:12:12'); |
ALTER TABLE t1 MODIFY t FLOAT AS (i) PERSISTENT; |
SELECT i, d1, d2 FROM t1 INTO OUTFILE 'load_t1'; |
DELETE FROM t1; |
LOAD DATA INFILE 'load_t1' INTO TABLE t1 (i,d1,d2); |
SELECT * FROM t1 WHERE d2 < d1; |
|
# Cleanup
|
--let $datadir= `SELECT @@datadir`
|
--remove_file $datadir/test/load_t1
|
DROP TABLE t1; |
10.3 df51dc28 |
mysqld: /data/src/10.3/sql/sql_type.h:374: Datetime::Datetime(THD*, Item*, sql_mode_t): Assertion `is_valid_value_slow()' failed.
|
190220 1:24:01 [ERROR] mysqld got signal 6 ;
|
|
#7 0x00007f93b73d0ee2 in __assert_fail () from /lib/x86_64-linux-gnu/libc.so.6
|
#8 0x00005621f32aeca2 in Datetime::Datetime (this=0x7f93b1575a40, thd=0x7f93a0000b00, item=0x7f93a0015558, flags=33554433) at /data/src/10.3/sql/sql_type.h:374
|
#9 0x00005621f32af89e in Item::val_datetime_packed (this=0x7f93a0015558) at /data/src/10.3/sql/item.h:1504
|
#10 0x00005621f36efaf1 in Arg_comparator::compare_datetime (this=0x7f93a0015840) at /data/src/10.3/sql/item_cmpfunc.cc:736
|
#11 0x00005621f3704094 in Arg_comparator::compare (this=0x7f93a0015840) at /data/src/10.3/sql/item_cmpfunc.h:102
|
#12 0x00005621f36f3033 in Item_func_lt::val_int (this=0x7f93a0015780) at /data/src/10.3/sql/item_cmpfunc.cc:1782
|
#13 0x00005621f372c0e1 in eval_const_cond (cond=0x7f93a0015780) at /data/src/10.3/sql/item_func.cc:81
|
#14 0x00005621f34212ca in Item_bool_func2::remove_eq_conds (this=0x7f93a0015780, thd=0x7f93a0000b00, cond_value=0x7f93a0015ce8, top_level_arg=true) at /data/src/10.3/sql/sql_select.cc:16387
|
#15 0x00005621f3404076 in make_join_statistics (join=0x7f93a00159d8, tables_list=..., keyuse_array=0x7f93a0015cc8) at /data/src/10.3/sql/sql_select.cc:4865
|
#16 0x00005621f33f9c73 in JOIN::optimize_inner (this=0x7f93a00159d8) at /data/src/10.3/sql/sql_select.cc:1888
|
#17 0x00005621f33f82cb in JOIN::optimize (this=0x7f93a00159d8) at /data/src/10.3/sql/sql_select.cc:1451
|
#18 0x00005621f3401ef2 in mysql_select (thd=0x7f93a0000b00, tables=0x7f93a0014ef0, wild_num=1, fields=..., conds=0x7f93a0015780, og_num=0, order=0x0, group=0x0, having=0x0, proc_param=0x0, select_options=2147748608, result=0x7f93a00159b0, unit=0x7f93a00049b8, select_lex=0x7f93a0005128) at /data/src/10.3/sql/sql_select.cc:4225
|
#19 0x00005621f33f3eb4 in handle_select (thd=0x7f93a0000b00, lex=0x7f93a00048f0, result=0x7f93a00159b0, setup_tables_done_option=0) at /data/src/10.3/sql/sql_select.cc:385
|
#20 0x00005621f33be8ec in execute_sqlcom_select (thd=0x7f93a0000b00, all_tables=0x7f93a0014ef0) at /data/src/10.3/sql/sql_parse.cc:6551
|
#21 0x00005621f33b4f5d in mysql_execute_command (thd=0x7f93a0000b00) at /data/src/10.3/sql/sql_parse.cc:3772
|
#22 0x00005621f33c28a5 in mysql_parse (thd=0x7f93a0000b00, rawbuf=0x7f93a0014ce8 "SELECT * FROM t1 WHERE d2 < d1", length=30, parser_state=0x7f93b15775f0, is_com_multi=false, is_next_command=false) at /data/src/10.3/sql/sql_parse.cc:8095
|
#23 0x00005621f33afa59 in dispatch_command (command=COM_QUERY, thd=0x7f93a0000b00, packet=0x7f93a0126141 "SELECT * FROM t1 WHERE d2 < d1", packet_length=30, is_com_multi=false, is_next_command=false) at /data/src/10.3/sql/sql_parse.cc:1854
|
#24 0x00005621f33ae431 in do_command (thd=0x7f93a0000b00) at /data/src/10.3/sql/sql_parse.cc:1396
|
#25 0x00005621f351674f in do_handle_one_connection (connect=0x5621f5aef8a0) at /data/src/10.3/sql/sql_connect.cc:1403
|
#26 0x00005621f35164d3 in handle_one_connection (arg=0x5621f5aef8a0) at /data/src/10.3/sql/sql_connect.cc:1309
|
#27 0x00005621f39b22e1 in pfs_spawn_thread (arg=0x5621f5b3c4c0) at /data/src/10.3/storage/perfschema/pfs.cc:1862
|
#28 0x00007f93b90a7494 in start_thread (arg=0x7f93b1578700) at pthread_create.c:333
|
#29 0x00007f93b748d93f in clone () from /lib/x86_64-linux-gnu/libc.so.6
|
Same on 10.4 debug.
10.2 and non-debug builds of 10.3/10.4 don't crash, but produce different kinds of meaningless output:
SELECT * FROM t1 WHERE d2 < d1; |
i d1 d2 t
|
i d1 d2 t
|
1118830592 0000-03-31 0000-00-00 NULL |
etc.
10.1 works okay:
SELECT * FROM t1 WHERE d2 < d1; |
i d1 d2 t
|
1 2023-03-16 2023-03-15 1
|
Note: i field is not important for the scenario, it's there only to make the test case applicable to 10.1 which doesn't allow a constant in the virtual column expression.
Attachments
Issue Links
- duplicates
-
MDEV-18486 Database crash on a table with indexed virtual column
-
- Closed
-
- relates to
-
MDEV-18486 Database crash on a table with indexed virtual column
-
- Closed
-
-
MDEV-16971 Assertion `is_valid_value_slow()' failed in Time::adjust_time_range_or_invalidate
-
- Closed
-
Activity
Field | Original Value | New Value |
---|---|---|
Attachment | threads [ 45491 ] |
Link |
This issue relates to |
Component/s | Virtual Columns [ 10803 ] | |
Fix Version/s | 10.2 [ 14601 ] | |
Fix Version/s | 10.3 [ 22126 ] | |
Fix Version/s | 10.4 [ 22408 ] | |
Affects Version/s | 10.2 [ 14601 ] | |
Affects Version/s | 10.4 [ 22408 ] | |
Description |
https://api.travis-ci.org/v3/job/366657240/log.txt
{noformat:title=10.3 560743198604caf677c543db9719cef871df09ce} mysqld: /home/travis/src/sql/sql_type.h:373: Datetime::Datetime(THD*, Item*, sql_mode_t): Assertion `is_valid_value_slow()' failed. 180415 13:49:29 [ERROR] mysqld got signal 6 ; Query (0x7f3775521930): UPDATE testdb_N.t1_base2_N AS A NATURAL JOIN testdb_N.t1_base1_N B SET A.`col_int_key` = 8, B.`pk` = 3 /* QNO 3318 CON_ID 15 */ Connection ID (thread ID): 35 Status: NOT_KILLED Optimizer switch: index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_merge_sort_intersection=off,engine_condition_pushdown=off,index_condition_pushdown=on,derived_merge=on,derived_with_keys=on,firstmatch=on,loosescan=on,materialization=on,in_to_exists=on,semijoin=on,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on,mrr=off,mrr_cost_based=off,mrr_sort_keys=off,outer_join_with_cache=on,semijoin_with_cache=on,join_cache_incremental=on,join_cache_hashed=on,join_cache_bka=on,optimize_join_buffer_size=off,table_elimination=on,extended_keys=on,exists_to_in=on,orderby_uses_equalities=on,condition_pushdown_for_derived=on,split_materialized=on {noformat} {noformat} #7 0x00007f37c0f22ca2 in __GI___assert_fail (assertion=0x55b945a6ffd8 "is_valid_value_slow()", file=0x55b945a6ffb8 "/home/travis/src/sql/sql_type.h", line=373, function=0x55b945a70560 <Datetime::Datetime(THD*, Item*, unsigned long long)::__PRETTY_FUNCTION__> "Datetime::Datetime(THD*, Item*, sql_mode_t)") at assert.c:101 #8 0x000055b944e3af9e in Datetime::Datetime (this=0x7f37b819fb40, thd=0x7f3774000f00, item=0x7f3775524f60, flags=33554433) at /home/travis/src/sql/sql_type.h:373 #9 0x000055b944e3bb84 in Item::val_datetime_packed (this=0x7f3775524f60) at /home/travis/src/sql/item.h:1455 #10 0x000055b945264d51 in Arg_comparator::compare_datetime (this=0x7f377401b730) at /home/travis/src/sql/item_cmpfunc.cc:738 #11 0x000055b945278cf0 in Arg_comparator::compare (this=0x7f377401b730) at /home/travis/src/sql/item_cmpfunc.h:102 #12 0x000055b945267f79 in Item_func_eq::val_int (this=0x7f377401b670) at /home/travis/src/sql/item_cmpfunc.cc:1727 #13 0x000055b945124811 in Type_handler_int_result::Item_val_bool (this=0x55b94667ebc0 <type_handler_long>, item=0x7f377401b670) at /home/travis/src/sql/sql_type.cc:3200 #14 0x000055b944e3b6ee in Item::val_bool (this=0x7f377401b670) at /home/travis/src/sql/item.h:1159 #15 0x000055b945272548 in Item_cond_and::val_int (this=0x7f377401bc58) at /home/travis/src/sql/item_cmpfunc.cc:4994 #16 0x000055b944fafbf2 in evaluate_join_record (join=0x7f3774016188, join_tab=0x7f3774019f10, error=0) at /home/travis/src/sql/sql_select.cc:19290 #17 0x000055b944faf9c0 in sub_select (join=0x7f3774016188, join_tab=0x7f3774019f10, end_of_records=false) at /home/travis/src/sql/sql_select.cc:19234 #18 0x000055b944faed99 in do_select (join=0x7f3774016188, procedure=0x0) at /home/travis/src/sql/sql_select.cc:18735 #19 0x000055b944f87f00 in JOIN::exec_inner (this=0x7f3774016188) at /home/travis/src/sql/sql_select.cc:3953 #20 0x000055b944f873a0 in JOIN::exec (this=0x7f3774016188) at /home/travis/src/sql/sql_select.cc:3747 #21 0x000055b944f88614 in mysql_select (thd=0x7f3774000f00, tables=0x7f3775521b00, wild_num=0, fields=..., conds=0x0, og_num=0, order=0x0, group=0x0, having=0x0, proc_param=0x0, select_options=551097991296, result=0x7f37740160b8, unit=0x7f3775520280, select_lex=0x7f37755209f8) at /home/travis/src/sql/sql_select.cc:4152 #22 0x000055b9450357ea in mysql_multi_update (thd=0x7f3774000f00, table_list=0x7f3775521b00, fields=0x7f3775520b20, values=0x7f3775521018, conds=0x0, options=550024249344, handle_duplicates=DUP_ERROR, ignore=false, unit=0x7f3775520280, select_lex=0x7f37755209f8, result=0x7f37b81a0440) at /home/travis/src/sql/sql_update.cc:1759 #23 0x000055b944f3ef97 in mysql_execute_command (thd=0x7f3774000f00) at /home/travis/src/sql/sql_parse.cc:4646 #24 0x000055b944f672e9 in Prepared_statement::execute (this=0x7f37754d5930, expanded_query=0x7f37b81a1340, open_cursor=false) at /home/travis/src/sql/sql_prepare.cc:4740 #25 0x000055b944f65733 in Prepared_statement::execute_loop (this=0x7f37754d5930, expanded_query=0x7f37b81a1340, open_cursor=false, packet=0x7f377400b56a "", packet_end=0x7f377400b56a "") at /home/travis/src/sql/sql_prepare.cc:4170 #26 0x000055b944f62faf in mysql_stmt_execute_common (thd=0x7f3774000f00, stmt_id=1567, packet=0x7f377400b56a "", packet_end=0x7f377400b56a "", cursor_flags=0, bulk_op=false, read_types=false) at /home/travis/src/sql/sql_prepare.cc:3170 #27 0x000055b944f62b52 in mysqld_stmt_execute (thd=0x7f3774000f00, packet_arg=0x7f377400b561 "\037\006", packet_length=9) at /home/travis/src/sql/sql_prepare.cc:3068 #28 0x000055b944f36e67 in dispatch_command (command=COM_STMT_EXECUTE, thd=0x7f3774000f00, packet=0x7f377400b561 "\037\006", packet_length=9, is_com_multi=false, is_next_command=false) at /home/travis/src/sql/sql_parse.cc:1788 #29 0x000055b944f35c4e in do_command (thd=0x7f3774000f00) at /home/travis/src/sql/sql_parse.cc:1391 #30 0x000055b9450994c9 in do_handle_one_connection (connect=0x55b94822a960) at /home/travis/src/sql/sql_connect.cc:1402 #31 0x000055b945099256 in handle_one_connection (arg=0x55b94822a960) at /home/travis/src/sql/sql_connect.cc:1308 #32 0x00007f37c1ae4184 in start_thread (arg=0x7f37b81a2700) at pthread_create.c:312 #33 0x00007f37c0ff103d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111 {noformat} {noformat:title=experimental 4feb78e17fbecf7fc7f2847b49b8c66b54879629} perl /home/travis/rqg/runall-new.pl --duration=350 --threads=6 --seed=1523800099 --reporters=Backtrace,ErrorLog,Deadlock --validators=TransformerNoComparator --views --redefine=conf/mariadb/versioning.yy --redefine=conf/mariadb/alter_table.yy --redefine=conf/mariadb/bulk_insert.yy --redefine=conf/mariadb/sequences.yy --basedir=/home/travis/server --mysqld=--log_output=FILE --mysqld=--max-statement-time=30 --mysqld=--lock-wait-timeout=10 --mysqld=--loose-innodb-lock-wait-timeout=5 --mysqld=--loose-debug_assert_on_not_freed_memory=0 --mysqld=--default-storage-engine=RocksDB --mysqld=--plugin-load-add=ha_rocksdb --mysqld=--binlog-format=row --grammar=conf/runtime/WL5004_sql.yy --gendata=conf/runtime/WL5004_data.zz --ps-protocol --transformers=ExecuteAsCTE,ExecuteAsDeleteReturning,ExecuteAsExcept,ExecuteAsInsertSelect,ExecuteAsIntersect,ExecuteAsUnion,ExecuteAsUpdateDelete,ExecuteAsView,ExecuteAsSPTwice --vardir=/home/travis/logs/vardir1_3 {noformat} Not reproducible right away. |
{code:sql}
CREATE TABLE t1 (i INT, d1 DATE, d2 DATE NOT NULL, t TIMESTAMP, KEY(t)) ENGINE=MyISAM; INSERT INTO t1 VALUES (1,'2023-03-16','2023-03-15','2012-12-12 12:12:12'); ALTER TABLE t1 MODIFY t FLOAT AS (i) PERSISTENT; SELECT i, d1, d2 FROM t1 INTO OUTFILE 'load_t1'; DELETE FROM t1; LOAD DATA INFILE 'load_t1' INTO TABLE t1 (i,d1,d2); SELECT * FROM t1 WHERE d2 < d1; # Cleanup --let $datadir= `SELECT @@datadir` --remove_file $datadir/test/load_t1 DROP TABLE t1; {code} {noformat:title=10.3 df51dc28} mysqld: /data/src/10.3/sql/sql_type.h:374: Datetime::Datetime(THD*, Item*, sql_mode_t): Assertion `is_valid_value_slow()' failed. 190220 1:24:01 [ERROR] mysqld got signal 6 ; #7 0x00007f93b73d0ee2 in __assert_fail () from /lib/x86_64-linux-gnu/libc.so.6 #8 0x00005621f32aeca2 in Datetime::Datetime (this=0x7f93b1575a40, thd=0x7f93a0000b00, item=0x7f93a0015558, flags=33554433) at /data/src/10.3/sql/sql_type.h:374 #9 0x00005621f32af89e in Item::val_datetime_packed (this=0x7f93a0015558) at /data/src/10.3/sql/item.h:1504 #10 0x00005621f36efaf1 in Arg_comparator::compare_datetime (this=0x7f93a0015840) at /data/src/10.3/sql/item_cmpfunc.cc:736 #11 0x00005621f3704094 in Arg_comparator::compare (this=0x7f93a0015840) at /data/src/10.3/sql/item_cmpfunc.h:102 #12 0x00005621f36f3033 in Item_func_lt::val_int (this=0x7f93a0015780) at /data/src/10.3/sql/item_cmpfunc.cc:1782 #13 0x00005621f372c0e1 in eval_const_cond (cond=0x7f93a0015780) at /data/src/10.3/sql/item_func.cc:81 #14 0x00005621f34212ca in Item_bool_func2::remove_eq_conds (this=0x7f93a0015780, thd=0x7f93a0000b00, cond_value=0x7f93a0015ce8, top_level_arg=true) at /data/src/10.3/sql/sql_select.cc:16387 #15 0x00005621f3404076 in make_join_statistics (join=0x7f93a00159d8, tables_list=..., keyuse_array=0x7f93a0015cc8) at /data/src/10.3/sql/sql_select.cc:4865 #16 0x00005621f33f9c73 in JOIN::optimize_inner (this=0x7f93a00159d8) at /data/src/10.3/sql/sql_select.cc:1888 #17 0x00005621f33f82cb in JOIN::optimize (this=0x7f93a00159d8) at /data/src/10.3/sql/sql_select.cc:1451 #18 0x00005621f3401ef2 in mysql_select (thd=0x7f93a0000b00, tables=0x7f93a0014ef0, wild_num=1, fields=..., conds=0x7f93a0015780, og_num=0, order=0x0, group=0x0, having=0x0, proc_param=0x0, select_options=2147748608, result=0x7f93a00159b0, unit=0x7f93a00049b8, select_lex=0x7f93a0005128) at /data/src/10.3/sql/sql_select.cc:4225 #19 0x00005621f33f3eb4 in handle_select (thd=0x7f93a0000b00, lex=0x7f93a00048f0, result=0x7f93a00159b0, setup_tables_done_option=0) at /data/src/10.3/sql/sql_select.cc:385 #20 0x00005621f33be8ec in execute_sqlcom_select (thd=0x7f93a0000b00, all_tables=0x7f93a0014ef0) at /data/src/10.3/sql/sql_parse.cc:6551 #21 0x00005621f33b4f5d in mysql_execute_command (thd=0x7f93a0000b00) at /data/src/10.3/sql/sql_parse.cc:3772 #22 0x00005621f33c28a5 in mysql_parse (thd=0x7f93a0000b00, rawbuf=0x7f93a0014ce8 "SELECT * FROM t1 WHERE d2 < d1", length=30, parser_state=0x7f93b15775f0, is_com_multi=false, is_next_command=false) at /data/src/10.3/sql/sql_parse.cc:8095 #23 0x00005621f33afa59 in dispatch_command (command=COM_QUERY, thd=0x7f93a0000b00, packet=0x7f93a0126141 "SELECT * FROM t1 WHERE d2 < d1", packet_length=30, is_com_multi=false, is_next_command=false) at /data/src/10.3/sql/sql_parse.cc:1854 #24 0x00005621f33ae431 in do_command (thd=0x7f93a0000b00) at /data/src/10.3/sql/sql_parse.cc:1396 #25 0x00005621f351674f in do_handle_one_connection (connect=0x5621f5aef8a0) at /data/src/10.3/sql/sql_connect.cc:1403 #26 0x00005621f35164d3 in handle_one_connection (arg=0x5621f5aef8a0) at /data/src/10.3/sql/sql_connect.cc:1309 #27 0x00005621f39b22e1 in pfs_spawn_thread (arg=0x5621f5b3c4c0) at /data/src/10.3/storage/perfschema/pfs.cc:1862 #28 0x00007f93b90a7494 in start_thread (arg=0x7f93b1578700) at pthread_create.c:333 #29 0x00007f93b748d93f in clone () from /lib/x86_64-linux-gnu/libc.so.6 {noformat} Same on 10.4 debug. 10.2 and non-debug builds of 10.3/10.4 don't crash, but produce different kinds of meaningless output: {code:sql} SELECT * FROM t1 WHERE d2 < d1; i d1 d2 t {code} {code:sql} i d1 d2 t 1118830592 0000-03-31 0000-00-00 NULL {code} etc. 10.1 works okay: {code:sql} SELECT * FROM t1 WHERE d2 < d1; i d1 d2 t 1 2023-03-16 2023-03-15 1 {code} _Note: {{i}} field is not important for the scenario, it's there only to make the test case applicable to 10.1 which doesn't allow a constant in the virtual column expression._ |
Summary | [Draft] Assertion `is_valid_value_slow()' failed in Datetime::Datetime | Assertion `is_valid_value_slow()' failed in Datetime::Datetime or corrupt data after ALTER with indexed persistent column |
Assignee | Elena Stepanova [ elenst ] | Alexander Barkov [ bar ] |
Link |
This issue relates to |
Fix Version/s | N/A [ 14700 ] | |
Fix Version/s | 10.2 [ 14601 ] | |
Fix Version/s | 10.3 [ 22126 ] | |
Fix Version/s | 10.4 [ 22408 ] | |
Resolution | Duplicate [ 3 ] | |
Status | Open [ 1 ] | Closed [ 6 ] |
Link |
This issue duplicates |
Workflow | MariaDB v3 [ 86572 ] | MariaDB v4 [ 154162 ] |
Also repeatable with this script (10.3 df51dc28f599112356461533a9ce40d6f6c8baa8):
) ENGINE=MyISAM;
Note, ALTER is not needed.
Additionally, this query returns a strange result:
+------+------+------------+------+
| i | d1 | d2 | t |
+------+------+------------+------+
| NULL | NULL | B375-12-15 | NULL |
+------+------+------------+------+