Re: [SuSE Linux] Segmentation Fault?
"Dana J. Laude" wrote:
---Reply to mail from Lawrence Sayre
I've done numerous kernel compiles in my day, but with SuSE 6.1, every time I try to compile a new kernel (2.2.5) I get kicked out with a 'segmentation fault'. What is this, and how do I rectify it?
Lawrence,
FWIW I'm also having problems with compiling 2.2.9, or 2.2.5 for that matter. I upgraded from 5.3, just leaving my /home partition, and reformatting every other partition, minus my swap directorys. (i.e., booting from the SuSE 6.1 CD, and doing a clean install minus the above mentioned things.)
I had the same thing when I attempted to compile a 2.2.9 kernel. Segfaults, when they occur, most usually happen for Linux users during kernel compilations. Unfortunately, those in the know say that this is due to poor quality RAM. I take this to mean (in more genral terms) that the motherboard chipset is attempting to read/write faster than the DRAM can cope with. The theory is, that most of the time your machine isn't doing much and (somehow) your DRAM manages to deliver. But, when compiling a kernel, the DRAM is really getting thrashed by the processor and this (somehow) enhances the risk of a bit randomly flipping its value somewhere. When a bit flip happens, sometimes it will go unnoticed for a while. It might be a location in which data is stored, or a program instruction, or an address. Whichever, you can expect that an error will show up somewhere at some point. Executing an inappropriate instruction or using incorrect data is bound to screw something up. If it was an address that was changed, then this will cause the program to jump to a wholly inappropriate (or meaningless) piece of code or fetch an inappropriate (or meaningless) chunk of data. In some cases, a flipped bit in an address is a high bit, which makes a large difference to the location being pointed to. Since 32-bit numbers are quite large (can address 4 billion locations) compared to the amount of memory you actually have (typically 32 million - 128 million locations), many flipped addresses point to nonexistent memory. Most will certainly point outside of the memory space allocated by the process accessing that flipped address. When this happens and the program tries to access an illegal location, this is called a segmentation violation or segmentation fault or segfault for short. You can attempt to deal with this by slowing down your DRAM timings in your computer's BIOS setup screen. That's the theory anyway. The fact is that segfaults can just as easily be caused by buggy software. C programs especially use a lot of manually-implemented pointers and if they are not taken care of properly they can end up pointing at something inappropriate. If the program tries to dereference that pointer...segfault. My 2.2.9 kernel compilation segfaulted once or twice but also failed in a number of different ways, just as it would if random bits were being flipped, or indeed just as if the compiler and its tools were buggy with uninitialised static variables or badly managed pointers. All these failures were temporary, that is, if I restarted the compilation, it wouldn't usually fail at that point again. I don't think the hardware is at fault in my case because I compiled the 2.0.36 kernel dozens of times on the same machine under SuSE 5.3 and never had any problems. This seems to be peculiar to SuSE 6.1, or this specific release of compiler, linker and bintools, or the 2.2.x kernels. I suppose we'll have to wait and see if people using other distributions are experiencing the same phenomenon. -- rclark@virgosolutions.demon.co.uk Ralph Clark, Virgo Solutions Ltd (UK) __ _ / / (_)__ __ ____ __ * Powerful * Flexible * Compatible * Reliable * / /__/ / _ \/ // /\ \/ / *Well Supported * Thousands of New Users Every Day* /____/_/_//_/\_,_/ /_/\_\ The Cost Effective Choice - Linux Means Business! -- To get out of this list, please send email to majordomo@suse.com with this text in its body: unsubscribe suse-linux-e Check out the SuSE-FAQ at <A HREF="http://www.suse.com/Support/Doku/FAQ/"><A HREF="http://www.suse.com/Support/Doku/FAQ/</A">http://www.suse.com/Support/Doku/FAQ/</A</A>> and the archive at <A HREF="http://www.suse.com/Mailinglists/suse-linux-e/index.html"><A HREF="http://www.suse.com/Mailinglists/suse-linux-e/index.html</A">http://www.suse.com/Mailinglists/suse-linux-e/index.html</A</A>>
participants (1)
-
rclark@virgosolutions.demon.co.uk