Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-40024

Assertion `marked_for_read()' failed in Field_varstring::val_decimal upon SELECT with index on virtual column under READ UNCOMMITTED

    XMLWordPrintable

Details

    Description

      CLI Testcase:

      CREATE TABLE t (c1 VARCHAR(1),c2 INT AS (CHAR_LENGTH(c1)) VIRTUAL,INDEX (c2));
      INSERT INTO t (c1) VALUES (0);
      SET SESSION tx_isolation=0;
      SELECT * FROM t WHERE c1=19 AND c2 ORDER BY c1;

      MTR Testcase:

      --source include/have_innodb.inc
      CREATE TABLE t (c1 VARCHAR(1),c2 INT AS (CHAR_LENGTH(c1)) VIRTUAL,INDEX (c2)) ENGINE=InnoDB;
      INSERT INTO t (c1) VALUES (0);
      SET SESSION tx_isolation=0;
      SELECT * FROM t WHERE c1=19 AND c2 ORDER BY c1;

      Leads to:

      CS 13.1.0 02e1853c894906737fe0ea5f836adb087b1a72ad (Debug, Clang 22.1.6-20260529) Build 05/06/2026

      mariadbd: /test/13.0_dbg/sql/field.cc:8200: virtual my_decimal *Field_varstring::val_decimal(my_decimal *): Assertion `marked_for_read()' failed.

      CS 13.1.0 02e1853c894906737fe0ea5f836adb087b1a72ad (Debug, Clang 22.1.6-20260529) Build 05/06/2026

      Core was generated by `/test/MD050626-mariadb-13.1.0-linux-x86_64-dbg/bin/mariadbd --no-defaults --loo'.
      Program terminated with signal SIGABRT, Aborted.
      #0  __pthread_kill_implementation (no_tid=0, signo=6, threadid=<optimized out>)at ./nptl/pthread_kill.c:44
      (gdb) bt
      #0  __pthread_kill_implementation (no_tid=0, signo=6, threadid=<optimized out>)at ./nptl/pthread_kill.c:44
      #1  __pthread_kill_internal (signo=6, threadid=<optimized out>)at ./nptl/pthread_kill.c:78
      #2  __GI___pthread_kill (threadid=<optimized out>, signo=signo@entry=6)at ./nptl/pthread_kill.c:89
      #3  0x000073b44b24526e in __GI_raise (sig=sig@entry=6)at ../sysdeps/posix/raise.c:26
      #4  0x000073b44b2288ff in __GI_abort () at ./stdlib/abort.c:79
      #5  0x000073b44b22881b in __assert_fail_base (fmt=0x73b44b3d01e8 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=assertion@entry=0x60844a8b5f45 "marked_for_read()", file=file@entry=0x60844a9139f1 "/test/13.0_dbg/sql/field.cc", line=line@entry=8200, function=function@entry=0x60844a916637 "virtual my_decimal *Field_varstring::val_decimal(my_decimal *)") at ./assert/assert.c:94
      #6  0x000073b44b23b507 in __assert_fail (assertion=0x60844a8b5f45 "marked_for_read()", file=0x60844a9139f1 "/test/13.0_dbg/sql/field.cc", line=8200, function=0x60844a916637 "virtual my_decimal *Field_varstring::val_decimal(my_decimal *)") at ./assert/assert.c:103
      #7  0x0000608449c90a29 in Field_varstring::val_decimal (this=0x6bb328031ec0, decimal_value=0x73b4484dca20) at /test/13.0_dbg/sql/field.cc:8200
      #8  0x0000608449ce0a6c in Item_field::val_decimal (this=0x6bb32801b290, decimal_value=0x73b4484dca20) at /test/13.0_dbg/sql/item.cc:3599
      #9  0x0000608449b55e55 in VDec::VDec (this=0x73b4484dca18, item=0x6bb32801b290)at /test/13.0_dbg/sql/sql_type.cc:334
      #10 0x0000608449d0b963 in Arg_comparator::compare_decimal (this=0x6bb32801b528)at /test/13.0_dbg/sql/item_cmpfunc.cc:949
      #11 0x0000608449d22f58 in Arg_comparator::compare (this=0x6bb32801b528)at /test/13.0_dbg/sql/item_cmpfunc.h:114
      #12 0x0000608449d0dcd9 in Item_func_eq::val_bool (this=0x6bb32801b460)at /test/13.0_dbg/sql/item_cmpfunc.cc:1912
      #13 0x0000608449d1b297 in Item_cond_and::val_bool (this=0x6bb328020620)at /test/13.0_dbg/sql/item_cmpfunc.cc:5781
      #14 0x0000608449842a75 in SQL_SELECT::skip_record (this=0x6bb3280201c0, thd=0x6bb328000d60) at /test/13.0_dbg/sql/opt_range.h:1971
      #15 0x0000608449cad4aa in find_all_keys (thd=0x6bb328000d60, param=0x73b4484dd368, select=0x6bb3280201c0, fs_info=0x6bb3280192f0, buffpek_pointers=0x73b4484dd000, tempfile=0x73b4484dd180, pq=0x0, found_rows=0x6bb3280194f0) at /test/13.0_dbg/sql/filesort.cc:1057
      #16 0x0000608449cab83e in filesort (thd=0x6bb328000d60, table=0x6bb32802bc60, filesort=0x6bb328020750, tracker=0x6bb328020ef0, join=0x6bb32801c4b0, first_table_bit=1) at /test/13.0_dbg/sql/filesort.cc:445
      #17 0x000060844995b158 in create_sort_index (thd=0x6bb328000d60, join=0x6bb32801c4b0, tab=0x6bb32801efd0, fsort=0x6bb328020750)at /test/13.0_dbg/sql/sql_select.cc:28272
      #18 0x000060844995ae22 in st_join_table::sort_table (this=0x6bb32801efd0)at /test/13.0_dbg/sql/sql_select.cc:25822
      #19 0x0000608449933fc9 in join_init_read_record (tab=0x6bb32801efd0)at /test/13.0_dbg/sql/sql_select.cc:25742
      #20 0x000060844991307f in sub_select (join=0x6bb32801c4b0, join_tab=0x6bb32801efd0, end_of_records=false)at /test/13.0_dbg/sql/sql_select.cc:24716
      #21 0x0000608449936f9e in do_select (join=0x6bb32801c4b0, procedure=0x0)at /test/13.0_dbg/sql/sql_select.cc:24230
      #22 0x0000608449936486 in JOIN::exec_inner (this=0x6bb32801c4b0)at /test/13.0_dbg/sql/sql_select.cc:5125
      #23 0x00006084499357a3 in JOIN::exec (this=0x6bb32801c4b0)at /test/13.0_dbg/sql/sql_select.cc:4913
      #24 0x00006084499138cb in mysql_select (thd=0x6bb328000d60, tables=0x6bb32801ab20, fields=..., conds=0x6bb32801b7e0, og_num=1, order=0x6bb32801c300, group=0x0, having=0x0, proc_param=0x0, select_options=2164525824, result=0x6bb32801c480, unit=0x6bb328005280, select_lex=0x6bb32801a480)at /test/13.0_dbg/sql/sql_select.cc:5439
      #25 0x000060844991342d in handle_select (thd=0x6bb328000d60, lex=0x6bb3280051a0, result=0x6bb32801c480, setup_tables_done_option=0)at /test/13.0_dbg/sql/sql_select.cc:636
      #26 0x00006084498bdfe6 in execute_sqlcom_select (thd=0x6bb328000d60, all_tables=0x6bb32801ab20) at /test/13.0_dbg/sql/sql_parse.cc:6217
      #27 0x00006084498b4418 in mysql_execute_command (thd=0x6bb328000d60, is_called_from_prepared_stmt=false) at /test/13.0_dbg/sql/sql_parse.cc:3991
      #28 0x00006084498ad208 in mysql_parse (thd=0x6bb328000d60, rawbuf=0x6bb32801a3c0 "SELECT * FROM t WHERE c1=19 AND c2 ORDER BY c1", length=46, parser_state=0x73b4484df9f0)at /test/13.0_dbg/sql/sql_parse.cc:7945
      #29 0x00006084498aa95e in dispatch_command (command=COM_QUERY, thd=0x6bb328000d60, packet=0x6bb32800b5f1 "", packet_length=46, blocking=true) at /test/13.0_dbg/sql/sql_parse.cc:1903
      #30 0x00006084498adc8a in do_command (thd=0x6bb328000d60, blocking=true)at /test/13.0_dbg/sql/sql_parse.cc:1437
      #31 0x0000608449a7efae in do_handle_one_connection (connect=0x60844d4ba820, put_in_cache=true) at /test/13.0_dbg/sql/sql_connect.cc:1503
      #32 0x0000608449a7ed91 in handle_one_connection (arg=0x60844d499180)at /test/13.0_dbg/sql/sql_connect.cc:1415
      #33 0x000073b44b29ca94 in start_thread (arg=<optimized out>)at ./nptl/pthread_create.c:447
      #34 0x000073b44b329c3c in clone3 ()at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78

      Bug Detection Matrix

          Rel    o/d  Build   Commit                                    UniqueID observed
      CS  10.6   dbg  100426  f39b634db715cd9dc1835653d1ce544df2aa1613  marked_for_read()|SIGABRT|Field_varstring::val_decimal|Item_field::val_decimal|VDec::VDec|Arg_comparator::compare_decimal
      CS  10.6   opt  100426  f39b634db715cd9dc1835653d1ce544df2aa1613  No bug found
      CS  10.11  dbg  100426  ba774a0a90fac0163babe9d7a964aa36503e1711  marked_for_read()|SIGABRT|Field_varstring::val_decimal|Item_field::val_decimal|VDec::VDec|Arg_comparator::compare_decimal
      CS  10.11  opt  100426  ba774a0a90fac0163babe9d7a964aa36503e1711  No bug found
      CS  11.4   dbg  100426  dc89915ad9bf3dcb67e66d2844c77ec0403373de  marked_for_read()|SIGABRT|Field_varstring::val_decimal|Item_field::val_decimal|VDec::VDec|Arg_comparator::compare_decimal
      CS  11.4   opt  100426  dc89915ad9bf3dcb67e66d2844c77ec0403373de  No bug found
      CS  11.8   dbg  100426  e47db94aea7f0d6e0177e948486fc8860331f05f  marked_for_read()|SIGABRT|Field_varstring::val_decimal|Item_field::val_decimal|VDec::VDec|Arg_comparator::compare_decimal
      CS  11.8   opt  100426  e47db94aea7f0d6e0177e948486fc8860331f05f  No bug found
      CS  12.3   dbg  100426  f5bb9922107672e88f7b5cbdb3d25151cc5744bb  marked_for_read()|SIGABRT|Field_varstring::val_decimal|Item_field::val_decimal|VDec::VDec|Arg_comparator::compare_decimal
      CS  12.3   opt  100426  f5bb9922107672e88f7b5cbdb3d25151cc5744bb  No bug found
      CS  13.0   dbg  210526  c8e8d33309606e682c98675d594dbd23ebc2ddf6  marked_for_read()|SIGABRT|Field_varstring::val_decimal|Item_field::val_decimal|VDec::VDec|Arg_comparator::compare_decimal
      CS  13.0   opt  210526  c8e8d33309606e682c98675d594dbd23ebc2ddf6  No bug found
      CS  13.1   dbg  050626  02e1853c894906737fe0ea5f836adb087b1a72ad  marked_for_read()|SIGABRT|Field_varstring::val_decimal|Item_field::val_decimal|VDec::VDec|Arg_comparator::compare_decimal
      CS  13.1   opt  050626  02e1853c894906737fe0ea5f836adb087b1a72ad  No bug found
      ES  10.6   dbg  100426  84a80c8b38208d362225496da08d86d8d454e453  marked_for_read()|SIGABRT|Field_varstring::val_decimal|Item_field::val_decimal|VDec::VDec|Arg_comparator::compare_decimal
      ES  10.6   opt  100426  84a80c8b38208d362225496da08d86d8d454e453  No bug found
      ES  11.4   dbg  100426  8b2bf17b733262409422ce7d039a0c021fc47077  marked_for_read()|SIGABRT|Field_varstring::val_decimal|Item_field::val_decimal|VDec::VDec|Arg_comparator::compare_decimal
      ES  11.4   opt  100426  8b2bf17b733262409422ce7d039a0c021fc47077  No bug found
      ES  11.8   dbg  100426  854cae81f52e477c7777a51db26ba640d8755b81  marked_for_read()|SIGABRT|Field_varstring::val_decimal|Item_field::val_decimal|VDec::VDec|Arg_comparator::compare_decimal
      ES  11.8   opt  100426  854cae81f52e477c7777a51db26ba640d8755b81  No bug found
      ES  12.3   dbg  220426  613a6253fe9efc12e166f83a97663ba263db8317  marked_for_read()|SIGABRT|Field_varstring::val_decimal|Item_field::val_decimal|VDec::VDec|Arg_comparator::compare_decimal
      ES  12.3   opt  220426  613a6253fe9efc12e166f83a97663ba263db8317  No bug found
      MS  5.5    dbg  070123  bac287c315b1792e7ae33f91add6a60292f9bae8  No bug found
      MS  5.5    opt  070123  bac287c315b1792e7ae33f91add6a60292f9bae8  No bug found
      MS  5.6    dbg  070123  dab95781a1244104d6b87020ac2fc4d190ba2946  No bug found
      MS  5.6    opt  070123  dab95781a1244104d6b87020ac2fc4d190ba2946  No bug found
      MS  5.7    dbg  070525  f7680e98b6bbe3500399fbad465d08a6b75d7a5c  No bug found
      MS  5.7    opt  070525  f7680e98b6bbe3500399fbad465d08a6b75d7a5c  No bug found
      MS  8.0    dbg  060224  49ef33f7edadef3ae04665e73d1babd40179a4f1  No bug found
      MS  8.0    opt  060224  49ef33f7edadef3ae04665e73d1babd40179a4f1  No bug found
      MS  9.1    dbg  211024  61a3a1d8ef15512396b4c2af46e922a19bf2b174  No bug found
      MS  9.1    opt  211024  61a3a1d8ef15512396b4c2af46e922a19bf2b174  No bug found

      Attachments

        Issue Links

          Activity

            People

              midenok Aleksey Midenkov
              Roel Roel Van de Paar
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:

                Git Integration

                  Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.