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

Server crash or assertion failures in my_datetime_to_str

    XMLWordPrintable

    Details

      Description

      CREATE  TABLE t1 (f DATETIME, KEY(f));
      INSERT INTO t1 VALUES (NOW()),(NOW());
      EXPLAIN EXTENDED SELECT * FROM t1 WHERE 1995.0000000 BETWEEN f AND '2012-12-12';
       
      # Cleanup
      DROP TABLE t1;
      

      10.4 non-debug 4d61f124

      #3  <signal handler called>
      #4  0x000055c269ac0aea in my_mmssff_to_str (ltime=ltime@entry=0x7fd36b5451c0, to=to@entry=0x7fd36b54527e "00:00.@", fsp=fsp@entry=7) at /data/src/10.4/sql-common/my_time.c:1489
      #5  0x000055c269ac2b27 in my_datetime_to_str (l_time=l_time@entry=0x7fd36b5451c0, to=0x7fd36b545270 "0000-00-00 00:00:00.@", digits=digits@entry=7) at /data/src/10.4/sql-common/my_time.c:1574
      #6  0x000055c26960bc35 in Datetime::to_string (dec=7, str=0x7fd36b545250, this=0x7fd36b5451c0) at /data/src/10.4/sql/sql_type.h:2259
      #7  Item_cache_datetime::val_str (this=0x7fd354012670, to=0x7fd36b545250) at /data/src/10.4/sql/item.h:6758
      #8  0x000055c2695fb9e3 in Item::print_value (this=0x7fd354012670, str=0x7fd36b545680) at /data/src/10.4/sql/item.cc:508
      #9  0x000055c26961a437 in Item_func_between::print (this=0x7fd354010e00, str=0x7fd36b545680, query_type=QT_EXPLAIN_EXTENDED) at /data/src/10.4/sql/item_cmpfunc.cc:2319
      #10 0x000055c26943a0da in st_select_lex::print (this=0x7fd35400fec0, thd=0x7fd3540009a8, str=0x7fd36b545680, query_type=QT_EXPLAIN_EXTENDED) at /data/src/10.4/sql/sql_select.cc:27426
      #11 0x000055c2693c9795 in st_select_lex_unit::print (this=0x7fd354004710, str=0x7fd36b545680, query_type=QT_EXPLAIN_EXTENDED) at /data/src/10.4/sql/sql_lex.cc:3014
      #12 0x000055c269302d88 in execute_sqlcom_select (thd=thd@entry=0x7fd3540009a8, all_tables=<optimized out>) at /data/src/10.4/sql/sql_parse.cc:6326
      #13 0x000055c2693eb370 in mysql_execute_command (thd=thd@entry=0x7fd3540009a8) at /data/src/10.4/sql/sql_parse.cc:3899
      #14 0x000055c2693f25e9 in mysql_parse (thd=thd@entry=0x7fd3540009a8, rawbuf=<optimized out>, length=79, parser_state=parser_state@entry=0x7fd36b5481a0, is_com_multi=is_com_multi@entry=false, is_next_command=is_next_command@entry=false) at /data/src/10.4/sql/sql_parse.cc:7901
      #15 0x000055c2693f49e2 in dispatch_command (command=command@entry=COM_QUERY, thd=thd@entry=0x7fd3540009a8, packet=packet@entry=0x7fd354007a19 "", packet_length=packet_length@entry=79, is_com_multi=is_com_multi@entry=false, is_next_command=is_next_command@entry=false) at /data/src/10.4/sql/sql_parse.cc:1842
      #16 0x000055c2693f6109 in do_command (thd=0x7fd3540009a8) at /data/src/10.4/sql/sql_parse.cc:1360
      #17 0x000055c2694c5704 in do_handle_one_connection (connect=connect@entry=0x55c26b134b98) at /data/src/10.4/sql/sql_connect.cc:1412
      #18 0x000055c2694c57b4 in handle_one_connection (arg=arg@entry=0x55c26b134b98) at /data/src/10.4/sql/sql_connect.cc:1316
      #19 0x000055c269a71e14 in pfs_spawn_thread (arg=0x55c26b0f6358) at /data/src/10.4/storage/perfschema/pfs.cc:1869
      #20 0x00007fd37734a4a4 in start_thread (arg=0x7fd36b549700) at pthread_create.c:456
      #21 0x00007fd37547ed0f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:97
      

      10.4 debug 4d61f124

      mysqld: /data/src/10.4/sql-common/my_time.c:1482: my_mmssff_to_str: Assertion `fsp <= 6' failed.
      200131 20:20:37 [ERROR] mysqld got signal 6 ;
       
      #7  0x00007f3c031d1f12 in __GI___assert_fail (assertion=0x562a4bb0445f "fsp <= 6", file=0x562a4bb04268 "/data/src/10.4/sql-common/my_time.c", line=1482, function=0x562a4bb04600 <__PRETTY_FUNCTION__.10666> "my_mmssff_to_str") at assert.c:101
      #8  0x0000562a4b658c82 in my_mmssff_to_str (ltime=0x7f3bfd379c30, to=0x7f3bfd379cce "", fsp=7) at /data/src/10.4/sql-common/my_time.c:1482
      #9  0x0000562a4b65915b in my_datetime_to_str (l_time=0x7f3bfd379c30, to=0x7f3bfd379cc0 "0000-00-00 00:", digits=7) at /data/src/10.4/sql-common/my_time.c:1574
      #10 0x0000562a4ac6e310 in Datetime::to_string (this=0x7f3bfd379c30, str=0x7f3bfd379ca0, dec=7) at /data/src/10.4/sql/sql_type.h:2259
      #11 0x0000562a4ade08a4 in Item_cache_datetime::val_str (this=0x7f3bec015aa8, to=0x7f3bfd379ca0) at /data/src/10.4/sql/item.h:6758
      #12 0x0000562a4adbbe74 in Item::print_value (this=0x7f3bec015aa8, str=0x7f3bfd37a180) at /data/src/10.4/sql/item.cc:508
      #13 0x0000562a4add9042 in Item_cache::print (this=0x7f3bec015aa8, str=0x7f3bfd37a180, query_type=QT_EXPLAIN_EXTENDED) at /data/src/10.4/sql/item.cc:9753
      #14 0x0000562a4adbbc75 in Item::print_parenthesised (this=0x7f3bec015aa8, str=0x7f3bfd37a180, query_type=QT_EXPLAIN_EXTENDED, parent_prec=BETWEEN_PRECEDENCE) at /data/src/10.4/sql/item.cc:478
      #15 0x0000562a4aded7e1 in Item_func_between::print (this=0x7f3bec0141e0, str=0x7f3bfd37a180, query_type=QT_EXPLAIN_EXTENDED) at /data/src/10.4/sql/item_cmpfunc.cc:2319
      #16 0x0000562a4aad3221 in st_select_lex::print (this=0x7f3bec013298, thd=0x7f3bec000af0, str=0x7f3bfd37a180, query_type=QT_EXPLAIN_EXTENDED) at /data/src/10.4/sql/sql_select.cc:27426
      #17 0x0000562a4aa0b580 in st_select_lex_unit::print (this=0x7f3bec004a18, str=0x7f3bfd37a180, query_type=QT_EXPLAIN_EXTENDED) at /data/src/10.4/sql/sql_lex.cc:3014
      #18 0x0000562a4aa4a502 in execute_sqlcom_select (thd=0x7f3bec000af0, all_tables=0x7f3bec013858) at /data/src/10.4/sql/sql_parse.cc:6326
      #19 0x0000562a4aa3fecd in mysql_execute_command (thd=0x7f3bec000af0) at /data/src/10.4/sql/sql_parse.cc:3899
      #20 0x0000562a4aa4e903 in mysql_parse (thd=0x7f3bec000af0, rawbuf=0x7f3bec013198 "EXPLAIN EXTENDED SELECT * FROM t1 WHERE 1995.0000000 BETWEEN f AND '2012-12-12'", length=79, parser_state=0x7f3bfd37b160, is_com_multi=false, is_next_command=false) at /data/src/10.4/sql/sql_parse.cc:7901
      #21 0x0000562a4aa39ad0 in dispatch_command (command=COM_QUERY, thd=0x7f3bec000af0, packet=0x7f3bec0083a1 "", packet_length=79, is_com_multi=false, is_next_command=false) at /data/src/10.4/sql/sql_parse.cc:1842
      #22 0x0000562a4aa3815d in do_command (thd=0x7f3bec000af0) at /data/src/10.4/sql/sql_parse.cc:1360
      #23 0x0000562a4abc1377 in do_handle_one_connection (connect=0x562a4d8ef010) at /data/src/10.4/sql/sql_connect.cc:1412
      #24 0x0000562a4abc10c6 in handle_one_connection (arg=0x562a4d8ef010) at /data/src/10.4/sql/sql_connect.cc:1316
      #25 0x0000562a4b5c97c3 in pfs_spawn_thread (arg=0x562a4d882b10) at /data/src/10.4/storage/perfschema/pfs.cc:1869
      #26 0x00007f3c0515a4a4 in start_thread (arg=0x7f3bfd37c700) at pthread_create.c:456
      #27 0x00007f3c0328ed0f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:97
      

      10.2 non-debug f37a56de

      #3  <signal handler called>
      #4  0x0000560c288faed2 in my_datetime_to_str (l_time=<optimized out>, to=0x7fae795b73c0 "0000-00-00 00:00:00.\fV", digits=7) at /data/src/10.2/sql-common/my_time.c:1118
      #5  0x0000560c288faf55 in my_TIME_to_str (l_time=l_time@entry=0x7fae795b7350, to=<optimized out>, digits=<optimized out>) at /data/src/10.2/sql-common/my_time.c:1145
      #6  0x0000560c2844a861 in Item::val_string_from_date (this=0x7fae68010be0, str=0x7fae795b73a0) at /data/src/10.2/sql/item.cc:325
      #7  0x0000560c2844c0a4 in Item::print_value (this=0x7fae68010be0, str=0x7fae795b77c0) at /data/src/10.2/sql/item.cc:636
      #8  0x0000560c284684b7 in Item_func_between::print (this=0x7fae6800fbc0, str=0x7fae795b77c0, query_type=QT_TO_SYSTEM_CHARSET) at /data/src/10.2/sql/item_cmpfunc.cc:2315
      #9  0x0000560c282f8050 in st_select_lex::print (this=this@entry=0x7fae68004b20, thd=0x7fae680009a8, str=str@entry=0x7fae795b77c0, query_type=query_type@entry=QT_TO_SYSTEM_CHARSET) at /data/src/10.2/sql/sql_select.cc:25782
      #10 0x0000560c2829f37e in st_select_lex_unit::print (this=0x7fae680043e0, str=0x7fae795b77c0, query_type=QT_TO_SYSTEM_CHARSET) at /data/src/10.2/sql/sql_lex.cc:2738
      #11 0x0000560c281effb6 in execute_sqlcom_select (thd=thd@entry=0x7fae680009a8, all_tables=<optimized out>) at /data/src/10.2/sql/sql_parse.cc:6191
      #12 0x0000560c282b188a in mysql_execute_command (thd=thd@entry=0x7fae680009a8) at /data/src/10.2/sql/sql_parse.cc:3532
      #13 0x0000560c282b35ad in mysql_parse (thd=0x7fae680009a8, rawbuf=<optimized out>, length=79, parser_state=0x7fae795b9240, is_com_multi=<optimized out>, is_next_command=<optimized out>) at /data/src/10.2/sql/sql_parse.cc:7740
      #14 0x0000560c282b641b in dispatch_command (command=command@entry=COM_QUERY, thd=thd@entry=0x7fae680009a8, packet=packet@entry=0x7fae68006cf9 "", packet_length=packet_length@entry=79, is_com_multi=is_com_multi@entry=false, is_next_command=is_next_command@entry=false) at /data/src/10.2/sql/sql_parse.cc:1831
      #15 0x0000560c282b6d17 in do_command (thd=0x7fae680009a8) at /data/src/10.2/sql/sql_parse.cc:1384
      #16 0x0000560c28376b64 in do_handle_one_connection (connect=connect@entry=0x560c2aa628c8) at /data/src/10.2/sql/sql_connect.cc:1336
      #17 0x0000560c28376c14 in handle_one_connection (arg=arg@entry=0x560c2aa628c8) at /data/src/10.2/sql/sql_connect.cc:1241
      #18 0x0000560c288b1a44 in pfs_spawn_thread (arg=0x560c2aa67178) at /data/src/10.2/storage/perfschema/pfs.cc:1869
      #19 0x00007fae812104a4 in start_thread (arg=0x7fae795ba700) at pthread_create.c:456
      #20 0x00007fae7f344d0f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:97
      

      10.2 debug 07e34cdd

      mysqld: /data/src/10.2/sql-common/my_time.c:1101: my_datetime_to_str: Assertion `digits <= 6' failed.
      200131 20:18:31 [ERROR] mysqld got signal 6 ;
       
      #7  0x00007f96d968df12 in __GI___assert_fail (assertion=0x561553792086 "digits <= 6", file=0x561553791ff8 "/data/src/10.2/sql-common/my_time.c", line=1101, function=0x5615537920e0 <__PRETTY_FUNCTION__.10337> "my_datetime_to_str") at assert.c:101
      #8  0x000056155343170a in my_datetime_to_str (l_time=0x7f96d41c0c60, to=0x7f96d41c0d10 "", digits=7) at /data/src/10.2/sql-common/my_time.c:1101
      #9  0x00005615534318be in my_TIME_to_str (l_time=0x7f96d41c0c60, to=0x7f96d41c0d10 "", digits=7) at /data/src/10.2/sql-common/my_time.c:1145
      #10 0x0000561552ce129d in Item::val_string_from_date (this=0x7f96b8013fe8, str=0x7f96d41c0cf0) at /data/src/10.2/sql/item.cc:325
      #11 0x0000561552cfc74a in Item_cache_temporal::val_str (this=0x7f96b8013fe8, str=0x7f96d41c0cf0) at /data/src/10.2/sql/item.cc:9799
      #12 0x0000561552ce2180 in Item::print_value (this=0x7f96b8013fe8, str=0x7f96d41c11d0) at /data/src/10.2/sql/item.cc:636
      #13 0x0000561552cfbf7a in Item_cache::print (this=0x7f96b8013fe8, str=0x7f96d41c11d0, query_type=QT_TO_SYSTEM_CHARSET) at /data/src/10.2/sql/item.cc:9658
      #14 0x0000561552ce2013 in Item::print_parenthesised (this=0x7f96b8013fe8, str=0x7f96d41c11d0, query_type=QT_TO_SYSTEM_CHARSET, parent_prec=BETWEEN_PRECEDENCE) at /data/src/10.2/sql/item.cc:607
      #15 0x0000561552d109d5 in Item_func_between::print (this=0x7f96b8012f70, str=0x7f96d41c11d0, query_type=QT_TO_SYSTEM_CHARSET) at /data/src/10.2/sql/item_cmpfunc.cc:2315
      #16 0x0000561552acfc94 in st_select_lex::print (this=0x7f96b8004e28, thd=0x7f96b8000af0, str=0x7f96d41c11d0, query_type=QT_TO_SYSTEM_CHARSET) at /data/src/10.2/sql/sql_select.cc:25782
      #17 0x0000561552a3bf1d in st_select_lex_unit::print (this=0x7f96b80046e8, str=0x7f96d41c11d0, query_type=QT_TO_SYSTEM_CHARSET) at /data/src/10.2/sql/sql_lex.cc:2738
      #18 0x0000561552a56774 in execute_sqlcom_select (thd=0x7f96b8000af0, all_tables=0x7f96b80126a0) at /data/src/10.2/sql/sql_parse.cc:6191
      #19 0x0000561552a4d41e in mysql_execute_command (thd=0x7f96b8000af0) at /data/src/10.2/sql/sql_parse.cc:3532
      #20 0x0000561552a5a8b6 in mysql_parse (thd=0x7f96b8000af0, rawbuf=0x7f96b8012448 "EXPLAIN EXTENDED SELECT * FROM t1 WHERE 1995.0000000 BETWEEN f AND '2012-12-12'", length=79, parser_state=0x7f96d41c2200, is_com_multi=false, is_next_command=false) at /data/src/10.2/sql/sql_parse.cc:7740
      #21 0x0000561552a48bf9 in dispatch_command (command=COM_QUERY, thd=0x7f96b8000af0, packet=0x7f96b808df21 "", packet_length=79, is_com_multi=false, is_next_command=false) at /data/src/10.2/sql/sql_parse.cc:1831
      #22 0x0000561552a4754d in do_command (thd=0x7f96b8000af0) at /data/src/10.2/sql/sql_parse.cc:1384
      #23 0x0000561552b9c59f in do_handle_one_connection (connect=0x561556b1ba90) at /data/src/10.2/sql/sql_connect.cc:1336
      #24 0x0000561552b9c30a in handle_one_connection (arg=0x561556b1ba90) at /data/src/10.2/sql/sql_connect.cc:1241
      #25 0x00005615533ba062 in pfs_spawn_thread (arg=0x561556a67150) at /data/src/10.2/storage/perfschema/pfs.cc:1869
      #26 0x00007f96db6164a4 in start_thread (arg=0x7f96d41c3700) at pthread_create.c:456
      #27 0x00007f96d974ad0f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:97
      

      Reproducible on 10.2-10.5, non-debug and debug builds (as shown above), with at least MyISAM and InnoDB.
      Not reproducible on 10.1.

        Attachments

          Activity

            People

            Assignee:
            bar Alexander Barkov
            Reporter:
            elenst Elena Stepanova
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved: