On Fri, Mar 21, 2003 at 02:49:57AM +0800, John Summerfield wrote: > On Thu, 20 Mar 2003, John Alvord wrote: > > [On a PC server, signal 11 is usually a hardware memory error... not > > the case here.] > On a PC it's almost always a software error, almost never hardware. > > I have had a memory problem, and nothing would run long enough to get a > SIGSEGV. > > Ona PC you have segmented memory, and SIGSEGV means you stepped past the > limit. It really is like an MVS S0C4.
Actually, you're both right. I've seen it happen both ways. On a system with ever-so-slightly dodgy memory I once had, gcc would usually abend with a signal 11. The memory got worse and worse until the system, finally, would no longer boot. On another system, which was a 486sx, adding a 487 coprocessor gave me fairly reliable signal 11s on memory-intensive tasks, mostly compilation and running an X server. On the other hand, I've certainly seen a bunch of SIGSEGVs from software. One common cause is if your installation of something got corrupted, and the file on the disk is no longer a working executable; if it reliably happens in a certain place--for instance, MySQL initialization--try reinstalling MySQL and see if that helps. Adam
