Description:
2017-02-06 18:18:29 18774 [Note] /sda/MS020217-mysql-5.6.35-linux-x86_64-debug/bin/mysqld: ready for connections.
Version: '5.6.35-debug' socket: '/sda/MS020217-mysql-5.6.35-linux-x86_64-debug/socket.sock' port: 10659 MySQL Community Server (GPL)
mysqld: /git/MS-5.6.35_dbg/strings/decimal.c:1663: decimal_round: Assertion `from->len == to->len' failed.
07:18:35 UTC - mysqld got signal 6 ;
Core was generated by `/sda/MS020217-mysql-5.6.35-linux-x86_64-debug/bin/mysqld --no-defaults --core -'.
Program terminated with signal 6, Aborted.
#0 0x00007f04edb09741 in __pthread_kill (threadid=<optimized out>, signo=6) at ../nptl/sysdeps/unix/sysv/linux/pthread_kill.c:61
61 val = INTERNAL_SYSCALL (tgkill, err, 3, THREAD_GETMEM (THREAD_SELF, pid),
(gdb) bt
#0 0x00007f04edb09741 in __pthread_kill (threadid=<optimized out>, signo=6) at ../nptl/sysdeps/unix/sysv/linux/pthread_kill.c:61
#1 0x0000000000a9cf79 in my_write_core (sig=6) at /git/MS-5.6.35_dbg/mysys/stacktrace.c:424
#2 0x000000000072c620 in handle_fatal_signal (sig=6) at /git/MS-5.6.35_dbg/sql/signal_handler.cc:230
#3 <signal handler called>
#4 0x00007f04ec0a51d7 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
#5 0x00007f04ec0a68c8 in __GI_abort () at abort.c:90
#6 0x00007f04ec09e146 in __assert_fail_base (fmt=0x7f04ec1ef3a8 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=assertion@entry=0x10160ea "from->len == to->len",
file=file@entry=0x1015e20 "/git/MS-5.6.35_dbg/strings/decimal.c", line=line@entry=1663, function=function@entry=0x10163a1 <__PRETTY_FUNCTION__.10413> "decimal_round")
at assert.c:92
#7 0x00007f04ec09e1f2 in __GI___assert_fail (assertion=0x10160ea "from->len == to->len", file=0x1015e20 "/git/MS-5.6.35_dbg/strings/decimal.c", line=1663,
function=0x10163a1 <__PRETTY_FUNCTION__.10413> "decimal_round") at assert.c:101
#8 0x0000000000e286b6 in decimal_round (from=0x7f04b8c20150, to=0x7f04ee0f7030, scale=0, mode=HALF_UP) at /git/MS-5.6.35_dbg/strings/decimal.c:1663
#9 0x000000000066f9a2 in my_decimal2int (mask=28, d=0x7f04b8c20150, unsigned_flag=0 '\000', l=0x7f04ee0f70c0) at /git/MS-5.6.35_dbg/sql/my_decimal.h:378
#10 0x00000000008fb22b in Field::convert_decimal2longlong (this=0x7f04b8c984b8, val=0x7f04b8c20150, unsigned_flag=false, has_overflow=0x7f04ee0f70f3)
at /git/MS-5.6.35_dbg/sql/field.cc:1652
#11 0x00000000008fb323 in Field_num::store_decimal (this=0x7f04b8c984b8, val=0x7f04b8c20150) at /git/MS-5.6.35_dbg/sql/field.cc:1683
#12 0x00000000006651bd in Item_decimal::save_in_field (this=0x7f04b8c200b8, field=0x7f04b8c984b8, no_conversions=true) at /git/MS-5.6.35_dbg/sql/item.cc:6484
#13 0x0000000000657668 in Item::save_in_field_no_warnings (this=0x7f04b8c200b8, field=0x7f04b8c984b8, no_conversions=true) at /git/MS-5.6.35_dbg/sql/item.cc:1527
#14 0x000000000095e5f2 in save_value_and_handle_conversion (tree=0x7f04ee0f75e8, value=0x7f04b8c200b8, comp_op=Item_func::LT_FUNC, field=0x7f04b8c984b8,
impossible_cond_cause=0x7f04ee0f75e0, memroot=0x7f04ee0f7b60) at /git/MS-5.6.35_dbg/sql/opt_range.cc:6643
#15 0x000000000095f198 in get_mm_leaf (param=0x7f04ee0f7c60, conf_func=0x7f04b8c1fc60, field=0x7f04b8c984b8, key_part=0x7f04b8c7c030, type=Item_func::LT_FUNC,
value=0x7f04b8c200b8) at /git/MS-5.6.35_dbg/sql/opt_range.cc:7014
#16 0x000000000095e38a in get_mm_parts (param=0x7f04ee0f7c60, cond_func=0x7f04b8c1fc60, field=0x7f04b8c984b8, type=Item_func::LT_FUNC, value=0x7f04b8c200b8, cmp_type=INT_RESULT)
at /git/MS-5.6.35_dbg/sql/opt_range.cc:6555
#17 0x000000000095caff in get_func_mm_tree (param=0x7f04ee0f7c60, cond_func=0x7f04b8c1fc60, field=0x7f04b8c984b8, value=0x0, cmp_type=INT_RESULT, inv=true)
at /git/MS-5.6.35_dbg/sql/opt_range.cc:5986
#18 0x000000000095d277 in get_full_func_mm_tree (param=0x7f04ee0f7c60, cond_func=0x7f04b8c1fc60, field_item=0x7f04b8c1f8b0, value=0x0, inv=true)
at /git/MS-5.6.35_dbg/sql/opt_range.cc:6219
#19 0x000000000095dd45 in get_mm_tree (param=0x7f04ee0f7c60, cond=0x7f04b8c1fc60) at /git/MS-5.6.35_dbg/sql/opt_range.cc:6424
#20 0x00000000009556eb in SQL_SELECT::test_quick_select (this=0x7f04b8c1ff48, thd=0x7f04c5387000, keys_to_use=..., prev_tables=0, limit=18446744073709551615,
force_quick_range=false, interesting_order=st_order::ORDER_NOT_RELEVANT) at /git/MS-5.6.35_dbg/sql/opt_range.cc:2830
#21 0x000000000086e3c8 in SQL_SELECT::check_quick (this=0x7f04b8c1ff48, thd=0x7f04c5387000, force_quick_range=false, limit=18446744073709551615)
at /git/MS-5.6.35_dbg/sql/opt_range.h:938
#22 0x0000000000868101 in mysql_update (thd=0x7f04c5387000, table_list=0x7f04b8c1f158, fields=..., values=..., conds=0x7f04b8c1fc60, order_num=0, order=0x0,
limit=18446744073709551615, handle_duplicates=DUP_ERROR, ignore=true, found_return=0x7f04ee0fb118, updated_return=0x7f04ee0fb110) at /git/MS-5.6.35_dbg/sql/sql_update.cc:463
#23 0x00000000007dad1f in mysql_execute_command (thd=0x7f04c5387000) at /git/MS-5.6.35_dbg/sql/sql_parse.cc:3361
#24 0x00000000007e2ff8 in mysql_parse (thd=0x7f04c5387000, rawbuf=0x7f04b8c1f010 "UPDATE IGNORE t1 SET b = 1 WHERE b NOT IN (NULL, -", '3' <repeats 22 times>, ")", length=73,
parser_state=0x7f04ee0fb590) at /git/MS-5.6.35_dbg/sql/sql_parse.cc:6433
#25 0x00000000007d6110 in dispatch_command (command=COM_QUERY, thd=0x7f04c5387000,
packet=0x7f04c536b001 "UPDATE IGNORE t1 SET b = 1 WHERE b NOT IN (NULL, -", '3' <repeats 22 times>, ")", packet_length=73) at /git/MS-5.6.35_dbg/sql/sql_parse.cc:1372
#26 0x00000000007d50d4 in do_command (thd=0x7f04c5387000) at /git/MS-5.6.35_dbg/sql/sql_parse.cc:1039
#27 0x000000000079ca7c in do_handle_one_connection (thd_arg=0x7f04c5387000) at /git/MS-5.6.35_dbg/sql/sql_connect.cc:982
#28 0x000000000079c7ec in handle_one_connection (arg=0x7f04c5387000) at /git/MS-5.6.35_dbg/sql/sql_connect.cc:899
#29 0x0000000000ae9335 in pfs_spawn_thread (arg=0x7f04ea3f46a0) at /git/MS-5.6.35_dbg/storage/perfschema/pfs.cc:1860
#30 0x00007f04edb04dc5 in start_thread (arg=0x7f04ee0fc700) at pthread_create.c:308
#31 0x00007f04ec16773d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113
How to repeat:
DROP DATABASE test;CREATE DATABASE test;USE test;
create TABLE t1 (a int, b int, c int, filler char(100), key(a), key(b), key(c));
UPDATE IGNORE t1 SET b = 1 WHERE b NOT IN (NULL, -3333333333333333333333); ;