[plug] segmentations faults

Craig Ringer craig at postnewspapers.com.au
Sun Jun 30 21:12:11 WST 2002


Jon L. Miller wrote:
> I'm getting segmentation faults when I type "exit" from one user to
> another.  What can I find some information on what it is and what causes
> it to occur.
Most often caused by bad libraries - an incompatable change made to a 
lib w/o incrementing the lib's version on the filename, a library 
compiled with a different compiler to the program loading it, or a 
library that's just broken.

Can also be caused by a buggy shell (it is the shell thats segfaulting 
right?), or dodgy hardware (but not usually that if its reliably 
reproducable and largely unique). Check your libraries first.

I remember a SCO box I ran (old days for me, first *N?X I ever used - 4 
yrs ago appx) that broke so badly as a result of a lib upgrade (that I 
royally screwed up, not having the foggiest what I was doing) than "man" 
used to segfault on every exit, and that wasn't everything.

AFAIK (I'm far from certain about this one) a segfault is caused by a 
process trying to access an invalid memory address, such as one outside 
its assigned allocation. "Invalid page fault" under win32 is basically 
the same thing. The procesor sends a page fault that essentially means 
"that bit of memory isn't there - fix it by swapping it back in, etc" 
and the kernel goes "bugger, I can't because it doesn't exist" and kills 
the process with a SIGSEGV.

If you're feeling brave you can always aim strace at the offending 
process ( yeah, I know I always say that but it can be _such_ an 
interesting tool) and see if you can figure out where its faulting.



More information about the plug mailing list