← Back to team overview

maria-discuss team mailing list archive

Segfaulting with signal 6

 

I've run into another weird problem where MariaDB is segfaulting
and dieing on Gentoo Hardened Linux. I can't figure out if its a weird
situation with my Gentoo environment on the machine or something with
MariaDB itself. I don't have this problem on the other machine running
MariaDB. It seems to happen under load about once or twice a day. I have
a nearly identical machine that doesn't have any of these problems.

I'm running mariadb-5.1.50 under Hardened Gentoo. The compiled flags are:

---
Configuration summary for MariaDB Server version 5.1.50-MariaDB

   * Installation prefix:       /usr
   * System type:               pc-linux-gnu
   * Host CPU:                  x86_64
   * C Compiler:                x86_64-pc-linux-gnu-gcc (Gentoo Hardened
4.4.4-r2 p1.2, pie-0.4.5) 4.4.4
   * C++ Compiler:              x86_64-pc-linux-gnu-g++ (Gentoo Hardened
4.4.4-r2 p1.2, pie-0.4.5) 4.4.4
   * Debug enabled:             no
   * Community Features:        yes

---

$ ./configure --prefix=/usr --build=x86_64-pc-linux-gnu
--host=x86_64-pc-linux-gnu --mandir=/usr/share/man
--infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc
--localstatedir=/var/lib --libexecdir=/usr/sbin --sysconfdir=/etc/mysql
--localstatedir=/var/lib/mysql --sharedstatedir=/usr/share/mysql
--libdir=/usr/lib64/mysql --includedir=/usr/include/mysql
--with-low-memory --with-client-ldflags=-lstdc++
--enable-thread-safe-client --with-comment=Gentoo Linux mariadb-5.1.50
--without-docs --without-big-tables --enable-local-infile
--with-extra-charsets=all --with-mysqld-user=mysql --with-server
--with-unix-socket-path=/var/run/mysqld/mysqld.sock --without-libwrap
--enable-shared --enable-static --without-debug --with-charset=utf8
--with-collation=utf8_general_ci --without-embedded-privilege-control
--without-embedded-server --with-ssl=/usr --enable-assembler
--with-geometry --with-readline --with-zlib-dir=/usr/ --without-pstack
--with-plugindir=/usr/lib64/mysql/plugin --enable-community-features
--disable-profiling --with-maria-tmp-tables --with-libevent
--with-plugins=csv,myisam,myisammrg,heap,archive,blackhole,maria,xtradb
--without-plugin-example --without-plugin-ibmdb2i
--without-plugin-partition --without-plugin-federated
--without-plugin-ndbcluster --without-plugin-pbxt

I haven't opened a bug with Gentoo yet (I'm actually developer myself).
I figured I'd ask here first.

Any help would be great. Thanks!

Here's the output I have from the log file:

mysqld: malloc.c:5153: malloc_consolidate: Assertion
`nextchunk->fd_nextsize->bk_nextsize == nextchunk' failed.
110329 13:11:25 [ERROR] mysqld got signal 6 ;
This could be because you hit a bug. It is also possible that this
binary or one of the libraries it was linked against is corrupt,
improperly built, or misconfigured. This error can also be caused by
malfunctioning hardware. We will try our best to scrape up some info
that will hopefully help diagnose the problem, but since we have already
crashed, something is definitely wrong and this may fail.

key_buffer_size=134217728
read_buffer_size=262144
max_used_connections=376
max_threads=401
threads_connected=80
It is possible that mysqld could use up to
key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads =
445322 K
bytes of memory
Hope that's ok; if not, decrease some variables in the equation.

thd: 0x3518dccbaa0
Attempting backtrace. You can use the following information to find out
where mysqld died. If you see no messages after this, something went
terribly wrong...
stack_bottom = 0x3519ebd3ea0 thread_stack 0x3c000
/usr/lib64/mysql/libmysys.so.0(my_print_stacktrace+0x3c) [0x3547393ab0c]
/usr/sbin/mysqld(handle_segfault+0x3cc) [0x7d0ebd1c1c]
/lib/libpthread.so.0(+0xf010) [0x35473f86010]
/lib/libc.so.6(gsignal+0x35) [0x35472264135]
/lib/libc.so.6(abort+0x180) [0x35472265550]
/lib/libc.so.6(+0x72c6a) [0x354722a4c6a]
/lib/libc.so.6(+0x72f2d) [0x354722a4f2d]
/lib/libc.so.6(+0x751e4) [0x354722a71e4]
/lib/libc.so.6(__libc_malloc+0x70) [0x354722a9900]
/usr/sbin/mysqld(+0x5ad9cf) [0x7d0ee529cf]
/usr/sbin/mysqld(+0x5f3bfb) [0x7d0ee98bfb]
/usr/sbin/mysqld(+0x5ed71b) [0x7d0ee9271b]
/usr/sbin/mysqld(+0x588aa3) [0x7d0ee2daa3]
/usr/sbin/mysqld(rr_sequential(READ_RECORD*)+0x29) [0x7d0ecc4b69]
/usr/sbin/mysqld(sub_select(JOIN*, st_join_table*, bool)+0x99)
[0x7d0ec430b9]
/usr/sbin/mysqld(+0x39e524) [0x7d0ec43524]
/usr/sbin/mysqld(JOIN::exec()+0xbd7) [0x7d0ec53b47]
/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*)+0x1b2) [0x7d0ec551a
2]
/usr/sbin/mysqld(handle_select(THD*, st_lex*, select_result*, unsigned
long)+0x19c) [0x7d0ec55c5c]
/usr/sbin/mysqld(+0x33955a) [0x7d0ebde55a]
/usr/sbin/mysqld(mysql_execute_command(THD*)+0x405) [0x7d0ebe07f5]
/usr/sbin/mysqld(mysql_parse(THD*, char*, unsigned int, char
const**)+0x2f3) [0x7d0ebe5cf3]
/usr/sbin/mysqld(dispatch_command(enum_server_command, THD*, char*,
unsigned int)+0x53a) [0x7d0ebe6b2a]
/usr/sbin/mysqld(libevent_thread_proc+0x182) [0x7d0ebda682]
/lib/libpthread.so.0(+0x68c4) [0x35473f7d8c4]
/lib/libc.so.6(clone+0x6d) [0x35472302b4d]
Trying to get some variables.
Some pointers may be invalid and cause the dump to abort...
thd->query at 0x3518424f018 is an invalid pointer
thd->thread_id=14399
thd->killed=NOT_KILLED
The manual page at http://dev.mysql.com/doc/mysql/en/crashing.html contains
information that should help you find out what is causing the crash.



-- 
Lance Albertson
Systems Administrator / Architect                        Open Source Lab
Network Services                                 Oregon State University

Attachment: signature.asc
Description: OpenPGP digital signature


Follow ups