Strange segmentation fault in libkrb5.so.3.3 (1.6.4-beta1)

Russ Allbery rra at stanford.edu
Fri Jan 22 13:43:33 EST 2010


Dan Searle <dan.searle at censornet.com> writes:

> If memory clobbering is causing an invalid call to free() then why is 
> the top of the stack trace showing to calls within ld-linux? and why is 
> there no call to free()?

It's unfortunately very common for gdb to get completely confused by
memory overruns.  It's more common if the stack got smashed, but I would
not be horribly surprised to see this sort of backtrace for a heap
clobber.

> There are enough debug symbols in libc for that. Also it's not proacicle
> to run the application in valgrind because this error only happens once
> every couple of days or so in a production environment and the
> applicationw would run too slowly to be useful and also the memory
> requirements would be too large.

Well, one of the nice things about valgrind is that it will actually catch
the memory clobber, if there is one, even if it doesn't cause a problem
that particular time.  So you can catch problems that will only cause
crashes if all the bits line up unluckily.  So I would still start by
trying valgrind.

-- 
Russ Allbery (rra at stanford.edu)             <http://www.eyrie.org/~eagle/>



More information about the krbdev mailing list