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

Assertion `maybe_null() || !null_value' failed in Item_func_ceiling::time_op

    XMLWordPrintable

    Details

      Description

      Similar to MDEV-20501, but no TRUNCATE involved and somewhat different stack.

      CREATE TABLE t (a INT,b TIME NOT NULL DEFAULT 1) ENGINE=MyISAM;
      SELECT b FROM t GROUP BY b HAVING CEILING (b)>0;
      

      Leads to:

      10.7.0 05e29e177df243b700392b797e26cae43fd3181e (Debug)

      mysqld: /test/10.7_dbg/sql/item_func.cc:2397: virtual bool Item_func_ceiling::time_op(THD*, MYSQL_TIME*): Assertion `maybe_null() || !null_value' failed.
      

      10.7.0 05e29e177df243b700392b797e26cae43fd3181e (Debug)

      Core was generated by `/test/MD280821-mariadb-10.7.0-linux-x86_64-dbg/bin/mysqld --no-defaults --core-'.
      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 0x15207d7b2700 (LWP 4118031))]
      (gdb) bt
      #0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
      #1  0x0000152094635859 in __GI_abort () at abort.c:79
      #2  0x0000152094635729 in __assert_fail_base (fmt=0x1520947cb588 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=0x55e86e570662 "maybe_null() || !null_value", file=0x55e86e570ae0 "/test/10.7_dbg/sql/item_func.cc", line=2397, function=<optimized out>) at assert.c:92
      #3  0x0000152094646f36 in __GI___assert_fail (assertion=assertion@entry=0x55e86e570662 "maybe_null() || !null_value", file=file@entry=0x55e86e570ae0 "/test/10.7_dbg/sql/item_func.cc", line=line@entry=2397, function=function@entry=0x55e86e5717d0 "virtual bool Item_func_ceiling::time_op(THD*, MYSQL_TIME*)") at assert.c:101
      #4  0x000055e86dad1d17 in Item_func_ceiling::time_op (this=0x152030014cc0, thd=0x152030000db8, to=0x15207d7b03e0) at /test/10.7_dbg/sql/item.h:1065
      #5  0x000055e86d94bd31 in Type_handler_time_common::Item_func_hybrid_field_type_get_date (this=<optimized out>, thd=<optimized out>, item=<optimized out>, warn=<optimized out>, ltime=0x15207d7b03e0, fuzzydate=<optimized out>) at /test/10.7_dbg/sql/sql_type.cc:5598
      #6  0x000055e86d9669e3 in Type_handler::Item_func_hybrid_field_type_get_date_with_warn (this=0x55e86ed3b400 <type_handler_time2>, thd=thd@entry=0x152030000db8, item=item@entry=0x152030014cc0, ltime=ltime@entry=0x15207d7b03e0, mode=mode@entry={m_mode = (date_mode_t::FUZZY_DATES | date_mode_t::TIME_ONLY | date_mode_t::FRAC_TRUNCATE | date_mode_t::INVALID_DATES)}) at /test/10.7_dbg/sql/sql_type.cc:5131
      #7  0x000055e86daa6eff in Item_func_hybrid_field_type::get_date (this=0x152030014cc0, thd=0x152030000db8, to=0x15207d7b03e0, mode={m_mode = (date_mode_t::FUZZY_DATES | date_mode_t::TIME_ONLY | date_mode_t::FRAC_TRUNCATE | date_mode_t::INVALID_DATES)}) at /test/10.7_dbg/sql/sql_type.h:7438
      #8  0x000055e86d95eed5 in Time::make_from_item (this=this@entry=0x15207d7b03e0, thd=thd@entry=0x152030000db8, warn=warn@entry=0x15207d7b03dc, item=item@entry=0x152030014cc0, opt={<Temporal::Options> = {<date_mode_t> = {m_mode = (date_mode_t::FUZZY_DATES | date_mode_t::TIME_ONLY | date_mode_t::FRAC_TRUNCATE | date_mode_t::INVALID_DATES)}, <No data fields>}, m_datetime_to_time_mode = Time::DATETIME_TO_TIME_YYYYMMDD_000000DD_MIX_TO_HOURS}) at /test/10.7_dbg/sql/sql_type.cc:758
      #9  0x000055e86d600907 in Time::Time (opt=<optimized out>, item=0x152030014cc0, thd=0x152030000db8, this=0x15207d7b03e0) at /test/10.7_dbg/sql/sql_type.h:1766
      #10 Item::val_time_packed (this=0x152030014cc0, thd=0x152030000db8) at /test/10.7_dbg/sql/item.h:2033
      #11 0x000055e86da8be6c in Arg_comparator::compare_time (this=0x152030014ea0) at /test/10.7_dbg/sql/item_cmpfunc.cc:704
      #12 0x000055e86da8a73e in Arg_comparator::compare (this=0x152030014ea0) at /test/10.7_dbg/sql/item_cmpfunc.h:103
      #13 Item_func_gt::val_int (this=0x152030014df0) at /test/10.7_dbg/sql/item_cmpfunc.cc:1802
      #14 0x000055e86d949e0a in Type_handler_int_result::Item_val_bool (this=<optimized out>, item=<optimized out>) at /test/10.7_dbg/sql/sql_type.cc:5092
      #15 0x000055e86d5ffa36 in Item::val_bool (this=0x152030014df0) at /test/10.7_dbg/sql/item.h:1687
      #16 0x000055e86d784111 in Item::eval_const_cond (this=0x152030014df0) at /test/10.7_dbg/sql/item.h:1694
      #17 Item_bool_func2::remove_eq_conds (this=0x152030014df0, thd=<optimized out>, cond_value=0x152030015cd0, top_level_arg=<optimized out>) at /test/10.7_dbg/sql/sql_select.cc:17925
      #18 0x000055e86d7ccf2e in make_join_statistics (join=join@entry=0x152030015988, tables_list=@0x152030013f50: {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0x152030015f30, last = 0x152030015f30, elements = 1}, <No data fields>}, keyuse_array=keyuse_array@entry=0x152030015ca8) at /test/10.7_dbg/sql/sql_select.cc:5628
      #19 0x000055e86d7d4edb in JOIN::optimize_inner (this=this@entry=0x152030015988) at /test/10.7_dbg/sql/sql_select.cc:2453
      #20 0x000055e86d7d5186 in JOIN::optimize (this=this@entry=0x152030015988) at /test/10.7_dbg/sql/sql_select.cc:1809
      #21 0x000055e86d7d57ff in mysql_select (thd=thd@entry=0x152030000db8, tables=0x152030014318, fields=@0x152030013fd8: {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0x1520300142d0, last = 0x1520300142d0, elements = 1}, <No data fields>}, conds=0x0, og_num=1, order=0x0, group=0x152030014b30, having=0x152030014df0, proc_param=0x0, select_options=2147748608, result=0x152030015960, unit=0x152030005120, select_lex=0x152030013d38) at /test/10.7_dbg/sql/sql_select.cc:4977
      #22 0x000055e86d7d5b03 in handle_select (thd=thd@entry=0x152030000db8, lex=lex@entry=0x152030005058, result=result@entry=0x152030015960, setup_tables_done_option=setup_tables_done_option@entry=0) at /test/10.7_dbg/sql/sql_select.cc:545
      #23 0x000055e86d7377ee in execute_sqlcom_select (thd=thd@entry=0x152030000db8, all_tables=0x152030014318) at /test/10.7_dbg/sql/sql_parse.cc:6256
      #24 0x000055e86d744678 in mysql_execute_command (thd=thd@entry=0x152030000db8, is_called_from_prepared_stmt=is_called_from_prepared_stmt@entry=false) at /test/10.7_dbg/sql/sql_parse.cc:3946
      #25 0x000055e86d730b83 in mysql_parse (thd=thd@entry=0x152030000db8, rawbuf=<optimized out>, length=<optimized out>, parser_state=parser_state@entry=0x15207d7b1400) at /test/10.7_dbg/sql/sql_parse.cc:8030
      #26 0x000055e86d73f788 in dispatch_command (command=command@entry=COM_QUERY, thd=thd@entry=0x152030000db8, packet=packet@entry=0x15203000b739 "SELECT b FROM t GROUP BY b HAVING CEILING (b)>0", packet_length=packet_length@entry=47, blocking=blocking@entry=true) at /test/10.7_dbg/sql/sql_class.h:1358
      #27 0x000055e86d742b90 in do_command (thd=0x152030000db8, blocking=blocking@entry=true) at /test/10.7_dbg/sql/sql_parse.cc:1404
      #28 0x000055e86d8b8f2e in do_handle_one_connection (connect=<optimized out>, connect@entry=0x55e8706363f8, put_in_cache=put_in_cache@entry=true) at /test/10.7_dbg/sql/sql_connect.cc:1418
      #29 0x000055e86d8b9533 in handle_one_connection (arg=arg@entry=0x55e8706363f8) at /test/10.7_dbg/sql/sql_connect.cc:1312
      #30 0x000055e86dd22586 in pfs_spawn_thread (arg=0x55e8705199d8) at /test/10.7_dbg/storage/perfschema/pfs.cc:2201
      #31 0x0000152094b44609 in start_thread (arg=<optimized out>) at pthread_create.c:477
      #32 0x0000152094732293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
      

      Bug confirmed present in:
      MariaDB: 10.4.22 (dbg), 10.5.13 (dbg), 10.6.5 (dbg), 10.7.0 (dbg)

      Bug (or feature/syntax) confirmed not present in:
      MariaDB: 10.2.41 (dbg), 10.2.41 (opt), 10.3.32 (dbg), 10.3.32 (opt), 10.4.22 (opt), 10.5.13 (opt), 10.6.5 (opt), 10.7.0 (opt)
      MySQL: 5.5.62 (dbg), 5.5.62 (opt), 5.6.51 (dbg), 5.6.51 (opt), 5.7.35 (dbg), 5.7.35 (opt), 8.0.26 (dbg), 8.0.26 (opt)

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              psergei Sergei Petrunia
              Reporter:
              Roel Roel Van de Paar
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Dates

                Created:
                Updated:

                  Git Integration