List:General Discussion« Previous MessageNext Message »
From:Dan Nelson Date:August 9 2002 9:04pm
Subject:Re: SIGPROF problem in FreeBSD 4.6 (REPOST)
View as plain text  
In the last episode (Aug 09), David Miller said:
> On Sun, 4 Aug 2002, Jeremy Zawodny wrote:
> > On Sat, Aug 03, 2002 at 11:59:56PM -0400, mysql@stripped wrote:
>
> 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

This ktrace doesn't have anything really interesting in it.  FreeBSD's
threads library uses the profiling timer to allow for pre-emptive
thread switching, so you're going to see lots of them.  The poll call
looks a bit odd though.  It's polling 13 file descriptors (0xd == 13)
with no timeout in a tight loop.

> > > 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.

A coredump of this state + gdb "thread apply all bt" might be interesting.

> > 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...

FreeBSD doesn't even provide a gethostbyname_r(), so that can't be the
problem :)

-- 
	Dan Nelson
	dnelson@stripped
Thread
SIGPROF problem in FreeBSD 4.6 (REPOST)mysql4 Aug
  • Re: SIGPROF problem in FreeBSD 4.6 (REPOST)Jeremy Zawodny4 Aug
    • Re: SIGPROF problem in FreeBSD 4.6 (REPOST)David Miller10 Aug
      • Re: SIGPROF problem in FreeBSD 4.6 (REPOST)Dan Nelson10 Aug
        • Re: SIGPROF problem in FreeBSD 4.6 (REPOST)Jeremy Zawodny10 Aug
      • Re: SIGPROF problem in FreeBSD 4.6 (REPOST)Jeremy Zawodny18 Aug