[Maria-developers] Mysql crashes with signal 11 after a select (or even explain) on a view with a subselect.
Description: we see some problems with views that include other views (I think that is the problem...) and selects on views with subselects. The log says after a crash: Aug 3 17:29:22 db7 mysqld: 120803 17:29:22 [ERROR] mysqld got signal 11 ; Aug 3 17:29:22 db7 mysqld: This could be because you hit a bug. It is also possible that this binary Aug 3 17:29:22 db7 mysqld: or one of the libraries it was linked against is corrupt, improperly built, Aug 3 17:29:22 db7 mysqld: or misconfigured. This error can also be caused by malfunctioning hardware. Aug 3 17:29:22 db7 mysqld: We will try our best to scrape up some info that will hopefully help diagnose Aug 3 17:29:22 db7 mysqld: the problem, but since we have already crashed, something is definitely wrong Aug 3 17:29:22 db7 mysqld: and this may fail. Aug 3 17:29:22 db7 mysqld: Aug 3 17:29:22 db7 mysqld: key_buffer_size=0 Aug 3 17:29:22 db7 mysqld: read_buffer_size=2097152 Aug 3 17:29:22 db7 mysqld: max_used_connections=100 Aug 3 17:29:22 db7 mysqld: max_threads=302 Aug 3 17:29:22 db7 mysqld: threads_connected=35 Aug 3 17:29:22 db7 mysqld: It is possible that mysqld could use up to Aug 3 17:29:22 db7 mysqld: key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 5570184 K Aug 3 17:29:22 db7 mysqld: bytes of memory Aug 3 17:29:22 db7 mysqld: Hope that's ok; if not, decrease some variables in the equation. Aug 3 17:29:22 db7 mysqld: Aug 3 17:29:22 db7 mysqld: Thread pointer: 0x7f3521cba000 Aug 3 17:29:22 db7 mysqld: Attempting backtrace. You can use the following information to find out Aug 3 17:29:22 db7 mysqld: where mysqld died. If you see no messages after this, something went Aug 3 17:29:22 db7 mysqld: terribly wrong... Aug 3 17:29:22 db7 mysqld: stack_bottom = 0x7f1f899b4e98 thread_stack 0x3c000 Aug 3 17:29:22 db7 mysqld: /usr/sbin/mysqld(my_print_stacktrace+0x2e) [0x7f341e1f39de] Aug 3 17:29:22 db7 mysqld: /usr/sbin/mysqld(handle_segfault+0x3e5) [0x7f341de306f5] Aug 3 17:29:22 db7 mysqld: /lib/libpthread.so.0(+0xef60) [0x7f341c1def60] Aug 3 17:29:22 db7 mysqld: /usr/sbin/mysqld(Field_dependency_recorder::visit_field(Field*)+0x1) [0x7f341dfb48c1] Aug 3 17:29:22 db7 mysqld: /usr/sbin/mysqld(Item_field::enumerate_field_refs_processor(unsigned char*)+0x16) [0x7f341dd779d6] Aug 3 17:29:22 db7 mysqld: /usr/sbin/mysqld(Item_subselect::enumerate_field_refs_processor(unsigned char*)+0x4c) [0x7f341ddeb6dc] Aug 3 17:29:22 db7 mysqld: /usr/sbin/mysqld(Dep_analysis_context::setup_equality_modules_deps(List<Dep_module>*)+0x13e) [0x7f341dfb406e] Aug 3 17:29:22 db7 mysqld: /usr/sbin/mysqld(+0x4e140d) [0x7f341dfb440d] Aug 3 17:29:22 db7 mysqld: /usr/sbin/mysqld(+0x4e15a0) [0x7f341dfb45a0] Aug 3 17:29:22 db7 mysqld: /usr/sbin/mysqld(+0x3d2eae) [0x7f341dea5eae] Aug 3 17:29:22 db7 mysqld: /usr/sbin/mysqld(JOIN::optimize()+0x465) [0x7f341dea7a55] Aug 3 17:29:22 db7 mysqld: /usr/sbin/mysqld(mysql_select(THD*, Item***, TABLE_LIST*, unsigned int, List<Item>&, Item*, unsigned int, st_order*, st_order*, Item*, st_order*, unsigned long long, select_result*, st_select_lex_unit*, st_select_lex*)+0xda) [0x7f341deb04da] Aug 3 17:29:22 db7 mysqld: /usr/sbin/mysqld(handle_select(THD*, st_lex*, select_result*, unsigned long)+0x15d) [0x7f341deb0f5d] Aug 3 17:29:22 db7 mysqld: /usr/sbin/mysqld(+0x368baa) [0x7f341de3bbaa] Aug 3 17:29:22 db7 mysqld: /usr/sbin/mysqld(mysql_execute_command(THD*)+0x40e) [0x7f341de3e05e] Aug 3 17:29:22 db7 mysqld: /usr/sbin/mysqld(mysql_parse(THD*, char*, unsigned int, char const**)+0x2c1) [0x7f341de43711] Aug 3 17:29:22 db7 mysqld: /usr/sbin/mysqld(dispatch_command(enum_server_command, THD*, char*, unsigned int)+0xceb) [0x7f341de4485b] Aug 3 17:29:22 db7 mysqld: /usr/sbin/mysqld(do_command(THD*)+0xf4) [0x7f341de45364] Aug 3 17:29:22 db7 mysqld: /usr/sbin/mysqld(handle_one_connection+0x13e) [0x7f341de3762e] Aug 3 17:29:22 db7 mysqld: /lib/libpthread.so.0(+0x68ba) [0x7f341c1d68ba] Aug 3 17:29:22 db7 mysqld: /lib/libc.so.6(clone+0x6d) [0x7f341b7a002d] Aug 3 17:29:22 db7 mysqld:
How-To-Repeat: I have some queries over here that crash the server. Is there something like a drop-in binary for mysqld I could use to gather more information for you? or shall I run mysqld with strace or so?
This happens on all servers over here. At least all I tested it on... even if these queries are too complex, the mysqld should never die with signal 11 but give some kind of sql error! the database is far to big and complex to copy it (besides legal reasons, I can't send it to anybody), but I have replication slaves I can use for testing.
Fix: just don't run the query... no idea.
Submitter-Id: <submitter ID> Originator: root Organization: kirchy MySQL support: none Synopsis: Mysql crashes with signal 11 after a select (or even explain) on a view with a subselect. Severity: serious Priority: medium Category: mysql Class: sw-bug Release: mysql-5.2.7-MariaDB-mariadb101~squeeze ((MariaDB - http://mariadb.com/)) Server: /usr/bin/mysqladmin Ver 9.0 Distrib 5.2.7-MariaDB, for debian-linux-gnu on x86_64 Copyright 2000-2008 MySQL AB, 2008 Sun Microsystems, Inc, 2009 Monty Program Ab This software comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to modify and redistribute it under the GPL license
Server version 5.2.7-MariaDB-mariadb101~squeeze-log Protocol version 10 Connection Localhost via UNIX socket UNIX socket /var/run/mysqld/mysqld.sock Uptime: 57 min 5 sec Threads: 23 Questions: 491608 Slow queries: 175 Opens: 3750 Flush tables: 1 Open tables: 460 Queries per second avg: 143.535
C compiler: gcc-4.4.real (Debian 4.4.4-8) 4.4.5 20100728 (prerelease) C++ compiler: g++-4.4.real (Debian 4.4.4-8) 4.4.5 20100728 (prerelease) Environment:
System: Linux db7 2.6.39-bpo.2-amd64 #1 SMP Tue Jul 26 10:35:23 UTC 2011 x86_64 GNU/Linux Some paths: /usr/bin/perl /usr/bin/make /usr/bin/gcc /usr/bin/cc GCC: Using built-in specs. Target: x86_64-linux-gnu Configured with: ../src/configure -v --with-pkgversion='Debian 4.4.5-8' --with-bugurl=file:///usr/share/doc/gcc-4.4/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.4 --enable-shared --enable-multiarch --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.4 --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-objc-gc --with-arch-32=i586 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu Thread model: posix gcc version 4.4.5 (Debian 4.4.5-8) Compilation info (call): CC='gcc -static-libgcc' CFLAGS='-O2 -fno-omit-frame-pointer -g -pipe -Wall -Wno-uninitialized' CXX='g++ -static-libgcc' CXXFLAGS='-O2 -fno-omit-frame-pointer -g -pipe -Wall -Wno-uninitialized' LDFLAGS='' ASFLAGS='' Compilation info (used): CC='gcc -static-libgcc' CFLAGS=' -O2 -fno-omit-frame-pointer -g -pipe -Wall -Wno-uninitialized -DUNIV_LINUX' CXX='g++ -static-libgcc' CXXFLAGS=' -O2 -fno-omit-frame-pointer -g -pipe -Wall -Wno-uninitialized -fno-implicit-templates -fno-exceptions -fno-rtti' LDFLAGS=' -rdynamic ' ASFLAGS='' LIBC: lrwxrwxrwx 1 root root 14 3. Mär 2011 /lib/libc.so.6 -> libc-2.11.2.so -rwxr-xr-x 1 root root 1432968 23. Jan 2011 /lib/libc-2.11.2.so -rw-r--r-- 1 root root 4433334 23. Jan 2011 /usr/lib/libc.a -rw-r--r-- 1 root root 247 23. Jan 2011 /usr/lib/libc.so Configure command: ../configure '--build=x86_64-linux-gnu' '--host=x86_64-linux-gnu' '--prefix=/usr' '--exec-prefix=/usr' '--libexecdir=/usr/sbin' '--datadir=/usr/share' '--localstatedir=/var/lib/mysql' '--includedir=/usr/include' '--infodir=/usr/share/info' '--mandir=/usr/share/man' '--with-server-suffix=-mariadb101~squeeze' '--with-comment=(MariaDB - http://mariadb.com/)' '--with-system-type=debian-linux-gnu' '--enable-shared' '--enable-static' '--enable-thread-safe-client' '--enable-assembler' '--enable-local-infile' '--with-pstack' '--with-fast-mutexes' '--with-unix-socket-path=/var/run/mysqld/mysqld.sock' '--with-mysqld-user=mysql' '--with-big-tables' '--without-docs' '--with-extra-charsets=all' '--with-libwrap' '--with-ssl=/usr' '--with-libevent' '--without-readline' '--with-zlib-dir=' '--with-embedded-server' '--with-embedded-privilege-control' '--with-plugins=max-no-ndb' '--without-plugin-innodb_plugin' 'build_alias=x86_64-linux-gnu' 'host_alias=x86_64-linux-gnu' 'CC =gcc -static-libgcc' 'CFLAGS=-O2 -fno-omit-frame-pointer -g -pipe -Wall -Wno-uninitialized' 'LDFLAGS=' 'CPPFLAGS=' 'CXX=g++ -static-libgcc' 'CXXFLAGS=-O2 -fno-omit-frame-pointer -g -pipe -Wall -Wno-uninitialized'
Hello, On Fri, Aug 03, 2012 at 06:38:22PM +0200, kirchy@gmx.de wrote:
Description: we see some problems with views that include other views (I think that is the problem...) and selects on views with subselects. The log says after a crash: Aug 3 17:29:22 db7 mysqld: 120803 17:29:22 [ERROR] mysqld got signal 11 ; Aug 3 17:29:22 db7 mysqld: This could be because you hit a bug. It is also possible that this binary Aug 3 17:29:22 db7 mysqld: or one of the libraries it was linked against is corrupt, improperly built, Aug 3 17:29:22 db7 mysqld: or misconfigured. This error can also be caused by malfunctioning hardware. Aug 3 17:29:22 db7 mysqld: We will try our best to scrape up some info that will hopefully help diagnose Aug 3 17:29:22 db7 mysqld: the problem, but since we have already crashed, something is definitely wrong Aug 3 17:29:22 db7 mysqld: and this may fail. Aug 3 17:29:22 db7 mysqld: Aug 3 17:29:22 db7 mysqld: key_buffer_size=0 Aug 3 17:29:22 db7 mysqld: read_buffer_size=2097152 Aug 3 17:29:22 db7 mysqld: max_used_connections=100 Aug 3 17:29:22 db7 mysqld: max_threads=302 Aug 3 17:29:22 db7 mysqld: threads_connected=35 Aug 3 17:29:22 db7 mysqld: It is possible that mysqld could use up to Aug 3 17:29:22 db7 mysqld: key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 5570184 K Aug 3 17:29:22 db7 mysqld: bytes of memory Aug 3 17:29:22 db7 mysqld: Hope that's ok; if not, decrease some variables in the equation. Aug 3 17:29:22 db7 mysqld: Aug 3 17:29:22 db7 mysqld: Thread pointer: 0x7f3521cba000 Aug 3 17:29:22 db7 mysqld: Attempting backtrace. You can use the following information to find out Aug 3 17:29:22 db7 mysqld: where mysqld died. If you see no messages after this, something went Aug 3 17:29:22 db7 mysqld: terribly wrong... Aug 3 17:29:22 db7 mysqld: stack_bottom = 0x7f1f899b4e98 thread_stack 0x3c000 Aug 3 17:29:22 db7 mysqld: /usr/sbin/mysqld(my_print_stacktrace+0x2e) [0x7f341e1f39de] Aug 3 17:29:22 db7 mysqld: /usr/sbin/mysqld(handle_segfault+0x3e5) [0x7f341de306f5] Aug 3 17:29:22 db7 mysqld: /lib/libpthread.so.0(+0xef60) [0x7f341c1def60] Aug 3 17:29:22 db7 mysqld: /usr/sbin/mysqld(Field_dependency_recorder::visit_field(Field*)+0x1) [0x7f341dfb48c1] Aug 3 17:29:22 db7 mysqld: /usr/sbin/mysqld(Item_field::enumerate_field_refs_processor(unsigned char*)+0x16) [0x7f341dd779d6] Aug 3 17:29:22 db7 mysqld: /usr/sbin/mysqld(Item_subselect::enumerate_field_refs_processor(unsigned char*)+0x4c) [0x7f341ddeb6dc] Aug 3 17:29:22 db7 mysqld: /usr/sbin/mysqld(Dep_analysis_context::setup_equality_modules_deps(List<Dep_module>*)+0x13e) [0x7f341dfb406e] Aug 3 17:29:22 db7 mysqld: /usr/sbin/mysqld(+0x4e140d) [0x7f341dfb440d] Aug 3 17:29:22 db7 mysqld: /usr/sbin/mysqld(+0x4e15a0) [0x7f341dfb45a0] Aug 3 17:29:22 db7 mysqld: /usr/sbin/mysqld(+0x3d2eae) [0x7f341dea5eae] Aug 3 17:29:22 db7 mysqld: /usr/sbin/mysqld(JOIN::optimize()+0x465) [0x7f341dea7a55] Aug 3 17:29:22 db7 mysqld: /usr/sbin/mysqld(mysql_select(THD*, Item***, TABLE_LIST*, unsigned int, List<Item>&, Item*, unsigned int, st_order*, st_order*, Item*, st_order*, unsigned long long, select_result*, st_select_lex_unit*, st_select_lex*)+0xda) [0x7f341deb04da] Aug 3 17:29:22 db7 mysqld: /usr/sbin/mysqld(handle_select(THD*, st_lex*, select_result*, unsigned long)+0x15d) [0x7f341deb0f5d] Aug 3 17:29:22 db7 mysqld: /usr/sbin/mysqld(+0x368baa) [0x7f341de3bbaa] Aug 3 17:29:22 db7 mysqld: /usr/sbin/mysqld(mysql_execute_command(THD*)+0x40e) [0x7f341de3e05e] Aug 3 17:29:22 db7 mysqld: /usr/sbin/mysqld(mysql_parse(THD*, char*, unsigned int, char const**)+0x2c1) [0x7f341de43711] Aug 3 17:29:22 db7 mysqld: /usr/sbin/mysqld(dispatch_command(enum_server_command, THD*, char*, unsigned int)+0xceb) [0x7f341de4485b] Aug 3 17:29:22 db7 mysqld: /usr/sbin/mysqld(do_command(THD*)+0xf4) [0x7f341de45364] Aug 3 17:29:22 db7 mysqld: /usr/sbin/mysqld(handle_one_connection+0x13e) [0x7f341de3762e] Aug 3 17:29:22 db7 mysqld: /lib/libpthread.so.0(+0x68ba) [0x7f341c1d68ba] Aug 3 17:29:22 db7 mysqld: /lib/libc.so.6(clone+0x6d) [0x7f341b7a002d] Aug 3 17:29:22 db7 mysqld:
This happens on all servers over here. At least all I tested it on... even if these queries are too complex, the mysqld should never die with signal 11 but give some kind of sql error!
Agree fully. You're using 5.2.7, which has been released over a year ago. Any chance you could try with a more recent MariaDB (latest from 5.2.x series is 5.2.12) It also seems that the server binary is stripped. I don't know why this is so. Is it possible for you to - download the tarball binary package from here: http://downloads.mariadb.org/MariaDB/5.2.12/#os_group=linux_generic - unpack it - start the server binary with the same parameters as you start your sever - re-try the crashing query and see if it still crashes? In case it does: we can try fixing this, but we'll need: - the query that caused the crash - table definitions for all VIEWs that the query uses, as well as base tables that these VIEWs refer to. The crash happens early in optimization process, so hopefully we should be able to reproduce without requiring your table data. (Btw: MariaDB 5.5 has a lot of changes in subquery code, so it's interesting to try it on 5.5, too. Maybe the bug is simply no longer there. However, I understand that migration 5.2->5.5 may be too much for you)
How-To-Repeat: I have some queries over here that crash the server. Is there something like a drop-in binary for mysqld I could use to gather more information for you? or shall I run mysqld with strace or so? the database is far to big and complex to copy it (besides legal reasons, I can't send it to anybody), but I have replication slaves I can use for testing.
Fix: just don't run the query... no idea.
Submitter-Id: <submitter ID> Originator: root Organization: kirchy MySQL support: none Synopsis: Mysql crashes with signal 11 after a select (or even explain) on a view with a subselect. Severity: serious Priority: medium Category: mysql Class: sw-bug Release: mysql-5.2.7-MariaDB-mariadb101~squeeze ((MariaDB - http://mariadb.com/)) Server: /usr/bin/mysqladmin Ver 9.0 Distrib 5.2.7-MariaDB, for debian-linux-gnu on x86_64 Copyright 2000-2008 MySQL AB, 2008 Sun Microsystems, Inc, 2009 Monty Program Ab This software comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to modify and redistribute it under the GPL license
Server version 5.2.7-MariaDB-mariadb101~squeeze-log Protocol version 10 Connection Localhost via UNIX socket UNIX socket /var/run/mysqld/mysqld.sock Uptime: 57 min 5 sec
Threads: 23 Questions: 491608 Slow queries: 175 Opens: 3750 Flush tables: 1 Open tables: 460 Queries per second avg: 143.535
C compiler: gcc-4.4.real (Debian 4.4.4-8) 4.4.5 20100728 (prerelease) C++ compiler: g++-4.4.real (Debian 4.4.4-8) 4.4.5 20100728 (prerelease) Environment:
System: Linux db7 2.6.39-bpo.2-amd64 #1 SMP Tue Jul 26 10:35:23 UTC 2011 x86_64 GNU/Linux Some paths: /usr/bin/perl /usr/bin/make /usr/bin/gcc /usr/bin/cc GCC: Using built-in specs. Target: x86_64-linux-gnu Configured with: ../src/configure -v --with-pkgversion='Debian 4.4.5-8' --with-bugurl=file:///usr/share/doc/gcc-4.4/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.4 --enable-shared --enable-multiarch --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.4 --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-objc-gc --with-arch-32=i586 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu Thread model: posix gcc version 4.4.5 (Debian 4.4.5-8) Compilation info (call): CC='gcc -static-libgcc' CFLAGS='-O2 -fno-omit-frame-pointer -g -pipe -Wall -Wno-uninitialized' CXX='g++ -static-libgcc' CXXFLAGS='-O2 -fno-omit-frame-pointer -g -pipe -Wall -Wno-uninitialized' LDFLAGS='' ASFLAGS='' Compilation info (used): CC='gcc -static-libgcc' CFLAGS=' -O2 -fno-omit-frame-pointer -g -pipe -Wall -Wno-uninitialized -DUNIV_LINUX' CXX='g++ -static-libgcc' CXXFLAGS=' -O2 -fno-omit-frame-pointer -g -pipe -Wall -Wno-uninitialized -fno-implicit-templates -fno-exceptions -fno-rtti' LDFLAGS=' -rdynamic ' ASFLAGS='' LIBC: lrwxrwxrwx 1 root root 14 3. M??r 2011 /lib/libc.so.6 -> libc-2.11.2.so -rwxr-xr-x 1 root root 1432968 23. Jan 2011 /lib/libc-2.11.2.so -rw-r--r-- 1 root root 4433334 23. Jan 2011 /usr/lib/libc.a -rw-r--r-- 1 root root 247 23. Jan 2011 /usr/lib/libc.so Configure command: ../configure '--build=x86_64-linux-gnu' '--host=x86_64-linux-gnu' '--prefix=/usr' '--exec-prefix=/usr' '--libexecdir=/usr/sbin' '--datadir=/usr/share' '--localstatedir=/var/lib/mysql' '--includedir=/usr/include' '--infodir=/usr/share/info' '--mandir=/usr/share/man' '--with-server-suffix=-mariadb101~squeeze' '--with-comment=(MariaDB - http://mariadb.com/)' '--with-system-type=debian-linux-gnu' '--enable-shared' '--enable-static' '--enable-thread-safe-client' '--enable-assembler' '--enable-local-infile' '--with-pstack' '--with-fast-mutexes' '--with-unix-socket-path=/var/run/mysqld/mysqld.sock' '--with-mysqld-user=mysql' '--with-big-tables' '--without-docs' '--with-extra-charsets=all' '--with-libwrap' '--with-ssl=/usr' '--with-libevent' '--without-readline' '--with-zlib-dir=' '--with-embedded-server' '--with-embedded-privilege-control' '--with-plugins=max-no-ndb' '--without-plugin-innodb_plugin' 'build_alias=x86_64-linux-gnu' 'host_alias=x86_64-linux-gnu' 'CC =gcc -static-libgcc' 'CFLAGS=-O2 -fno-omit-frame-pointer -g -pipe -Wall -Wno-uninitialized' 'LDFLAGS=' 'CPPFLAGS=' 'CXX=g++ -static-libgcc' 'CXXFLAGS=-O2 -fno-omit-frame-pointer -g -pipe -Wall -Wno-uninitialized'
_______________________________________________ Mailing list: https://launchpad.net/~maria-developers Post to : maria-developers@lists.launchpad.net Unsubscribe : https://launchpad.net/~maria-developers More help : https://help.launchpad.net/ListHelp
-- BR Sergei -- Sergei Petrunia, Software Developer Monty Program AB, http://askmonty.org Blog: http://s.petrunia.net/blog
participants (2)
-
kirchy@gmx.de
-
Sergei Petrunia