From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 3030 invoked by alias); 24 Jun 2005 22:27:07 -0000 Mailing-List: contact gdb-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sources.redhat.com Received: (qmail 3007 invoked by uid 22791); 24 Jun 2005 22:26:59 -0000 Received: from english-breakfast.cloud9.net (HELO english-breakfast.cloud9.net) (168.100.1.9) by sourceware.org (qpsmtpd/0.30-dev) with ESMTP; Fri, 24 Jun 2005 22:26:59 +0000 Received: from english-breakfast.cloud9.net (localhost.cloud9.net [127.0.0.1]) by english-breakfast.cloud9.net (Postfix) with SMTP id 097CBF12F; Fri, 24 Jun 2005 18:26:58 -0400 (EDT) Received: from keyslapper.net (250-119.customer.cloud9.net [168.100.250.119]) by english-breakfast.cloud9.net (Postfix) with ESMTP id 6A320EC7A; Fri, 24 Jun 2005 18:26:57 -0400 (EDT) Received: from localhost (localhost [127.0.0.1]) by keyslapper.net (Postfix) with ESMTP id 17170114EC; Fri, 24 Jun 2005 18:26:57 -0400 (EDT) Received: from keyslapper.net ([127.0.0.1]) by localhost (keyslapper.net [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 40134-02; Fri, 24 Jun 2005 18:26:56 -0400 (EDT) Received: by keyslapper.net (Postfix, from userid 1001) id C766B114E0; Fri, 24 Jun 2005 18:26:56 -0400 (EDT) Date: Fri, 24 Jun 2005 22:27:00 -0000 From: Louis LeBlanc To: Mark Kettenis Cc: gdb@sources.redhat.com Subject: Re: aborted thread backtrace stops at sighandler call Message-ID: <20050624222656.GP66895@keyslapper.net> Reply-To: GDB question Mail-Followup-To: Mark Kettenis , gdb@sources.redhat.com References: <20050624151129.GH66895@keyslapper.net> <200506242153.j5OLrEPi014281@elgar.sibelius.xs4all.nl> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline In-Reply-To: <200506242153.j5OLrEPi014281@elgar.sibelius.xs4all.nl> User-Agent: Mutt/1.5.9i Content-Transfer-Encoding: quoted-printable X-AntiVirus: Checked by Vexira Antivirus v1.5 X-SW-Source: 2005-06/txt/msg00246.txt.bz2 On 06/24/05 11:53 PM, Mark Kettenis sat at the `puter and typed: > Date: Fri, 24 Jun 2005 11:11:29 -0400 > From: Louis LeBlanc >=20 > Hey everyone. >=20 > I've got an app that seems ok under some pretty heavy load, but once > in a great while, it blows up during some network related operation, > particularly host name lookups. I'm having similar problems with > other apps (even perl scripts) on the same OS (Solaris 8 & 9). >=20 > On sparc or i386? sparc > Well, often these were bus errors and gdb just couldn't nail things > down for me. Finally, I decided to catch these signals (SIGBUS, > SIGSEGV) and collect what info I could before calling abort() - which > preserves the stack pretty well according to pstack. When a problem > arises, I can look at the pstack output and see quite clearly that the > problem is this screwy network glitch I've never been able to track > down. Problem is when it's something else, gdb doesn't seem to be > able to see the preserved stack. >=20 > Anyone have any idea how to get this? >=20 > Sorry, but I don't understand your problem. Is it the fact that gdb's > backtrace is different from the backtrace shown by pstack? Kinda. I can't get past the sighandler stack to the calling thread. AFAICT, pstack is giving the same stack from the handler call on, just a little more detail. Gdb doesn't seem to be able to find the stack of the thread that called the handler. > This is the backtrace for the aborted thread: > (gdb) bt > #0 0xfea1f82c in __tbl_2_huge_digits () from /usr/lib/libc.so.1 > #1 0xfe9d0a24 in sysconf () from /usr/lib/libc.so.1 > #2 0xfe9b6ce0 in ascftime () from /usr/lib/libc.so.1 > #3 0x0003c72c in XPCSigCheck (Sig=3D11, Info=3D0xfe776ad0, Context=3D= 0xfe776818) at xpcsig.c:347 > #4 0xff365b14 in ?? () > #5 0xff365b18 in ?? () > Previous frame identical to this frame (corrupt stack?) >=20 > But pstack shows this: > ----------------- lwp# 3 / thread# 3 -------------------- > fea1f82c _lwp_kill (6, 0, fe7765b8, fe776630, 0, 1) + 8 > fe9b6cd8 abort (df708, 0, 0, 0, 0, 0) + 100 > 0003c724 XPCSigCheck (b, fe776ad0, fe776818, 0, 0, 0) + 2c0 > ff365b0c __sighndlr (b, fe776ad0, fe776818, 3c464, 0, 0) + c > ff35f804 call_user_handler (b, fe776ad0, fe776818, 0, 0, 0) + 234 > ff35f9b4 sigacthandler (b, fe776ad0, fe776818, 7efefeff, 81010100, 0)= + 64 > --- called from signal handler with signal 11 (SIGSEGV) --- > fe9b44e4 strlen (fe7778c0, 0, fe777850, 0, 0, 0) + 80 > fea08c98 vsnprintf (fe7784c0, c00, fe7778c0, fe779118, 7300, fe7778c0= ) + 5c > 000d3390 ERROR (dffa8, 0, 7530, 1, 81010100, 3d740) + 48 > 0003d590 make_ssl_connection (fe779368, a060164, 0, fd043b8, 7530, fe= 77bed0) + 57c > 000300c0 handle_check (10e800, dc290, ffffd438, 1, 0, 5b7550) + 1c08 > 000d7bbc spawn (fcaa2b0, 0, 0, 0, 0, 0) + 20 > ff3657b4 _lwp_start (0, 0, 0, 0, 0, 0) >=20 >=20 > BTW, I am using gdb 6.3.50.20050621-cvs - it's the only one I've found > that doesn't bonk rolling over the end of a thread stack on Solaris. >=20 --=20 Louis LeBlanc dev@keyslapper.net Fully Funded Hobbyist, KeySlapper Extrordinaire :=FE http://www.keyslapper.net =D4=BF=D4=AC Key fingerprint =3D C5E7 4762 F071 CE3B ED51 4FB8 AF85 A2FE 80C8 D9A2 QOTD: The only easy way to tell a hamster from a gerbil is that the gerbil has more dark meat.