Bug #84826 handle_fatal_signal (sig=11) in PROFILING::status_change
Submitted: 6 Feb 2017 7:35 Modified: 6 Feb 2017 22:33
Reporter: Roel Van de Paar Email Updates:
Status: Verified Impact on me:
None 
Category:MySQL Server: DDL Severity:S1 (Critical)
Version:5.6.35 OS:Any
Assigned to: CPU Architecture:Any

[6 Feb 2017 7:35] Roel Van de Paar
Description:
Core was generated by `/sda/MS020217-mysql-5.6.35-linux-x86_64-debug/bin/mysqld --no-defaults --core -'.
Program terminated with signal 11, Segmentation fault.
#0  0x00007fd3da688741 in __pthread_kill (threadid=<optimized out>, signo=11) 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  0x00007fd3da688741 in __pthread_kill (threadid=<optimized out>, signo=11) at ../nptl/sysdeps/unix/sysv/linux/pthread_kill.c:61
#1  0x0000000000a9cf79 in my_write_core (sig=11) at /git/MS-5.6.35_dbg/mysys/stacktrace.c:424
#2  0x000000000072c620 in handle_fatal_signal (sig=11) at /git/MS-5.6.35_dbg/sql/signal_handler.cc:230
#3  <signal handler called>
#4  0x00000000007fcab7 in PROFILING::status_change (this=0x7fd300001920, status_arg=0xe48e7a "After create",
    function_arg=0xe99760 <create_table_impl(THD*, char const*, char const*, char const*, char const*, st_ha_create_information*, Alter_info*, bool, unsigned int, bool, bool*, st_key**, unsigned int*)::__FUNCTION__> "create_table_impl", file_arg=0xe97818 "/git/MS-5.6.35_dbg/sql/sql_table.cc", line_arg=5065) at /git/MS-5.6.35_dbg/sql/sql_profile.cc:353
#5  0x000000000078ce64 in THD::enter_stage (this=0x7fd300000000, new_stage=0x142adf0 <stage_after_create>, old_stage=0x0,
    calling_func=0xe99760 <create_table_impl(THD*, char const*, char const*, char const*, char const*, st_ha_create_information*, Alter_info*, bool, unsigned int, bool, bool*, st_key**, unsigned int*)::__FUNCTION__> "create_table_impl", calling_file=0xe97818 "/git/MS-5.6.35_dbg/sql/sql_table.cc", calling_line=5065)
    at /git/MS-5.6.35_dbg/sql/sql_class.cc:626
#6  0x0000000000844bd2 in create_table_impl (thd=0x7fd300000000, db=0x7fd3a581fc50 "\360pB\001", table_name=0x7fd3a581ff18 "\b",
    error_table_name=0x7fd300000001 <Address 0x7fd300000001 out of bounds>,
    path=0x844bd2 <create_table_impl(THD*, char const*, char const*, char const*, char const*, HA_CREATE_INFO*, Alter_info*, bool, uint, bool, bool*, KEY**, uint*)+5222> "H\203", <incomplete sequence \350>, create_info=0x7fd3dac79100, alter_info=0xff00e7490b, internal_tmp_table=false, select_field_count=3670512572, no_ha_table=122, is_trans=0x89,
    key_info=0x1722680 <my_charset_utf8_general_ci>, key_count=0x7fd3dac793e0) at /git/MS-5.6.35_dbg/sql/sql_table.cc:5065
#7  0x00007fd3a581f1d8 in ?? ()
#8  0x000000ff00e7490b in ?? ()
#9  0x0000000000000000 in ?? ()

How to repeat:
DROP DATABASE test;
CREATE TABLE `##################################################_long`.`#################################################_long`(a SERIAL);
[6 Feb 2017 8:11] MySQL Verification Team
Hello Roel,

Thank you for the report and test case.
I'm not seeing the reported issue with debug/release builds, anything else required to trigger this issue?

-- 5.6.35/5.7.17 - release/debug

rm -rf 84826
scripts/mysql_install_db --basedir=$PWD --datadir=$PWD/84826 -v
bin/mysqld|mysqld-debug --no-defaults --basedir=$PWD --datadir=$PWD/84826 --core-file --socket=/tmp/mysql_ushastry.sock --log-error=$PWD/84826/log.err  2>&1 &

root@localhost [(none)]> DROP DATABASE test;
Query OK, 0 rows affected (0.00 sec)

root@localhost [(none)]> CREATE TABLE `##################################################_long`.`#################################################_long`(a SERIAL);
ERROR 1049 (42000): Unknown database '##################################################_long'
root@localhost [(none)]> CREATE TABLE `##################################################_long`.`#################################################_long`(a SERIAL);
ERROR 1049 (42000): Unknown database '##################################################_long'
root@localhost [(none)]> CREATE TABLE `##################################################_long`.`#################################################_long`(a SERIAL);
ERROR 1049 (42000): Unknown database '##################################################_long'
root@localhost [(none)]> CREATE TABLE `##################################################_long`.`#################################################_long`(a SERIAL);
ERROR 1049 (42000): Unknown database '##################################################_long'

Thanks,
Umesh
[6 Feb 2017 8:15] Roel Van de Paar
Maybe your startup or build script differs a bit. Try a 5.6.35 debug build like this;

cmake . -DWITH_ZLIB=system -DCMAKE_BUILD_TYPE=Debug -DBUILD_CONFIG=mysql_release -DFEATURE_SET=community -DDEBUG_EXTNAME=OFF -DWITH_EMBEDDED_SERVER=OFF -DENABLE_DOWNLOADS=1 -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/tmp -DWITH_SSL=system -DWITH_PAM=ON ${ASAN} | tee /tmp/5.7_debug_build
make | tee -a /tmp/5.7_debug_build
./scripts/make_binary_distribution | tee -a /tmp/5.7_debug_build

Then use following start command;

/sda/MS020217-mysql-5.6.35-linux-x86_64-debug/bin/mysqld --no-defaults --core --basedir=/sda/MS020217-mysql-5.6.35-linux-x86_64-debug --tmpdir=/sda/MS020217-mysql-5.6.35-linux-x86_64-debug/data --datadir=/sda/MS020217-mysql-5.6.35-linux-x86_64-debug/data  --socket=/sda/MS020217-mysql-5.6.35-linux-x86_64-debug/socket.sock --port=10659 --log-error=/sda/MS020217-mysql-5.6.35-linux-x86_64-debug/log/master.err 2>&1 &

And client command;

/sda/MS020217-mysql-5.6.35-linux-x86_64-debug/bin/mysql -A -uroot -S/sda/MS020217-mysql-5.6.35-linux-x86_64-debug/socket.sock --force --binary-mode test

Also, OS may be important. Try CentOS 7.3[.1611] x64
[6 Feb 2017 8:15] Roel Van de Paar
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.6.35-debug MySQL Community Server (GPL)

Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> CREATE TABLE `##################################################_long`.`#################################################_long`(a SERIAL);
ERROR 2013 (HY000): Lost connection to MySQL server during query
[6 Feb 2017 8:16] Roel Van de Paar
btw, ${ASAN} can be removed (empty var)
[6 Feb 2017 11:22] MySQL Verification Team
Thank you, observed with source debug build.

cmake . -DWITH_ZLIB=system -DCMAKE_BUILD_TYPE=Debug -DBUILD_CONFIG=mysql_release -DFEATURE_SET=community -DDEBUG_EXTNAME=OFF -DWITH_EMBEDDED_SERVER=OFF -DENABLE_DOWNLOADS=1 -DWITH_SSL=system -DCMAKE_INSTALL_PREFIX=/export/umesh/server/source/bugs/84826/5636

make -j32 && make install

rm -rf 84826
scripts/mysql_install_db --basedir=$PWD --datadir=$PWD/84826 -v
bin/mysqld --no-defaults --basedir=$PWD --datadir=$PWD/84826 --core-file --socket=/tmp/mysql_ushastry.sock --log-error=$PWD/84826/log.err  2>&1 &

[umshastr@hod03]/export/umesh/server/source/bugs/84826/5636: bin/mysql -uroot -S /tmp/mysql_ushastry.sock --force --binary-mode test
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.6.35-debug MySQL Community Server (GPL)

Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

root@localhost [test]> DROP DATABASE test;
Query OK, 0 rows affected (0.01 sec)

root@localhost [(none)]> CREATE TABLE `##################################################_long`.`#################################################_long`(a SERIAL);
ERROR 2013 (HY000): Lost connection to MySQL server during query
root@localhost [(none)]> \q

(gdb) bt
#0  0x00007f8f16986771 in pthread_kill () from /lib64/libpthread.so.0
#1  0x0000000000a9d1e6 in my_write_core (sig=11) at /export/umesh/server/source/bugs/84826/mysql-5.6.35/mysys/stacktrace.c:424
#2  0x000000000072c780 in handle_fatal_signal (sig=11) at /export/umesh/server/source/bugs/84826/mysql-5.6.35/sql/signal_handler.cc:230
#3  <signal handler called>
#4  0x00000000007fcc41 in PROFILING::status_change (this=0x3030403332304960, status_arg=0xe495b2 "After create",
    function_arg=0xe9c1e0 <create_table_impl(THD*, char const*, char const*, char const*, char const*, st_ha_create_information*, Alter_info*, bool, unsigned int, bool, bool*, st_key**, unsigned int*)::__FUNCTION__> "create_table_impl", file_arg=0xe9a288 "/export/umesh/server/source/bugs/84826/mysql-5.6.35/sql/sql_table.cc", line_arg=5065)
    at /export/umesh/server/source/bugs/84826/mysql-5.6.35/sql/sql_profile.cc:353
#5  0x000000000078cfd0 in THD::enter_stage (this=0x3030403332303040, new_stage=0x143de10 <stage_after_create>, old_stage=0x0,
    calling_func=0xe9c1e0 <create_table_impl(THD*, char const*, char const*, char const*, char const*, st_ha_create_information*, Alter_info*, bool, unsigned int, bool, bool*, st_key**, unsigned int*)::__FUNCTION__> "create_table_impl", calling_file=0xe9a288 "/export/umesh/server/source/bugs/84826/mysql-5.6.35/sql/sql_table.cc", calling_line=5065)
    at /export/umesh/server/source/bugs/84826/mysql-5.6.35/sql/sql_class.cc:626
#6  0x0000000000844d6f in create_table_impl (thd=0x3030403332303040, db=0x143de10 <stage_after_create> "\001", table_name=0x0,
    error_table_name=0xe9c1e0 <create_table_impl(THD*, char const*, char const*, char const*, char const*, st_ha_create_information*, Alter_info*, bool, unsigned int, bool, bool*, st_key**, unsigned int*)::__FUNCTION__> "create_table_impl", path=0xe9a288 "/export/umesh/server/source/bugs/84826/mysql-5.6.35/sql/sql_table.cc", create_info=0x13c932303040, alter_info=0xe8cfe1,
    internal_tmp_table=false, select_field_count=3927597904, no_ha_table=208, is_trans=0x7f8eea1a6150, key_info=0xe04fc6 <unlock_stack+72>, key_count=0x7f8eb8000978)
    at /export/umesh/server/source/bugs/84826/mysql-5.6.35/sql/sql_table.cc:5065
#7  0x0000000000000000 in ?? ()
(gdb)
[6 Feb 2017 22:33] Roel Van de Paar
Nice work Umesh. What do you think may have been the significant difference?