Hello list,

I've got a problem with mysql being killed by signal 11 (segmentation
violation). It gets killed on average every 4 days, and on that day it
will on averate get killed 4 times. Sometimes it will be as many as 8
times, sometimes only once (see below for log).

I've read 'Debugging a MySQL server' in the manual, and have taken the
stacktrace (which is the same everytime it gets killed) and resolved
it to get:

0x400645e2 _end + 937899586
0x40063bc2 _end + 937896994
0x80bcd6e create_new_thread__FP3THD + 638
0x80bd232 handle_connections_sockets__FPv + 1058
0x80bc8e5 main + 2625
0x400e89b7 _end + 938441239
0x8088821 _start + 33

Unsurprisingly, this doesn't help me out much except that it looks
like it happens when a new thread is created.

As I said, I have read the online manual so I know that this may not
help anyone else out either, but I have no idea how to get the fault
to happen on demand - so this seems like a good enough way to start.
If anyone can make any suggestions on tests/things to try then
please do.

Thanks, Matt


This is what a typical log entry looks like:
--------------------
mysqld got signal 11;
The manual section 'Debugging a MySQL server' tells you how to use a
stack trace and/or the core file to produce a readable backtrace that
may
help in finding out why mysqld died
Attemping backtrace. You can use the following information to find out
where mysqld died.  If you see no messages after this, something went
terribly wrong
Cannot determine thread, ebp=0xbffff484, backtrace may not be correct
stack range sanity check, ok, backtrace follows
0x400645e2
0x40063bc2
0x80bcd6e
0x80bd232
0x80bc8e5
0x400e89b7
0x8088821
New value of ebp failed sanity check terminating backtrace

Number of processes running now: 0
011129 12:16:57  mysqld restarted
/usr/local/mysql/libexec/mysqld: ready for connections

This is how often it gets killed (these are all caused by SIGSEGV)
--------------------
$ grep -e 'mysqld restarted' bertha.err | uniq -w6 -c 
1 010930 19:10:32  mysqld restarted
8 011001 09:40:39  mysqld restarted
2 011002 09:49:22  mysqld restarted
3 011020 09:16:26  mysqld restarted
3 011025 14:00:11  mysqld restarted
7 011026 13:46:05  mysqld restarted
1 011029 20:01:59  mysqld restarted
2 011031 12:29:03  mysqld restarted
1 011107 16:24:05  mysqld restarted
2 011112 13:39:32  mysqld restarted
7 011113 14:52:30  mysqld restarted
7 011120 15:04:52  mysqld restarted
4 011122 11:46:56  mysqld restarted
4 011126 09:45:53  mysqld restarted
6 011127 10:12:18  mysqld restarted
1 011129 12:16:57  mysqld restarted

-- 
#!/usr/bin/perl
$A='A';while(print+($A.=(grep{($A=~/(...).{78}$/)[0]eq$_}"  A A A  "
=~m{(...)}g)?"A":" ")=~/([ A])$/){if(!(++$l%80)){print"\n";sleep 1}}


---------------------------------------------------------------------
Before posting, please check:
   http://www.mysql.com/manual.php   (the manual)
   http://lists.mysql.com/           (the list archive)

To request this thread, e-mail <[EMAIL PROTECTED]>
To unsubscribe, e-mail <[EMAIL PROTECTED]>
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php

Reply via email to