[MDEV-20682] Assertion `fixed == 1' failed in Item_cond_and::val_int Created: 2019-09-26  Updated: 2023-10-10

Status: Confirmed
Project: MariaDB Server
Component/s: Optimizer
Affects Version/s: 10.2, 10.3, 10.4, 10.5, 10.6, 10.7, 10.8, 10.9, 10.10
Fix Version/s: 10.4, 10.5

Type: Bug Priority: Major
Reporter: Alice Sherepa Assignee: Igor Babaev
Resolution: Unresolved Votes: 0
Labels: not-10.6+

Issue Links:
Relates
relates to MDEV-18945 Assertion `fixed == 1' failed in Item... Closed

 Description   

repeatable with MyIsam/Aria, not with InnoDB

create table t1 (id int, dt date)engine=myisam;
insert into t1 values (19,'2008-05-21');
 
create table t2 (id int, dt date)engine=myisam;
insert into t2 values (45,'2006-01-12'),(45,'2034-12-19');
 
create algorithm=temptable view v2 as select * from t2;
 
update (t1 join (t1 as a1 join v2 on v2.id = a1.id) on (v2.dt <5 and v2.dt=a1.dt)) set t1.id =1;
 
drop view v2;
drop table t1,t2;

10.2 2d6719d7ee92843d5b0b9a

#3  <signal handler called>
#4  0x00007f5108dc7428 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:54
#5  0x00007f5108dc902a in __GI_abort () at abort.c:89
#6  0x00007f5108dbfbd7 in __assert_fail_base (fmt=<optimized out>, assertion=assertion@entry=0x555722064810 "fixed == 1", file=file@entry=0x555722064bd8 "/10.2/sql/item_cmpfunc.cc", line=line@entry=5076, function=function@entry=0x555722066de0 <Item_cond_and::val_int()::__PRETTY_FUNCTION__> "virtual longlong Item_cond_and::val_int()") at assert.c:92
#7  0x00007f5108dbfc82 in __GI___assert_fail (assertion=0x555722064810 "fixed == 1", file=0x555722064bd8 "/10.2/sql/item_cmpfunc.cc", line=5076, function=0x555722066de0 <Item_cond_and::val_int()::__PRETTY_FUNCTION__> "virtual longlong Item_cond_and::val_int()") at assert.c:101
#8  0x00005557217c50ed in Item_cond_and::val_int (this=0x7f50b8042440) at /10.2/sql/item_cmpfunc.cc:5076
#9  0x00005557215529d2 in make_join_select (join=0x7f50b8038378, select=0x7f50b8041940, cond=0x7f50b8039520) at /10.2/sql/sql_select.cc:9948
#10 0x000055572153ae95 in JOIN::optimize_inner (this=0x7f50b8038378) at /10.2/sql/sql_select.cc:1779
#11 0x00005557215385f1 in JOIN::optimize (this=0x7f50b8038378) at /10.2/sql/sql_select.cc:1113
#12 0x0000555721541ab6 in mysql_select (thd=0x7f50b8000b00, tables=0x7f50b8012c68, wild_num=0, fields=..., conds=0x0, og_num=0, order=0x0, group=0x0, having=0x0, proc_param=0x0, select_options=1342177408, result=0x7f50b80382b0, unit=0x7f50b8004700, select_lex=0x7f50b8004e40) at /10.2/sql/sql_select.cc:3804
#13 0x00005557215eb139 in mysql_multi_update (thd=0x7f50b8000b00, table_list=0x7f50b8012c68, fields=0x7f50b8004f68, values=0x7f50b8005440, conds=0x0, options=0, handle_duplicates=DUP_ERROR, ignore=false, unit=0x7f50b8004700, select_lex=0x7f50b8004e40, result=0x7f51004397a0) at /10.2/sql/sql_update.cc:1635
#14 0x00005557214f908c in mysql_execute_command (thd=0x7f50b8000b00) at /10.2/sql/sql_parse.cc:4082
#15 0x0000555721504bc9 in mysql_parse (thd=0x7f50b8000b00, rawbuf=0x7f50b8012468 "update (t1 join (t1 as a1 join v2 on v2.id = a1.id) on (v2.dt <5 and v2.dt=a1.dt)) set t1.id =1", length=95, parser_state=0x7f510043a080, is_com_multi=false, is_next_command=false) at /10.2/sql/sql_parse.cc:7759
#16 0x00005557214f2e8c in dispatch_command (command=COM_QUERY, thd=0x7f50b8000b00, packet=0x7f50b8096131 "update (t1 join (t1 as a1 join v2 on v2.id = a1.id) on (v2.dt <5 and v2.dt=a1.dt)) set t1.id =1", packet_length=95, is_com_multi=false, is_next_command=false) at /10.2/sql/sql_parse.cc:1831
#17 0x00005557214f17a0 in do_command (thd=0x7f50b8000b00) at /10.2/sql/sql_parse.cc:1385
#18 0x00005557216479ad in do_handle_one_connection (connect=0x5557259f6fd0) at /10.2/sql/sql_connect.cc:1336
#19 0x0000555721647718 in handle_one_connection (arg=0x5557259f6fd0) at /10.2/sql/sql_connect.cc:1241
#20 0x0000555721e74036 in pfs_spawn_thread (arg=0x555725a01dc0) at /10.2/storage/perfschema/pfs.cc:1862
#21 0x00007f5109a046ba in start_thread (arg=0x7f510043b700) at pthread_create.c:333
#22 0x00007f5108e9941d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109



 Comments   
Comment by Alice Sherepa [ 2022-04-26 ]

/10.8/src/sql/item_cmpfunc.cc:5416: virtual longlong Item_cond_and::val_int(): Assertion `fixed()' failed.

Comment by Alice Sherepa [ 2023-10-10 ]

still repeatable on 10.4 and 10.5, but on 10.6+ - ER_TRUNCATED_WRONG_VALUE (1292): Truncated incorrect datetime value: '5'

Version: '10.5.23-MariaDB-debug-log'  
mariadbd: /10.5/src/sql/item_cmpfunc.cc:5528: virtual longlong Item_cond_and::val_int(): Assertion `fixed == 1' failed.
231010 11:09:43 [ERROR] mysqld got signal 6 ;
 
Server version: 10.5.23-MariaDB-debug-log source revision: b04af64882f233e3937f729aac321de504db3f63
 
/lib/x86_64-linux-gnu/libc.so.6(+0x33fd6)[0x7f27b7ccffd6]
sql/item_cmpfunc.cc:5529(Item_cond_and::val_int())[0x5568ba0d8333]
sql/sql_select.cc:11731(make_join_select(JOIN*, SQL_SELECT*, Item*))[0x5568b98b16e4]
sql/sql_select.cc:2640(JOIN::optimize_stage2())[0x5568b9868154]
sql/sql_select.cc:2389(JOIN::optimize_inner())[0x5568b9865337]
sql/sql_select.cc:1721(JOIN::optimize())[0x5568b985e505]
sql/sql_select.cc:4845(mysql_select(THD*, TABLE_LIST*, List<Item>&, Item*, unsigned int, st_order*, st_order*, Item*, st_order*, unsigned long long, select_result*, st_select_lex_unit*, st_select_lex*))[0x5568b987f1cc]
sql/sql_update.cc:1970(mysql_multi_update(THD*, TABLE_LIST*, List<Item>*, List<Item>*, Item*, unsigned long long, enum_duplicates, bool, st_select_lex_unit*, st_select_lex*, multi_update**))[0x5568b9ac5927]
sql/sql_parse.cc:4565(mysql_execute_command(THD*))[0x5568b97a79b0]
sql/sql_parse.cc:8120(mysql_parse(THD*, char*, unsigned int, Parser_state*, bool, bool))[0x5568b97c0977]
sql/sql_parse.cc:1894(dispatch_command(enum_server_command, THD*, char*, unsigned int, bool, bool))[0x5568b97963a5]
sql/sql_parse.cc:1375(do_command(THD*))[0x5568b9792d0d]
sql/sql_connect.cc:1416(do_handle_one_connection(CONNECT*, bool))[0x5568b9bf195b]
sql/sql_connect.cc:1320(handle_one_connection)[0x5568b9bf12bf]
perfschema/pfs.cc:2203(pfs_spawn_thread)[0x5568ba87daba]
nptl/pthread_create.c:478(start_thread)[0x7f27b81ea609]
 
Query (0x62b0000852a8): update (t1 join (t1 as a1 join v2 on v2.id = a1.id) on (v2.dt <5 and v2.dt=a1.dt)) set t1.id =1

Generated at Thu Feb 08 09:01:22 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.