Subject: Re: mysqld - innodb, pthread_mutex_unlock
To: None <netbsd-help@netbsd.org>
From: rudolf <netbsd@eq.cz>
List: netbsd-help
Date: 01/30/2006 18:05:27
rudolf wrote:
> Juan RP wrote:
>
>> On Mon, 30 Jan 2006 03:47:18 +0100
>> rudolf <netbsd@eq.cz> wrote:
>>
>>
>>> Hi,
>>>
>>> I have some problems with mysqld 5.0.18 (pkgsrc-2005Q4 with current
>>> databases/mysql5-client and databases/mysql5-server) on an amd64 (one
>>> Xeon) machine. The daemon refuses to start if it's configured to run
>>> innodb engine and there are the innodb files present in mysql data
>>> directory (it starts correctly only when it initially creates the
>>> innodb files, subsequent restart again fails). It is possible to
>>> start it correctly with "--skip-innodb", but once I also got:
>>>
>>> mysqld: Error detected by libpthread: Invalid mutex.
>>> Detected by file
>>> "/home/builds/ab/netbsd-3-0-RELEASE/src/lib/libpthread/pthread_mutex.c",
>>> line 334, function "pthread_mutex_unlock".
>>> See pthread(3) for information.
>>>
>>> Do you have any idea what could be wrong? (u)limits are stretched to
>>> maximum for the process so this shouldn't be the problem. It's NetBSD
>>> 3.0, amd64, 2G RAM, slightly modified GENERIC kernel.
>>
>>
>>
>> For unknown reasons mysql is trying to unlock an invalid mutex,
>> the pthread library detects it and refuses to start.
[...]
I made two ktruss outputs:
# ktruss -i /usr/pkg/bin/mysqld_safe --user=mysql --datadir=/var/mysql
--pid-file=/var/mysql/`/bin/hostname`.pid >> /tmp/file.ktruss
http://ttt.eq.cz/mysqld_ok.ktruss
at the beginning there are no /var/mysql/ib* files - mysqld starts
without problems, creating the innodb files at startup
http://ttt.eq.cz/mysqld_sigill.ktruss
the /var/mysql/ib* files are already created, mysqld gets sigill when it
pread's ehmm ... something :)
Thoughts?
r.