8.2 + apache == a LOT of sigprocmask

Jeremy Chadwick freebsd at jdc.parodius.com
Tue Nov 15 10:22:23 UTC 2011


On Tue, Nov 15, 2011 at 11:07:45AM +0200, Kostik Belousov wrote:
> On Mon, Nov 14, 2011 at 12:51:35PM -0800, Doug Barton wrote:
> > On 11/14/2011 12:31, Doug Barton wrote:
> > > Trying to track down a load problem we're seeing on 8.2-RELEASE-p4 i386
> > > in a busy web hosting environment I came across the following post:
> > > 
> > > http://lists.freebsd.org/pipermail/freebsd-questions/2011-October/234520.html
> > > 
> > > That basically describes what we're seeing as well, including the
> > > "doesn't happen on Linux" part.
> > > 
> > > Does anyone have any ideas about this?
> > > 
> > > With incredibly similar stuff running on 7.x we didn't see this problem,
> > > so it seems to be something new in 8.
> > 
> > Just took a closer look at our ktrace, and actually our pattern is
> > slightly different than the one in that post. In ours the second option
> > is null, but the third is set:
> > 
> > 74195 httpd    0.000017 RET   sigprocmask 0
> > 74195 httpd    0.000013 CALL  sigprocmask(SIG_BLOCK,0,0xbfbf89d4)
> > 74195 httpd    0.000009 RET   sigprocmask 0
> > 74195 httpd    0.000013 CALL  sigprocmask(SIG_BLOCK,0,0xbfbf89d4)
> > 74195 httpd    0.000009 RET   sigprocmask 0
> > 74195 httpd    0.000012 CALL  sigprocmask(SIG_BLOCK,0,0xbfbf89d4)
> > 
> > But repeated hundreds of times in a row.
>
> The calls cannot come from rtld, they are generated by some setjmp()
> invocation. If signal-safety is not needed, sigsetjmp() should be used
> instead.
> 
> Quick grep of the apache httpd source shows a single setjmp() in their
> copy of pcre. No idea is it to safe to change setjmp() into sigsetjmp(?, 0).

I hate cross-posting, but: adding freebsd-apache@ to the list.  Some of
the Apache folks (not just port committers) may have some insight to
Kostik's findings.

-- 
| Jeremy Chadwick                                jdc at parodius.com |
| Parodius Networking                       http://www.parodius.com/ |
| UNIX Systems Administrator                   Mountain View, CA, US |
| Making life hard for others since 1977.               PGP 4BD6C0CB |



More information about the freebsd-apache mailing list