Bug #62512 | Crash on MacOSX | ||
---|---|---|---|
Submitted: | 23 Sep 2011 10:53 | Modified: | 3 Mar 2012 16:35 |
Reporter: | Thomas Werner | Email Updates: | |
Status: | Can't repeat | Impact on me: | |
Category: | MySQL Server: Options | Severity: | S3 (Non-critical) |
Version: | 5.5.15 | OS: | MacOS (10.6 and 10.7) |
Assigned to: | CPU Architecture: | Any |
[23 Sep 2011 10:53]
Thomas Werner
[23 Sep 2011 10:54]
Thomas Werner
Log
Attachment: loox.local.err (application/octet-stream, text), 53.74 KiB.
[23 Sep 2011 10:54]
Valeriy Kravchuk
Please, attach error log with information from the crash.
[23 Sep 2011 13:21]
Thomas Werner
Our submission obviously crossed. Log is already is attached.
[23 Sep 2011 15:33]
Valeriy Kravchuk
Any chance to pinpoint SQL that crashes? general query log or some application-level log maybe?
[26 Sep 2011 16:11]
Thomas Werner
I guess, it has something to todo with (the queries in) stored procedures, but i try to check it with the logs next days (end of the week) because currently on the way. If have something i let you know.
[14 Oct 2011 14:31]
Thomas Werner
I spend some time and i got it. I found a simple stored procedure, which causes the crash and contains only a simple UPDATE: mysql> CALL cmf_contact_set( 1017639 ); => CRASH mysql> UPDATE `contact` SET `contact_name` = cmf_contact_get_cn( `contact_id` ) WHERE `contact_id` = 1017639 LIMIT 1; => NO CRASH After disabling the triggers for table "contact" or "emptied" the "deepest" stored procedure/function (removed a simple SELECT statement) which was called from trigger it was working. But with SELECT statement in "depeest" stored procedure/function, it crashes again. Then i simple increased "thread_stack" and now no crash anymore.
[3 Nov 2011 8:57]
Valeriy Kravchuk
So, can we assume that this problem was not a result of any bug and you just had to set proper thread_stack size, taking into account deep nesting of triggers and stored routines?
[3 Nov 2011 9:46]
Thomas Werner
Yes, but on windows or linux i get an error message. I think a crash is not the right answer if a configuration parameter is to low. An error message would have saved me much time. Strange was, that with the error message on linux i updated my.cnf on osx as well but the setting [mysqld] thread_stack = 512K was not recognized in my.cnf on osx. SHOW VARIABLES did show always the default value. I checked the processes and i'm sure that my.cnf is loaded: /usr/local/mysql/bin/mysqld --defaults-extra-file=/usr/local/mysql/data/my.cnf --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ --plugin-dir=/usr/local/mysql/lib/plugin --user=tom but than i only added --thread-stack=512K to the daemon and now everything is working. I did not continue to follow it to find out the trouble maker, maybe there is a "parse error" in my local cnf file... but anyway, with crash it was not easy to find the problem, because the last query change everytime in crash log.
[22 Feb 2012 17:42]
Valeriy Kravchuk
Please, check if this problem ever happens with a newer version, 5.5.21.
[2 Mar 2012 9:13]
Thomas Werner
With new version no problems anymore. Now the param "thread_stack" in my.cnf will be used and the defined value is shown in "SHOW VARIABLES;". I used only the the same my.cnf which was not working with my previous versions, everything else is re-installed/replaced (e.g. my changed startup script) and with a too low thread stack now get an error "stack overrun.." instead of a crash. Thumbs up...
[3 Mar 2012 16:35]
Valeriy Kravchuk
Not repeatable with 5.5.21.
[26 Jun 2012 13:46]
Thomas Zapf-Schramm
On 5.5.25 this behavior is back again (on OSX 10.7.4 Astelix