>>>>> "ai" == ai <ai@stripped> writes:
>> Description:
ai> mysqlid aborts randomly during various simple queries.
ai> The message from safe_mysqld script is
ai> /usr/local/bin/safe_mysqld: line 146: 23998 Alarm clock nohup
> $ledir/mysqld --basedir=$MY_BASEDIR_VERSION --datadir=$DATADIR "$@" >>$err_log
> 2>&1
ai> mysqld restarted on Tue Jun 29 23:01:05 CEST 1999
ai> I'm using Perl DBI and DBI returns for example:
ai> sql: select id from words where val=?
ai> err: 2013
ai> errstr: Lost connection to MySQL server during query
ai> there are other queries but nothing complicated, no joins, just simple selects and
> inserts. It happens completely random.
Hi!
Which glibc/linuxthreads version are you using?
The above will happen if there is some problems with the sigwait()
call or the signal handling when using threads.
MySQL uses alarms to ensure that it will not block forever on some
read call.
All mysql threads blocks the alarm signal call and there is only one
thread that is waiting (with sigwait()) for the alarm. This should
make the alarms safe!
I don't know why this doesn't work for you, as the code is VERY tested
on Linux-intel. The only thing I can suggest to you (besides
upgrading your libraries and your compiler) are trying to compile
MySQL with:
CFLAGS=-DUSE_ALARM_THREAD CXXFLAGS=-DUSE_ALARM_THREAD ./configure
This will force MySQL to create a dedicated thread that handles all
alarms!
Regards,
Monty