6 messages in com.mysql.lists.mysqlRe: SIGPROF problem in FreeBSD 4.6 (R...
FromSent OnAttachments
mys...@d.sparks.net03 Aug 2002 20:59 
Jeremy Zawodny04 Aug 2002 04:03 
David Miller09 Aug 2002 13:20 
Dan Nelson09 Aug 2002 14:03 
Jeremy Zawodny09 Aug 2002 15:53 
Jeremy Zawodny17 Aug 2002 19:45 
Subject:Re: SIGPROF problem in FreeBSD 4.6 (REPOST)
From:David Miller (dmil@sparks.net)
Date:08/09/2002 01:20:20 PM
List:com.mysql.lists.mysql

On Sun, 4 Aug 2002, Jeremy Zawodny wrote:

Hi Jeremy;

I didn't think my server would be doing any name resolution, particularly while replace()ing millions of rows in a table. That said, --skip-name-resolve *seems* to have helped. It's definately still failing, and the ktrace is the same, so it's not two problems:

88274 mysqld PSIG SIGPROF caught handler=0x812d58c mask=0x0 code=0x0 88274 mysqld CALL gettimeofday(0x81c634c,0) 88274 mysqld RET gettimeofday 0 88274 mysqld CALL sigprocmask(0x3,0x81c63d8,0) 88274 mysqld RET sigprocmask 0 88274 mysqld CALL sigaltstack(0x8203ca0,0) 88274 mysqld RET sigaltstack 0 88274 mysqld CALL poll(0x821c000,0xd,0) 88274 mysqld RET poll 0 88274 mysqld CALL sigreturn(0x2445b464) 88274 mysqld RET sigreturn JUSTRETURN 88274 mysqld PSIG SIGPROF caught handler=0x812d58c mask=0x0 code=0x0 88274 mysqld CALL gettimeofday(0x81c634c,0) 88274 mysqld RET gettimeofday 0 88274 mysqld CALL sigprocmask(0x3,0x81c63d8,0) 88274 mysqld RET sigprocmask 0 88274 mysqld CALL sigaltstack(0x8203ca0,0) 88274 mysqld RET sigaltstack 0 88274 mysqld CALL poll(0x821c000,0xd,0) 88274 mysqld RET poll 0 88274 mysqld CALL sigreturn(0x2445b464) 88274 mysqld RET sigreturn JUSTRETURN 88274 mysqld PSIG SIGPROF caught handler=0x812d58c mask=0x0 code=0x0

One new item I found was in the /usr/local/var/host.err file:

020809 16:07:15 /usr/local/libexec/mysqld: Normal shutdown

020809 16:07:16 /usr/local/libexec/mysqld: Forcing close of thread 199 user: 'dmiller'

020809 16:07:17 /usr/local/libexec/mysqld: Shutdown Complete

For the record: 3.23.51, configured with:

$ ./configure --prefix=/usr/local --enable-assembler --with-mit-threads=no --with-mysqld-ldflags=-all-static --with-raid --without-readline

FreeBSD 4-STABLE

Pointers welcome. Would alternate thread libraries be helpful?

--- David

On Sat, Aug 03, 2002 at 11:59:56PM -0400, mys@d.sparks.net wrote:

Symptoms:

mysqld locks itself in a tight loop, consuming all available CPU cycles. a simple "kill" sometimes kills the daemon, other times a -9 is required. While in this state, any access to the daemon stops - mysql queries simply hang.

Hmm. Looks like a problem we solve recently, but yours is a bit different. We found that FreeBSD's not-so-thread-safe gethostbyname_r() causes problems for MySQL. So it's best to use --skip-name-resolve when starting it up. Maybe the same bug is somehow triggering this? Seems unlikely, but ya never know...