| 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: | |
| Category: | MySQL Server: DDL | Severity: | S1 (Critical) |
| Version: | 5.6.35 | OS: | Any |
| Assigned to: | CPU Architecture: | Any | |
[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?

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);