Mirror of the gdb mailing list
 help / color / mirror / Atom feed
From: Louis LeBlanc <dev@keyslapper.net>
To: Mark Kettenis <mark.kettenis@xs4all.nl>
Cc: gdb@sources.redhat.com
Subject: Re: aborted thread backtrace stops at sighandler call
Date: Fri, 24 Jun 2005 22:27:00 -0000	[thread overview]
Message-ID: <20050624222656.GP66895@keyslapper.net> (raw)
In-Reply-To: <200506242153.j5OLrEPi014281@elgar.sibelius.xs4all.nl>

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 <dev@keyslapper.net>
> 
>    Hey everyone.
> 
>    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).
> 
> 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.
> 
>    Anyone have any idea how to get this?
> 
> 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=11, Info=0xfe776ad0, Context=0xfe776818) at xpcsig.c:347
>    #4  0xff365b14 in ?? ()
>    #5  0xff365b18 in ?? ()
>    Previous frame identical to this frame (corrupt stack?)
> 
>    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, fe77bed0) + 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)
> 
> 
>    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.
> 

-- 
Louis LeBlanc                                     dev@keyslapper.net
Fully Funded Hobbyist,                   KeySlapper Extrordinaire :þ
http://www.keyslapper.net                                       Ô¿Ô¬
Key fingerprint = 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.


  reply	other threads:[~2005-06-24 22:27 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-06-24 15:11 Louis LeBlanc
2005-06-24 18:29 ` Daniel Jacobowitz
2005-06-24 18:52 ` Jason Molenda
2005-06-24 21:53 ` Mark Kettenis
2005-06-24 22:27   ` Louis LeBlanc [this message]
2005-06-25 15:28 ` Mark Kettenis

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20050624222656.GP66895@keyslapper.net \
    --to=dev@keyslapper.net \
    --cc=gdb@sources.redhat.com \
    --cc=mark.kettenis@xs4all.nl \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox