MariaDB crashes on startup
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
MariaDB |
Fix Released
|
Low
|
Sergei Golubchik |
Bug Description
I wanted to add skip-pbxt to the config of one of a pair of mariadb dual masters. I added it, tried a restart, failure. Removed it, restart, failure. I've since then been trying a bunch of things:
* error log was complaining about deprecated options, so I disabled those.
* kept disabling unnecessary things from the my.cnf until I got to the bare minimum it is at now (see log below)
* upgraded to the latest version of mariadb 5.2.6 (from 5.2.5 rpms from askmonty.org)
* tried using strace to see what that would come up with
* No results. strace output attached. Command line log:
[root@yomamma ~]# cat /etc/my.cnf
# Server settings.
[mysqld]
datadir = /mysql/data
log-bin = /mysql/
log-error = /mysql/
general_log = 1
general_log_file = /mysql/
log-slave-updates
[root@yomamma ~]# mysqld_safe --safe-mode
110530 16:06:26 mysqld_safe Logging to '/mysql/
110530 16:06:26 mysqld_safe Starting mysqld daemon with databases from /mysql/data
110530 16:06:26 mysqld_safe mysqld from pid file /mysql/
[root@yomamma ~]# tail /mysql/
110530 15:32:10 mysqld_safe mysqld from pid file /mysql/
110530 16:06:26 mysqld_safe Starting mysqld daemon with databases from /mysql/data
110530 16:06:26 [ERROR] mysqld got signal 11 ;
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=0
read_buffer_
max_used_
max_threads=153
threads_connected=0
It is possible that mysqld could use up to
key_buffer_size + (read_buffer_size + sort_buffer_
bytes of memory
Hope that's ok; if not, decrease some variables in the equation.
Thread pointer: 0x10154340
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 = 0x7fff9cb91890 thread_stack 0x48000
/usr/sbin/
/usr/sbin/
/lib64/
/usr/sbin/
/usr/sbin/
/usr/sbin/
/usr/sbin/mysqld [0x63fa50]
/usr/sbin/
/usr/sbin/
/usr/sbin/
/usr/sbin/
/usr/sbin/mysqld [0x5f059b]
/usr/sbin/
/lib64/
/usr/sbin/mysqld [0x52c1c9]
Trying to get some variables.
Some pointers may be invalid and cause the dump to abort.
Query ((nil)): is an invalid pointer
Connection ID (thread ID): 0
Status: NOT_KILLED
The manual page at http://
information that should help you find out what is causing the crash.
110530 16:06:26 mysqld_safe mysqld from pid file /mysql/
Related branches
Changed in maria: | |
status: | Fix Committed → Confirmed |
assignee: | Sergey Petrunia (sergefp) → Sergei (sergii) |
Changed in maria: | |
status: | Confirmed → Fix Committed |
milestone: | none → 5.1 |
Changed in maria: | |
status: | Fix Committed → Fix Released |
Basically, I narrowed this bug to a manipulation error - the mysql.plugin table had been converted to InnoDB. Since InnoDB engine is not loaded at server start (it's a plugin), the table can't be read. Moving the .frm and .ibd file to another directory is a workaround.
I somewhat think that the system tables should be protected against any conversion to engines which aren't compiled-in - or at least, instead of crashing, write out a message to the error log and explain why the mysql.plugin table cannot be read.