Mirror of the gdb mailing list
 help / color / mirror / Atom feed
From: Michael Snyder <msnyder@specifix.com>
To: Guillaume MENANT <guillaume.menant@geensys.com>
Cc: gdb@sourceware.org
Subject: Re: Previous frame identical to this frame (corrupt stack?)
Date: Thu, 06 Mar 2008 02:05:00 -0000	[thread overview]
Message-ID: <1204749725.19253.640.camel@localhost.localdomain> (raw)
In-Reply-To: <15854428.post@talk.nabble.com>

On Wed, 2008-03-05 at 08:36 -0800, Guillaume MENANT wrote:
> What does it means ? What have I to look at in order to check if I have an
> mistake in my program ?

Well, the only thing we know for sure is that GDB tried
to fetch the next stack frame, and came up with an answer
that was identical with the one before.

In this context, "identical" should mean "same PC, and
same SP/FP (stack/frame pointer)".

So, since this should not happen (and really means that
further stack trace is impossible), gdb gives up.

The *cause* is something else again.  Difficult to
know, but as the message implies, one likely cause
is stack corruption.  You could look at the stack, 
starting at the last good-looking stack frame that
gdb was able to find, and try to see if it looks "sane".

In practice, the most frequent case where I have seen
this message is when we really have reached the end
of the stack.  Usually the bottom frame is some sort
of thread creation function, possibly in the kernel
or in some thread library.  In this context, what
has usually happened is that the author of the thread
creation function has not bothered to set up some 
sort of initial "zero" stack pointer so that the 
debugger can detect the end of the stack.




  parent reply	other threads:[~2008-03-05 20:42 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-03-05 16:40 Guillaume MENANT
2008-03-05 17:26 ` Joel Brobecker
2008-03-05 18:08   ` Aleksandar Ristovski
2008-03-05 19:52     ` Andrew STUBBS
2008-03-06  2:05 ` Michael Snyder [this message]
2008-03-06  7:06   ` Guillaume MENANT
2008-03-06 10:05   ` 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=1204749725.19253.640.camel@localhost.localdomain \
    --to=msnyder@specifix.com \
    --cc=gdb@sourceware.org \
    --cc=guillaume.menant@geensys.com \
    /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