[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#7952: 24.0.50; crash in find_interval
From: |
Eli Zaretskii |
Subject: |
bug#7952: 24.0.50; crash in find_interval |
Date: |
Sat, 19 Mar 2011 14:51:25 +0200 |
> From: Andreas Schwab <schwab@linux-m68k.org>
> Cc: Romain Francoise <romain@orebokech.com>, 7952@debbugs.gnu.org
> Date: Sat, 19 Mar 2011 13:14:48 +0100
>
> Eli Zaretskii <eliz@gnu.org> writes:
>
> > There's nothing in this code that modifies `tree' in any way. (I even
> > disassembled the code to make sure.) So how come a non-NULL value
> > becomes NULL here?
>
> It isn't, otherwise you would get a crash.
Unless it happens after the place where `tree' is dereferenced.
> > Since this value is passed in a register by the caller and kept in a
> > register from the very beginning of the function, not even some
> > missing GCPRO somewhere could explain this. What am I missing?
>
> Probably your toolchain is too old to be able to produce complete unwind
> information.
I doubt that, since it's GDB 7.2. Maybe it's a GCC problem.
> Try setting a breakpoint at the abort line to get a better picture.
It's a core file. Romain, could you try that, perhaps?
In any case, we could look at TOTAL_LENGTH of the pointer in the frame
where it has a non-NULL value.