Bug #76467 Assertion `strlen(db) <= (64*3) && strlen(name) <= (64*3)' failed. DROP FUNCTION
Submitted: 23 Mar 2015 23:26 Modified: 24 Mar 2015 8:00
Reporter: Roel Van de Paar Email Updates:
Status: Verified Impact on me:
None 
Category:MySQL Server: DDL Severity:S1 (Critical)
Version:5.6.22, 5.6.23, 5.6.25 OS:Any
Assigned to: CPU Architecture:Any

[23 Mar 2015 23:26] Roel Van de Paar
Description:
mysqld: /bzr/mysql-5.6/sql/mdl.h:343: void MDL_key::mdl_key_init(MDL_key::enum_mdl_namespace, const char*, const char*): Assertion `strlen(db) <= (64*3) && strlen(name) <= (64*3)' failed.
23:22:14 UTC - mysqld got signal 6 ;

+bt
#0  0x00007fc56b62b771 in pthread_kill () from /lib64/libpthread.so.0
#1  0x0000000000a965ee in my_write_core (sig=6) at /bzr/mysql-5.6/mysys/stacktrace.c:422
#2  0x0000000000726728 in handle_fatal_signal (sig=6) at /bzr/mysql-5.6/sql/signal_handler.cc:230
#3  <signal handler called>
#4  0x00007fc56a4375c9 in raise () from /lib64/libc.so.6
#5  0x00007fc56a438cd8 in abort () from /lib64/libc.so.6
#6  0x00007fc56a430536 in __assert_fail_base () from /lib64/libc.so.6
#7  0x00007fc56a4305e2 in __assert_fail () from /lib64/libc.so.6
#8  0x0000000000715706 in MDL_key::mdl_key_init (this=0x7fc56bc21b30, mdl_namespace=MDL_key::FUNCTION, db=0x7fc4cf01f2f0 "test", name=0x7fc4cf01f228 "f111111111122222222223333333333444444444455555555556666666666777777777788888888889999999999aaaaaaaaaabbbbbbbbbbccccccccccddddddddddeeeeeeeeeeffffffffffgggggggggghhhhhhhhhhiiiiiiiiiijjjjjjjjjjkk") at /bzr/mysql-5.6/sql/mdl.h:343
#9  0x0000000000712705 in MDL_request::init (this=0x7fc56bc21b10, mdl_namespace=MDL_key::FUNCTION, db_arg=0x7fc4cf01f2f0 "test", name_arg=0x7fc4cf01f228 "f111111111122222222223333333333444444444455555555556666666666777777777788888888889999999999aaaaaaaaaabbbbbbbbbbccccccccccddddddddddeeeeeeeeeeffffffffffgggggggggghhhhhhhhhhiiiiiiiiiijjjjjjjjjjkk", mdl_type_arg=MDL_EXCLUSIVE, mdl_duration_arg=MDL_TRANSACTION) at /bzr/mysql-5.6/sql/mdl.cc:1136
#10 0x000000000093913b in lock_object_name (thd=0x7fc4d8324000, mdl_type=MDL_key::FUNCTION, db=0x7fc4cf01f2f0 "test", name=0x7fc4cf01f228 "f111111111122222222223333333333444444444455555555556666666666777777777788888888889999999999aaaaaaaaaabbbbbbbbbbccccccccccddddddddddeeeeeeeeeeffffffffffgggggggggghhhhhhhhhhiiiiiiiiiijjjjjjjjjjkk") at /bzr/mysql-5.6/sql/lock.cc:853
#11 0x00000000007294fd in sp_drop_routine (thd=0x7fc4d8324000, type=SP_TYPE_FUNCTION, name=0x7fc4cf01f2f8) at /bzr/mysql-5.6/sql/sp.cc:1282
#12 0x00000000007d8381 in mysql_execute_command (thd=0x7fc4d8324000) at /bzr/mysql-5.6/sql/sql_parse.cc:4681
#13 0x00000000007dc4be in mysql_parse (thd=0x7fc4d8324000, rawbuf=0x7fc4cf01f010 "drop function f111111111122222222223333333333444444444455555555556666666666777777777788888888889999999999aaaaaaaaaabbbbbbbbbbccccccccccddddddddddeeeeeeeeeeffffffffffgggggggggghhhhhhhhhhiiiiiiiiiijjjjjjjjjjkk", length=207, parser_state=0x7fc56bc22e70) at /bzr/mysql-5.6/sql/sql_parse.cc:6357
#14 0x00000000007cf630 in dispatch_command (command=COM_QUERY, thd=0x7fc4d8324000, packet=0x7fc4d836c001 "drop function f111111111122222222223333333333444444444455555555556666666666777777777788888888889999999999aaaaaaaaaabbbbbbbbbbccccccccccddddddddddeeeeeeeeeeffffffffffgggggggggghhhhhhhhhhiiiiiiiiiijjjjjjjjjjkk", packet_length=207) at /bzr/mysql-5.6/sql/sql_parse.cc:1332
#15 0x00000000007ce71f in do_command (thd=0x7fc4d8324000) at /bzr/mysql-5.6/sql/sql_parse.cc:1034
#16 0x0000000000796b09 in do_handle_one_connection (thd_arg=0x7fc4d8324000) at /bzr/mysql-5.6/sql/sql_connect.cc:982
#17 0x00000000007965f2 in handle_one_connection (arg=0x7fc4d8324000) at /bzr/mysql-5.6/sql/sql_connect.cc:898
#18 0x0000000000ae4ba0 in pfs_spawn_thread (arg=0x7fc564f49b00) at /bzr/mysql-5.6/storage/perfschema/pfs.cc:1860
#19 0x00007fc56b626df3 in start_thread () from /lib64/libpthread.so.0
#20 0x00007fc56a4f81ad in clone () from /lib64/libc.so.6

How to repeat:
DROP DATABASE test;CREATE DATABASE test;USE test;
drop function f111111111122222222223333333333444444444455555555556666666666777777777788888888889999999999aaaaaaaaaabbbbbbbbbbccccccccccddddddddddeeeeeeeeeeffffffffffgggggggggghhhhhhhhhhiiiiiiiiiijjjjjjjjjjkk;
[24 Mar 2015 8:00] MySQL Verification Team
Hello Roel,

Thank you for the report.
Confirmed that only debug builds of 5.6(5.6.23, 5.6.25) are affected.

Thanks,
Umesh
[24 Mar 2015 8:01] MySQL Verification Team
// 5.6.25 

scripts/mysql_install_db --basedir=/export/umesh/mysql-5.6.25 --datadir=/export/umesh/mysql-5.6.25/76467
bin/mysqld-debug --basedir=/export/umesh/mysql-5.6.25 --datadir=/export/umesh/mysql-5.6.25/76467 --core-file --socket=/tmp/mysql_ushastry.sock  --port=15000 --log-error=/export/umesh/mysql-5.6.25/76467/log.err 2>&1 &

- build
commit: 7f58410b3f11eddb38ff8c57a7a58095f7db2910
date: 2015-03-23 14:34:22 +0530
build-date: 2015-03-23 10:21:42 +0100
short: 7f58410
branch: mysql-5.6

MySQL source 5.6.25

(gdb) bt
#0  0x00007f389a195771 in pthread_kill () from /lib64/libpthread.so.0
#1  0x0000000000ae1373 in my_write_core (sig=6) at /export/home/pb2/build/sb_0-14777162-1427103432.53/mysqlcom-pro-5.6.25/mysys/stacktrace.c:422
#2  0x0000000000745fca in handle_fatal_signal (sig=6) at /export/home/pb2/build/sb_0-14777162-1427103432.53/mysqlcom-pro-5.6.25/sql/signal_handler.cc:230
#3  <signal handler called>
#4  0x00007f3898d9b5c9 in raise () from /lib64/libc.so.6
#5  0x00007f3898d9ccd8 in abort () from /lib64/libc.so.6
#6  0x00007f3898d94536 in __assert_fail_base () from /lib64/libc.so.6
#7  0x00007f3898d945e2 in __assert_fail () from /lib64/libc.so.6
#8  0x0000000000736562 in MDL_key::mdl_key_init (this=0x7f386fa4a840, mdl_namespace=MDL_key::FUNCTION, db=0x7f383c0052b0 "test",
    name=0x7f383c0051e8 "f111111111122222222223333333333444444444455555555556666666666777777777788888888889999999999aaaaaaaaaabbbbbbbbbbccccccccccddddddddddeeeeeeeeeeffffffffffgggggggggghhhhhhhhhhiiiiiiiiiijjjjjjjjjjkk") at /export/home/pb2/build/sb_0-14777162-1427103432.53/mysqlcom-pro-5.6.25/sql/mdl.h:343
#9  0x000000000073361b in MDL_request::init (this=0x7f386fa4a820, mdl_namespace=MDL_key::FUNCTION, db_arg=0x7f383c0052b0 "test",
    name_arg=0x7f383c0051e8 "f111111111122222222223333333333444444444455555555556666666666777777777788888888889999999999aaaaaaaaaabbbbbbbbbbccccccccccddddddddddeeeeeeeeeeffffffffffgggggggggghhhhhhhhhhiiiiiiiiiijjjjjjjjjjkk", mdl_type_arg=MDL_EXCLUSIVE, mdl_duration_arg=MDL_TRANSACTION) at /export/home/pb2/build/sb_0-14777162-1427103432.53/mysqlcom-pro-5.6.25/sql/mdl.cc:1136
#10 0x000000000096ca34 in lock_object_name (thd=0x2281720, mdl_type=MDL_key::FUNCTION, db=0x7f383c0052b0 "test",
    name=0x7f383c0051e8 "f111111111122222222223333333333444444444455555555556666666666777777777788888888889999999999aaaaaaaaaabbbbbbbbbbccccccccccddddddddddeeeeeeeeeeffffffffffgggggggggghhhhhhhhhhiiiiiiiiiijjjjjjjjjjkk") at /export/home/pb2/build/sb_0-14777162-1427103432.53/mysqlcom-pro-5.6.25/sql/lock.cc:853
#11 0x00000000007487d3 in sp_drop_routine (thd=0x2281720, type=SP_TYPE_FUNCTION, name=0x7f383c0052b8) at /export/home/pb2/build/sb_0-14777162-1427103432.53/mysqlcom-pro-5.6.25/sql/sp.cc:1285
#12 0x0000000000800cf5 in mysql_execute_command (thd=0x2281720) at /export/home/pb2/build/sb_0-14777162-1427103432.53/mysqlcom-pro-5.6.25/sql/sql_parse.cc:4717
#13 0x000000000080229a in mysql_parse (thd=0x2281720,
    rawbuf=0x7f383c004fd0 "drop function f111111111122222222223333333333444444444455555555556666666666777777777788888888889999999999aaaaaaaaaabbbbbbbbbbccccccccccddddddddddeeeeeeeeeeffffffffffgggggggggghhhhhhhhhhiiiiiiiiiijjjjj"..., length=207, parser_state=0x7f386fa4c700) at /export/home/pb2/build/sb_0-14777162-1427103432.53/mysqlcom-pro-5.6.25/sql/sql_parse.cc:6391
#14 0x0000000000803ebe in dispatch_command (command=COM_QUERY, thd=0x2281720,
    packet=0x23b3521 "drop function f111111111122222222223333333333444444444455555555556666666666777777777788888888889999999999aaaaaaaaaabbbbbbbbbbccccccccccddddddddddeeeeeeeeeeffffffffffgggggggggghhhhhhhhhhiiiiiiiiiijjjjj"..., packet_length=207) at /export/home/pb2/build/sb_0-14777162-1427103432.53/mysqlcom-pro-5.6.25/sql/sql_parse.cc:1340
#15 0x0000000000805748 in do_command (thd=0x2281720) at /export/home/pb2/build/sb_0-14777162-1427103432.53/mysqlcom-pro-5.6.25/sql/sql_parse.cc:1037
#16 0x00000000007bb291 in do_handle_one_connection (thd_arg=0x2281720) at /export/home/pb2/build/sb_0-14777162-1427103432.53/mysqlcom-pro-5.6.25/sql/sql_connect.cc:982
#17 0x00000000007bb357 in handle_one_connection (arg=0x2281720) at /export/home/pb2/build/sb_0-14777162-1427103432.53/mysqlcom-pro-5.6.25/sql/sql_connect.cc:898
#18 0x0000000000b92d9c in pfs_spawn_thread (arg=0x232ada0) at /export/home/pb2/build/sb_0-14777162-1427103432.53/mysqlcom-pro-5.6.25/storage/perfschema/pfs.cc:1860
#19 0x00007f389a190df3 in start_thread () from /lib64/libpthread.so.0
#20 0x00007f3898e5c47d in clone () from /lib64/libc.so.6
(gdb)
[24 Mar 2015 8:01] MySQL Verification Team
// 5.6.23

scripts/mysql_install_db --basedir=/export/umesh/mysql-5.6.23 --datadir=/export/umesh/mysql-5.6.23/76467
bin/mysqld-debug --basedir=/export/umesh/mysql-5.6.23 --datadir=/export/umesh/mysql-5.6.23/76467 --core-file --socket=/tmp/mysql_ushastry.sock  --port=15000 --log-error=/export/umesh/mysql-5.6.23/76467/log.err 2>&1 &

-
commit: 19ff9770da1307a8b44be40beaa456c4d1149c2a
date: 2015-01-19 14:26:20 +0100
build-date: 2015-01-19 14:38:00 +0100
short: 19ff977
branch: mysql-5.6.23-release

MySQL source 5.6.23

(gdb) bt
#0  0x00007fe2ccb44771 in pthread_kill () from /lib64/libpthread.so.0
#1  0x0000000000aacb93 in my_write_core (sig=6) at /export/home/pb2/build/sb_0-14135570-1421676610.55/mysql-5.6.23/mysys/stacktrace.c:422
#2  0x000000000071513e in handle_fatal_signal (sig=6) at /export/home/pb2/build/sb_0-14135570-1421676610.55/mysql-5.6.23/sql/signal_handler.cc:230
#3  <signal handler called>
#4  0x00007fe2cb74a5c9 in raise () from /lib64/libc.so.6
#5  0x00007fe2cb74bcd8 in abort () from /lib64/libc.so.6
#6  0x00007fe2cb743536 in __assert_fail_base () from /lib64/libc.so.6
#7  0x00007fe2cb7435e2 in __assert_fail () from /lib64/libc.so.6
#8  0x00000000007056d6 in MDL_key::mdl_key_init (this=0x7fe2a250b880, mdl_namespace=MDL_key::FUNCTION, db=0x7fe2780052b0 "test",
    name=0x7fe2780051e8 "f111111111122222222223333333333444444444455555555556666666666777777777788888888889999999999aaaaaaaaaabbbbbbbbbbccccccccccddddddddddeeeeeeeeeeffffffffffgggggggggghhhhhhhhhhiiiiiiiiiijjjjjjjjjjkk") at /export/home/pb2/build/sb_0-14135570-1421676610.55/mysql-5.6.23/sql/mdl.h:343
#9  0x000000000070279f in MDL_request::init (this=0x7fe2a250b860, mdl_namespace=MDL_key::FUNCTION, db_arg=0x7fe2780052b0 "test",
    name_arg=0x7fe2780051e8 "f111111111122222222223333333333444444444455555555556666666666777777777788888888889999999999aaaaaaaaaabbbbbbbbbbccccccccccddddddddddeeeeeeeeeeffffffffffgggggggggghhhhhhhhhhiiiiiiiiiijjjjjjjjjjkk", mdl_type_arg=MDL_EXCLUSIVE, mdl_duration_arg=MDL_TRANSACTION) at /export/home/pb2/build/sb_0-14135570-1421676610.55/mysql-5.6.23/sql/mdl.cc:1136
#10 0x0000000000939a34 in lock_object_name (thd=0x33fc1d0, mdl_type=MDL_key::FUNCTION, db=0x7fe2780052b0 "test",
    name=0x7fe2780051e8 "f111111111122222222223333333333444444444455555555556666666666777777777788888888889999999999aaaaaaaaaabbbbbbbbbbccccccccccddddddddddeeeeeeeeeeffffffffffgggggggggghhhhhhhhhhiiiiiiiiiijjjjjjjjjjkk") at /export/home/pb2/build/sb_0-14135570-1421676610.55/mysql-5.6.23/sql/lock.cc:853
#11 0x0000000000717949 in sp_drop_routine (thd=0x33fc1d0, type=SP_TYPE_FUNCTION, name=0x7fe2780052b8) at /export/home/pb2/build/sb_0-14135570-1421676610.55/mysql-5.6.23/sql/sp.cc:1282
#12 0x00000000007ced8e in mysql_execute_command (thd=0x33fc1d0) at /export/home/pb2/build/sb_0-14135570-1421676610.55/mysql-5.6.23/sql/sql_parse.cc:4681
#13 0x00000000007d0349 in mysql_parse (thd=0x33fc1d0,
    rawbuf=0x7fe278004fd0 "drop function f111111111122222222223333333333444444444455555555556666666666777777777788888888889999999999aaaaaaaaaabbbbbbbbbbccccccccccddddddddddeeeeeeeeeeffffffffffgggggggggghhhhhhhhhhiiiiiiiiiijjjjj"..., length=207, parser_state=0x7fe2a250d700) at /export/home/pb2/build/sb_0-14135570-1421676610.55/mysql-5.6.23/sql/sql_parse.cc:6357
#14 0x00000000007d1ef3 in dispatch_command (command=COM_QUERY, thd=0x33fc1d0,
    packet=0x3bd64b1 "drop function f111111111122222222223333333333444444444455555555556666666666777777777788888888889999999999aaaaaaaaaabbbbbbbbbbccccccccccddddddddddeeeeeeeeeeffffffffffgggggggggghhhhhhhhhhiiiiiiiiiijjjjj"..., packet_length=207) at /export/home/pb2/build/sb_0-14135570-1421676610.55/mysql-5.6.23/sql/sql_parse.cc:1332
#15 0x00000000007d372d in do_command (thd=0x33fc1d0) at /export/home/pb2/build/sb_0-14135570-1421676610.55/mysql-5.6.23/sql/sql_parse.cc:1034
#16 0x0000000000789521 in do_handle_one_connection (thd_arg=0x33fc1d0) at /export/home/pb2/build/sb_0-14135570-1421676610.55/mysql-5.6.23/sql/sql_connect.cc:982
#17 0x00000000007895e7 in handle_one_connection (arg=0x33fc1d0) at /export/home/pb2/build/sb_0-14135570-1421676610.55/mysql-5.6.23/sql/sql_connect.cc:898
#18 0x0000000000d7a866 in pfs_spawn_thread (arg=0x3bb8260) at /export/home/pb2/build/sb_0-14135570-1421676610.55/mysql-5.6.23/storage/perfschema/pfs.cc:1860
#19 0x00007fe2ccb3fdf3 in start_thread () from /lib64/libpthread.so.0
#20 0x00007fe2cb80b47d in clone () from /lib64/libc.so.6
(gdb)
[24 Mar 2015 8:03] MySQL Verification Team
// 5.7.8 - not affected(release/debug build complain and doesn't crash)

ERROR 1059 (42000): Identifier name 'f111111111122222222223333333333444444444455555555556666666666777777777788888888889999999999aaaaaaaaa' is too long
mysql> \q

// 5.5.44 - not affected

ERROR 1305 (42000): FUNCTION test.f111111111122222222223333333333444444444455555555556666666666777777777788888888889999999999aaaaaaaaaabbbbbbbbbbccccccccccddddddddddeeeeeeeeeeffffffffffgggggggggghhhhhhhhhhiiiiiiiiiijjjjjjjjjjkk does not exist