Details
-
Bug
-
Status: Confirmed (View Workflow)
-
Major
-
Resolution: Unresolved
-
10.4(EOL), 10.5, 10.6, 10.11, 11.0(EOL), 11.1(EOL), 11.2(EOL), 11.3(EOL), 11.4, 11.5(EOL)
Description
USE test;
|
SET SQL_MODE='';
|
CREATE TABLE t (v1 VARCHAR (255) AS (c1) PERSISTENT, c1 VARCHAR(50)) COLLATE=latin1_general_ci ENGINE=MyISAM;
|
INSERT INTO t VALUES(1,0xff00fef0);
|
CHECKSUM TABLE t EXTENDED;
|
Ref simplified testcase below in comments.
Leads to:
10.5.4 4080e3acefd7e58d88c2f3539fb6a0fb359cf057 |
mysqld: /test/10.5_dbg/sql/field.cc:7681: virtual String* Field_varstring::val_str(String*, String*): Assertion `marked_for_read()' failed.
|
10.5.4 4080e3acefd7e58d88c2f3539fb6a0fb359cf057 |
Core was generated by `/test/MD150620-mariadb-10.5.4-linux-x86_64-dbg/bin/mysqld --no-defaults --core-'.
|
Program terminated with signal SIGABRT, Aborted.
|
#0 __pthread_kill (threadid=<optimized out>, signo=signo@entry=6)
|
at ../sysdeps/unix/sysv/linux/pthread_kill.c:57
|
[Current thread is 1 (Thread 0x147aba8a2700 (LWP 1634674))]
|
(gdb) bt
|
#0 __pthread_kill (threadid=<optimized out>, signo=signo@entry=6) at ../sysdeps/unix/sysv/linux/pthread_kill.c:57
|
#1 0x0000555a824834c6 in my_write_core (sig=sig@entry=6) at /test/10.5_dbg/mysys/stacktrace.c:518
|
#2 0x0000555a81c25d60 in handle_fatal_signal (sig=6) at /test/10.5_dbg/sql/signal_handler.cc:330
|
#3 <signal handler called>
|
#4 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
|
#5 0x0000147abb716801 in __GI_abort () at abort.c:79
|
#6 0x0000147abb70639a in __assert_fail_base (fmt=0x147abb88d7d8 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=assertion@entry=0x555a8278a644 "marked_for_read()", file=file@entry=0x555a8278a473 "/test/10.5_dbg/sql/field.cc", line=line@entry=7681, function=function@entry=0x555a8278d140 <Field_varstring::val_str(String*, String*)::__PRETTY_FUNCTION__> "virtual String* Field_varstring::val_str(String*, String*)") at assert.c:92
|
#7 0x0000147abb706412 in __GI___assert_fail (assertion=assertion@entry=0x555a8278a644 "marked_for_read()", file=file@entry=0x555a8278a473 "/test/10.5_dbg/sql/field.cc", line=line@entry=7681, function=function@entry=0x555a8278d140 <Field_varstring::val_str(String*, String*)::__PRETTY_FUNCTION__> "virtual String* Field_varstring::val_str(String*, String*)") at assert.c:101
|
#8 0x0000555a81bff837 in Field_varstring::val_str (this=0x147a99852d30, val_buffer=<optimized out>, val_ptr=0x147aba8a0850) at /test/10.5_dbg/sql/field.cc:7681
|
#9 0x0000555a81c2e0d4 in Field::val_str (str=0x147aba8a0850, this=0x147a99852d30) at /test/10.5_dbg/sql/field.h:1025
|
#10 handler::calculate_checksum (this=0x147a998376a0) at /test/10.5_dbg/sql/handler.cc:5465
|
#11 0x0000555a81a46e4b in mysql_checksum_table (thd=thd@entry=0x147a99815088, tables=tables@entry=0x147a99874170, check_opt=check_opt@entry=0x147a9981a338) at /test/10.5_dbg/sql/sql_table.cc:11617
|
#12 0x0000555a8197c43d in mysql_execute_command (thd=thd@entry=0x147a99815088) at /test/10.5_dbg/sql/sql_parse.cc:4376
|
#13 0x0000555a8198815c in mysql_parse (thd=thd@entry=0x147a99815088, rawbuf=<optimized out>, length=<optimized out>, parser_state=parser_state@entry=0x147aba8a1350, is_com_multi=is_com_multi@entry=false, is_next_command=is_next_command@entry=false) at /test/10.5_dbg/sql/sql_parse.cc:7993
|
#14 0x0000555a81974c60 in dispatch_command (command=command@entry=COM_QUERY, thd=thd@entry=0x147a99815088, packet=packet@entry=0x147a99867089 "", packet_length=packet_length@entry=25, is_com_multi=is_com_multi@entry=false, is_next_command=is_next_command@entry=false) at /test/10.5_dbg/sql/sql_parse.cc:1874
|
#15 0x0000555a8197343a in do_command (thd=0x147a99815088) at /test/10.5_dbg/sql/sql_parse.cc:1355
|
#16 0x0000555a81acec47 in do_handle_one_connection (connect=<optimized out>, connect@entry=0x147a9cd7a808, put_in_cache=put_in_cache@entry=true) at /test/10.5_dbg/sql/sql_connect.cc:1411
|
#17 0x0000555a81acf363 in handle_one_connection (arg=arg@entry=0x147a9cd7a808) at /test/10.5_dbg/sql/sql_connect.cc:1313
|
#18 0x0000555a81f30902 in pfs_spawn_thread (arg=0x147aba046c88) at /test/10.5_dbg/storage/perfschema/pfs.cc:2201
|
#19 0x0000147abc3f96db in start_thread (arg=0x147aba8a2700) at pthread_create.c:463
|
#20 0x0000147abb7f788f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
|
Bug confirmed present in:
MariaDB: 10.4.14 (dbg), 10.5.4 (dbg)
Bug confirmed not present in:
MariaDB: 10.1.46 (dbg), 10.1.46 (opt), 10.2.33 (dbg), 10.2.33 (opt), 10.3.24 (dbg), 10.3.24 (opt), 10.4.14 (opt), 10.5.4 (opt)
MySQL: 5.5.62 (dbg), 5.5.62 (opt), 5.6.47 (dbg), 5.6.47 (opt), 5.7.29 (dbg), 5.7.29 (opt), 8.0.19 (dbg), 8.0.19 (opt)
Attachments
Issue Links
- relates to
-
MDEV-26820 Assertion `marked_for_read()' failed upon SELECT with VALUE(virtual column)
-
- Confirmed
-
Another crash variation when using the following test case
Leads to
11.5.0 8f0c9340537b84fcd7012d4a31e6f858e7eb919c (Debug)
mariadbd: /test/server_dbg/sql/field.cc:7982: virtual double Field_varstring::val_real(): Assertion `marked_for_read()' failed.
11.5.0 8f0c9340537b84fcd7012d4a31e6f858e7eb919c (Debug)
Core was generated by `/test/MD200324-mariadb-11.5.0-linux-x86_64-dbg/bin/mariadbd --no-defaults --max'.
Program terminated with signal SIGABRT, Aborted.
#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
[Current thread is 1 (Thread 0x14e8f405f700 (LWP 973951))]
(gdb) bt
#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#1 0x000014e8f8342859 in __GI_abort () at abort.c:79
#2 0x000014e8f8342729 in __assert_fail_base (fmt=0x14e8f84d8588 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=0x56497bdf0607 "marked_for_read()", file=0x56497bdf0473 "/test/server_dbg/sql/field.cc", line=7982, function=<optimized out>) at assert.c:92
#3 0x000014e8f8353fd6 in __GI___assert_fail (assertion=assertion@entry=0x56497bdf0607 "marked_for_read()", file=file@entry=0x56497bdf0473 "/test/server_dbg/sql/field.cc", line=line@entry=7982, function=function@entry=0x56497bdf27e8 "virtual double Field_varstring::val_real()") at assert.c:101
#4 0x000056497b282959 in Field_varstring::val_real (this=0x14e8ac023ca0) at /test/server_dbg/sql/field.cc:7982
#5 0x000056497b2cd349 in Item_field::val_real (this=0x14e8ac025020) at /test/server_dbg/sql/item.cc:3348
#6 0x000056497b34e26e in Item_func_plus::real_op (this=0x14e8ac025140) at /test/server_dbg/sql/item_func.cc:1112
#7 0x000056497b1bd226 in Item_func_hybrid_field_type::val_real_from_real_op (this=<optimized out>) at /test/server_dbg/sql/item_func.h:924
#8 Type_handler_real_result::Item_func_hybrid_field_type_val_real (this=<optimized out>, item=<optimized out>) at /test/server_dbg/sql/sql_type.cc:5500
#9 0x000056497b318c09 in Item_func_hybrid_field_type::val_real (this=0x14e8ac025140) at /test/server_dbg/sql/sql_type.h:7596
#10 0x000056497b2e63df in Item::save_real_in_field (this=0x14e8ac025140, field=0x14e8ac023d80, no_conversions=<optimized out>) at /test/server_dbg/sql/item.cc:6831
#11 0x000056497b1bffae in Type_handler_real_result::Item_save_in_field (this=<optimized out>, item=<optimized out>, field=<optimized out>, no_conversions=<optimized out>) at /test/server_dbg/sql/sql_type.cc:4343
#12 0x000056497b2cafbb in Item::save_in_field (this=0x14e8ac025140, field=0x14e8ac023d80, no_conversions=<optimized out>) at /test/server_dbg/sql/item.cc:6861
#13 0x000056497b27750a in Field::set_default (this=0x14e8ac023d80) at /test/server_dbg/sql/field.cc:2689
#14 0x000056497b29a300 in Field::save_in_field_default_value (this=0x14e8ac023d80, view_error_processing=view_error_processing@entry=false) at /test/server_dbg/sql/field.cc:11491
#15 0x000056497b23df53 in Item_default_specification::save_in_field (this=<optimized out>, field_arg=<optimized out>) at /test/server_dbg/sql/item.h:6879
#16 0x000056497aeec5b5 in fill_record (thd=thd@entry=0x14e8ac000d48, table=table@entry=0x14e8ac021b08, ptr=0x14e8ac023c88, ptr@entry=0x14e8ac023c78, values=@0x14e8ac01bb18: {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0x14e8ac01bbb8, last = 0x14e8ac01bc38, elements = 2}, <No data fields>}, ignore_errors=ignore_errors@entry=false, use_value=use_value@entry=false) at /test/server_dbg/sql/sql_base.cc:9333
#17 0x000056497aeec66f in fill_record_n_invoke_before_triggers (thd=thd@entry=0x14e8ac000d48, table=table@entry=0x14e8ac021b08, ptr=0x14e8ac023c78, values=@0x14e8ac01bb18: {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0x14e8ac01bbb8, last = 0x14e8ac01bc38, elements = 2}, <No data fields>}, ignore_errors=ignore_errors@entry=false, event=event@entry=TRG_EVENT_INSERT) at /test/server_dbg/sql/sql_base.cc:9388
#18 0x000056497af31e5a in mysql_insert (thd=thd@entry=0x14e8ac000d48, table_list=<optimized out>, fields=@0x14e8ac006168: {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0x56497c6dbc80 <end_of_list>, last = 0x14e8ac006168, elements = 0}, <No data fields>}, values_list=@0x14e8ac0061b0: {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0x14e8ac01bc60, last = 0x14e8ac01bc60, elements = 1}, <No data fields>}, update_fields=@0x14e8ac006198: {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0x56497c6dbc80 <end_of_list>, last = 0x14e8ac006198, elements = 0}, <No data fields>}, update_values=@0x14e8ac006180: {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0x56497c6dbc80 <end_of_list>, last = 0x14e8ac006180, elements = 0}, <No data fields>}, duplic=DUP_ERROR, ignore=false, result=0x0) at /test/server_dbg/sql/sql_insert.cc:1112
#19 0x000056497af7212f in mysql_execute_command (thd=thd@entry=0x14e8ac000d48, is_called_from_prepared_stmt=is_called_from_prepared_stmt@entry=false) at /test/server_dbg/sql/sql_parse.cc:4452
#20 0x000056497af618a6 in mysql_parse (thd=thd@entry=0x14e8ac000d48, rawbuf=<optimized out>, length=<optimized out>, parser_state=parser_state@entry=0x14e8f405e270) at /test/server_dbg/sql/sql_parse.cc:7821
#21 0x000056497af78b61 in dispatch_command (command=command@entry=COM_QUERY, thd=thd@entry=0x14e8ac000d48, packet=packet@entry=0x14e8ac00b229 "INSERT INTO t0 VALUES (0,DEFAULT)", packet_length=packet_length@entry=33, blocking=blocking@entry=true) at /test/server_dbg/sql/sql_class.h:1636
#22 0x000056497af7b5d9 in do_command (thd=0x14e8ac000d48, blocking=blocking@entry=true) at /test/server_dbg/sql/sql_parse.cc:1405
#23 0x000056497b100545 in do_handle_one_connection (connect=<optimized out>, connect@entry=0x56497dbf4088, put_in_cache=put_in_cache@entry=true) at /test/server_dbg/sql/sql_connect.cc:1447
#24 0x000056497b100afa in handle_one_connection (arg=arg@entry=0x56497dbf4088) at /test/server_dbg/sql/sql_connect.cc:1349
#25 0x000056497b581c58 in pfs_spawn_thread (arg=0x56497dbc8748) at /test/server_dbg/storage/perfschema/pfs.cc:2201
#26 0x000014e8f8853609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#27 0x000014e8f843f133 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
Bug confirmed present in:
MariaDB: 10.4.34 (dbg), 10.5.25 (dbg), 10.6.18 (dbg), 10.11.8 (dbg), 11.0.6 (dbg), 11.1.4 (dbg), 11.2.4 (dbg), 11.3.2 (dbg), 11.4.2 (dbg), 11.5.0 (dbg)
Bug (or feature/syntax) confirmed not present in:
MariaDB: 10.4.34 (opt), 10.5.25 (opt), 10.6.18 (opt), 10.11.8 (opt), 11.0.6 (opt), 11.1.4 (opt), 11.2.4 (opt), 11.3.2 (opt), 11.4.2 (opt), 11.5.0 (opt)