Re: big troubles in little libc
iain d broadfoot <ibroadfo@cis.strath.ac.uk> writes:
> I'm having a few problems with programs dying:
>
> liferea:0x407196c9 in free () from /lib/libc.so.6
> gaim: 0x407466c9 in free () from /lib/libc.so.6
>
> I can't see a bugreport about this on libc6, and it doesn't feel
> like the individual apps are doing anything in particular
> wrong...
Segfaults in free() are a fairly typical symptom of the application
screwing up memory management, actually. freeing a block that was
never malloced, freeing a block multiple times, and writing outside of
the allocated boundaries could all cause this. If you're up to
debugging it, electric-fence is a very useful tool; the way I use it
is generally like this:
myprog$ ./configure
myprog$ make CFLAGS=-g
myprog$ gdb myprog
(gdb) set environment LD_PRELOAD /usr/lib/libefence.so
(gdb) run
and you'll generally get a segfault where the program actually messes
up, rather than when the symptoms are seen later. There's a cost in
both memory and runtime, but using LD_PRELOAD inside gdb makes this a
lot less permanent.
--
David Maze dmaze@debian.org http://people.debian.org/~dmaze/
"Theoretical politics is interesting. Politicking should be illegal."
-- Abra Mitchell
Reply to: