From owner-freebsd-apache@FreeBSD.ORG Sun Nov 20 18:34:39 2011 Return-Path: Delivered-To: freebsd-apache@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2E0D3106564A; Sun, 20 Nov 2011 18:34:39 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from mail.zoral.com.ua (mx0.zoral.com.ua [91.193.166.200]) by mx1.freebsd.org (Postfix) with ESMTP id BC1A48FC15; Sun, 20 Nov 2011 18:34:38 +0000 (UTC) Received: from alf.home (alf.kiev.zoral.com.ua [10.1.1.177]) by mail.zoral.com.ua (8.14.2/8.14.2) with ESMTP id pAKIYYaQ053251 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Sun, 20 Nov 2011 20:34:34 +0200 (EET) (envelope-from kostikbel@gmail.com) Received: from alf.home (kostik@localhost [127.0.0.1]) by alf.home (8.14.5/8.14.5) with ESMTP id pAKIYY0i031343; Sun, 20 Nov 2011 20:34:34 +0200 (EET) (envelope-from kostikbel@gmail.com) Received: (from kostik@localhost) by alf.home (8.14.5/8.14.5/Submit) id pAKIYYKo031342; Sun, 20 Nov 2011 20:34:34 +0200 (EET) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: alf.home: kostik set sender to kostikbel@gmail.com using -f Date: Sun, 20 Nov 2011 20:34:34 +0200 From: Kostik Belousov To: Doug Barton Message-ID: <20111120183434.GA50300@deviant.kiev.zoral.com.ua> References: <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> <20111118091937.GA50300@deviant.kiev.zoral.com.ua> <4EC6BB17.20706@FreeBSD.org> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="EUdKUZvr8YK8ET4E" Content-Disposition: inline In-Reply-To: <4EC6BB17.20706@FreeBSD.org> User-Agent: Mutt/1.4.2.3i X-Virus-Scanned: clamav-milter 0.95.2 at skuns.kiev.zoral.com.ua X-Virus-Status: Clean X-Spam-Status: No, score=-3.9 required=5.0 tests=ALL_TRUSTED,AWL,BAYES_00 autolearn=ham version=3.2.5 X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on skuns.kiev.zoral.com.ua Cc: Daniil Cherednik , freebsd-apache@freebsd.org, freebsd-stable@freebsd.org Subject: Re: 8.2 + apache == a LOT of sigprocmask X-BeenThere: freebsd-apache@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Support of apache-related ports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 20 Nov 2011 18:34:39 -0000 --EUdKUZvr8YK8ET4E Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Fri, Nov 18, 2011 at 12:07:51PM -0800, Doug Barton wrote: > On 11/18/2011 01:19, Kostik Belousov wrote: > > 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: > >>>>> > >>>>> 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 breakpoi= nt > >>> on sigprocmask. > >> > >> 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 > > (gdb) b _sigprocmask > > (gdb) c > > Bah ! Breakpoint fired. > > (gdb) bt > > (gdb) c > > <... Repeat ... > >=20 > Right, so we're on the same page at least. I've been abbreviating the > output of gdb to make it easier to see the problem, but here is a > (nearly) complete transcript: >=20 > gdb /usr/local/bin/httpd > Copyright 2004 Free Software Foundation, Inc. > GDB is free software, covered by the GNU General Public License, and you = are > welcome to change it and/or distribute copies of it under certain > conditions. > Type "show copying" to see the conditions. > There is absolutely no warranty for GDB. Type "show warranty" for detail= s. > This GDB was configured as "i386-marcel-freebsd"... > (gdb) attach 1380 > Attaching to program: /usr/local/bin/httpd, process 1380 > Reading symbols from .... (lots of symbol-reading snipped) > 3 RSYSCALL(accept) > Current language: auto; currently asm > (gdb) b _sigprocmask > Breakpoint 1 at 0x282d9055: file /usr/src/lib/libthr/thread/thr_sig.c, > line 210. > (gdb) c > Continuing. > no thread to satisfy query > 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) c > Continuing. > no thread to satisfy query > 0x28183b2d in accept () at accept.S:3 > 3 RSYSCALL(accept) >=20 > .... etc. This is an issue with either your environment or your gdb, or bug in gdb. It seems that 'continue' did not worked for you at all. I tried to reproduce this locally, but was not able to. And, I am unable to hit sigprocmask for my apache anywhere except rtld. I also have libthr linked in. So the way forward to catch sigprocmask callers is one of - figure out why your gdb does not work and fix it; might be, try to use gdb from ports. - or add libunwind backtraces into sigprocmask - or use dtrace (I doubt that 8.2 has neccessary usermode bits, and seriously doubt its stability). --EUdKUZvr8YK8ET4E Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.18 (FreeBSD) iEYEARECAAYFAk7JSDoACgkQC3+MBN1Mb4gSQQCgj/cHVj0SnYIRJCLpOnbxVGGd aXAAmwSjgSH1sxgfgRq7qH/p4ZxWVv/Y =3m7i -----END PGP SIGNATURE----- --EUdKUZvr8YK8ET4E--