Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 18 Nov 2011 11:19:37 +0200
From:      Kostik Belousov <kostikbel@gmail.com>
To:        Doug Barton <dougb@freebsd.org>
Cc:        Daniil Cherednik <dcherednik@masterhost.ru>, freebsd-apache@freebsd.org, freebsd-stable@freebsd.org
Subject:   Re: 8.2 + apache == a LOT of sigprocmask
Message-ID:  <20111118091937.GA50300@deviant.kiev.zoral.com.ua>
In-Reply-To: <4EC610B9.8080406@FreeBSD.org>
References:  <4EC17F57.5030008@FreeBSD.org> <20111115090745.GO50300@deviant.kiev.zoral.com.ua> <20111115100904.GA92795@icarus.home.lan> <4EC4ADC3.2060604@FreeBSD.org> <20111117074909.GL50300@deviant.kiev.zoral.com.ua> <4EC4BECA.5040705@FreeBSD.org> <20111117081210.GN50300@deviant.kiev.zoral.com.ua> <4EC4D359.4040406@FreeBSD.org> <20111117105744.GS50300@deviant.kiev.zoral.com.ua> <4EC610B9.8080406@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help

--ZEJo5p0yAM1jsdkh
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Fri, Nov 18, 2011 at 12:00:57AM -0800, Doug Barton wrote:
> On 11/17/2011 02:57, Kostik Belousov wrote:
> >> > It's not catching there though:
> >> >=20
> >> > Reading symbols from /libexec/ld-elf.so.1...done.
> >> > Loaded symbols for /libexec/ld-elf.so.1
> >> > 0x28183b2d in accept () at accept.S:3
> >> > 3	RSYSCALL(accept)
> >> > (gdb) c
> >> > Continuing.
> >> > no thread to satisfy query
> >> > 0x28183b2d in accept () at accept.S:3
> >> > 3	RSYSCALL(accept)
> >> > (gdb) info threads
> >> > Cannot get thread info: invalid key
> >> > (gdb)
> > Err, the other part of my message was that you shall set the breakpoint
> > on sigprocmask.
>=20
> I'm sorry I'm not making myself clear. We are setting the breakpoint on
> sigprocmask. But, maybe I'm doing it wrong. Can you give precise
> instructions as to what you want me to do, from the beginning? Sorry to
> be so dense.
Find the pid of the process issuing excessive number of sigprocmask
calls. Do
$ gdb /usr/local/bin/httpd
(gdb) attach <pid>
(gdb) b _sigprocmask
(gdb) c
Bah ! Breakpoint fired.
(gdb) bt
(gdb) c
<... Repeat ... >

>=20
> > I want to see a backtrace from the breakpoint hit.
> > Several times.
>=20
> Me too. :)
>=20
> Meanwhile, in response to one of the other questions, we are using
> mpm_prefork. Also, the particular problem we're seeing does not appear
> related to fork(). The pattern of sigprocmask() calls is different from
> the pattern you see with fork().
I am sure that your sigprocmask calls do not come from rtld, it is some
use of setjmp or sigsetjmp(1), most likely.

I am not aware of any significant users of setjmp or sigprocmask in
our system libraries.
>=20
>=20
> Doug
>=20
> --=20
>=20
> 		"We could put the whole Internet into a book."
> 		"Too practical."
>=20
> 	Breadth of IT experience, and depth of knowledge in the DNS.
> 	Yours for the right price.  :)  http://SupersetSolutions.com/

--ZEJo5p0yAM1jsdkh
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.18 (FreeBSD)

iEYEARECAAYFAk7GIykACgkQC3+MBN1Mb4gPtwCdEwGLoFiLVJsgTwpmRYNkeXd0
yuEAnj5wdYlX5mJ9r/3oWnVWsQviyC5J
=tAQC
-----END PGP SIGNATURE-----

--ZEJo5p0yAM1jsdkh--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20111118091937.GA50300>