home *** CD-ROM | disk | FTP | other *** search
/ PC World 1999 August / PCWorld_1999-08_cd.bin / doc / FAQ / txt / GCC-SIG11-FAQ < prev    next >
Text File  |  1999-04-09  |  37KB  |  690 lines

  1.  
  2.                      Signal 11 while compiling the kernel
  3.                                        
  4.    This FAQ describes what the possible causes are for an effect that
  5.    bothers lots of people lately. Namely that a linux(*)-kernel (or any
  6.    other large package for that matter) compile crashes with a "signal
  7.    11". The cause can be software or (most likely) hardware. Read on to
  8.    find out more.
  9.    (*) Of course nothing is Linux specific. If your hardware is flaky,
  10.    Linux, Windows 3.1, FreeBSD, Windows NT and NextStep will all crash.
  11.    If you are not reading this at http://www.bitwizard.nl/sig11/, that's
  12.    where you can find the most recent version.
  13.    For those of you who prefer reading this in French, the French
  14.    translation can be found at
  15.    http://www.linux-france.com/article/sig11fr/.
  16.    Email me at R.E.Wolff@BitWizard.nl if you find any spelling errors,
  17.    worthwhile additions or with an "it also happened to me" story. (Note
  18.    that I reject some suggested additions on my belief that it is
  19.    technical nonsense).
  20.      _________________________________________________________________
  21.    
  22. The Sig11 FAQ
  23.  
  24.   QUESTION
  25.   
  26.    My kernel compile crashes with
  27.       gcc: Internal compiler error: program cc1 got fatal signal 11
  28.  
  29.    What is wrong with the compiler? Which version of the compiler do I
  30.    need? Is there something wrong with the kernel?
  31.    
  32.   ANSWER
  33.   
  34.    Most likely there is nothing wrong with your installation, your
  35.    compiler or kernel. It very likely has something to do with your
  36.    hardware. There are a variety of subsystems that can be wrong, and
  37.    there is a variety of ways to fix it. Read on, and you'll find out
  38.    more. There is one big exception to this "rule". Red Hat 5.0. There is
  39.    more near the end.
  40.      _________________________________________________________________
  41.    
  42.   QUESTION
  43.   
  44.    Ok it may not be the software, How do I know for sure?
  45.    
  46.   ANSWER
  47.   
  48.    First lets make sure it is the hardware that is causing your trouble.
  49.    When the "make" stops, simply type "make" again. If it compiles a few
  50.    more files before stopping, it must be hardware that is causing you
  51.    troubles. If it immediately stops again (i.e. scans a few directories
  52.    with "nothing to be done for xxxx" before bombing at exactly the same
  53.    place), try
  54.         dd if=/dev/HARD_DISK of=/dev/null bs=1024k count=MEGS
  55.  
  56.    Change HARD_DISK to "hda" to the name of your harddisk (e.g. hda or
  57.    sda. Or use "df ."). Change the MEGS to the number of megabytes of
  58.    main memory that you have. This will cause the first several megabytes
  59.    of your harddisk to be read from disk, forcing the C source files and
  60.    the gcc binary to be reread from disk the next time you run it. Now
  61.    type make again. If it still stops in the same place I'm starting to
  62.    wonder if you're reading the right FAQ, as it is starting to look like
  63.    a software problem after all.... Take a peek at the "what are the
  64.    other possibilities" question..... If without this "dd" command the
  65.    compiler keeps on stopping at the same place, but moves to another
  66.    place after you use the "dd" you definitely have a disk->ram transfer
  67.    problem.
  68.    
  69.   QUESTION
  70.   
  71.    What does it really mean?
  72.    
  73.   ANSWER
  74.   
  75.    Well, the compiler accessed memory outside its memory range. If this
  76.    happens on working hardware it's a programming error inside the
  77.    compiler. That's why it says "internal compiler error". However when
  78.    the hardware occasionally flips a bit, gcc uses so many pointers, that
  79.    it is likely to end up accessing something outside of its addressing
  80.    range. (random addresses are mostly outside your addressing range, as
  81.    not very many people have a significant part of 4G as main memory...
  82.    :-) It seems that nowadays, everybody with "signal 11" problems gets
  83.    directed to this page. If you're developping your own software or have
  84.    software that hasn't been debugged quite enough, "signal 11" (or
  85.    segmentation fault) is still a strong hint that there is something
  86.    wrong with the program. Only when you can cause a "known working"
  87.    program like "gcc" to crash on a dataset (e.g. the Linux-kernel) that
  88.    has also been well-tested, then it becomes a hint that there is
  89.    something wrong with your hardware.
  90.      _________________________________________________________________
  91.    
  92.   QUESTION
  93.   
  94.    Ok. I may have a hardware problem what is it?
  95.    
  96.   ANSWER
  97.   
  98.    If it happens to be the hardware it can be:
  99.      * Main memory. Your main memory might be getting an occasional bit
  100.        wrong. If this happens on the "writes", you won't see any parity
  101.        errors. There are several ways to fix it:
  102.           + The memory speed might be too slow. Increase the number of
  103.             wait states in the BIOS.
  104.             This could be caused by the AMIBIOSs autoconfig option: it
  105.             may only know about 486s running upto 80 MHz, whereas you
  106.             currently buy 100 MHz versions. -- Pat V.
  107.           + The memory speed might be too slow. Get faster DRAM SIMMs.
  108.             For example current ASUS motherboards require 60 ns DRAM if
  109.             you have a 100, or 133 MHz processor (Take a look in your
  110.             motherboard's manual). I've heard reports that 70 ns also
  111.             works, reliability problems like random sig11's belong to the
  112.             possibilities.... (I wouldn't take the risk) -- Andrew
  113.             Eskilsson (mpt95aes@pt.hk-r.se)
  114.           + There is a bad chip on one of the SIMMs. If you own more than
  115.             1 bank of memory you might be able to pull SIMMs and see if
  116.             the problem goes away. Be careful for STATIC!!!
  117.           + We handled a hard one here the last week. It turned out that
  118.             ALL 4 16Mb SIMMs were broken in that they dropped a bit
  119.             around once per hour. This was sufficient to crash the
  120.             machine in about a day, or crash a kernel compile in about an
  121.             hour. A new set of SIMMs works perfectly. It took a long
  122.             while to diagnose this one, because all 4 of the SIMMs were
  123.             affected equally, so leaving half of the memory out didn't
  124.             change things.
  125.             Mark Kettner (kettner@cat.et.tudelft.nl) reports that his
  126.             system was capable of running my memory test for 2300 times
  127.             faultlessly, but then detected around 10 errors. It then
  128.             continued detecting no faults for a few hundred runs
  129.             again..... In his case running kernel compiles was a much
  130.             more efficient way of detecting the health of the system (in
  131.             the most stable configuration the system could compile around
  132.             14 kernels before going bzurk). His solution was to "trade
  133.             in" the old memory for a so called "memory upgrade". The
  134.             shopkeeper then "tests" in their memory tester, which OKs the
  135.             memory. he then got a good discount on the new memory :-).
  136.           + It seems that some 30-72 pin converters can cause memory
  137.             errors. (It hasn't been proven whether the 4 SIMMS in the
  138.             converter had gone bad, or if the SIMM converter was at
  139.             fault. The SIMMS had been functioning perfectly for years
  140.             before they were moved into the converter....) -- Naresh
  141.             Sharma (n.sharma@is.twi.tudelft.nl). Paul Gortmaker
  142.             (paul.gortmaker@anu.edu.au) adds that the SIMM converters
  143.             should have at least 4 bypass capacitors to keep the power
  144.             supply of the SIMMs clean.
  145.           + If the refresh of the DRAM isn't functioning properly, the
  146.             DRAMs will slowly lose their information. Some (486)
  147.             motherboards stop refreshing correctly when you turn on
  148.             "hidden refresh". There seems to be a program called "dram"
  149.             around that can also mess up your refresh to cause sig11
  150.             problems. -- Hank Barta (hank@pswin.chi.il.us), Ron Tapia
  151.             (tapia@nmia.com)
  152.           + The number of waitstates could be too low. Increase the
  153.             number of waiststates in the BIOS for a fix. The Intel
  154.             Endeavour board doesn't allow you to increase the memory
  155.             waitstates. This can supposedly be fixed by flashing a MR
  156.             BIOS into the motherboard. -- David Halls
  157.             (david.halls@cl.cam.ac.uk)
  158.      * Cache memory. Your cache memory might be getting an occasional bit
  159.        wrong. Caches are usually not equipped with parity. You can
  160.        diagnose that this is the case by turning off the cache in the
  161.        BIOS. If the problem goes away it is probably the cache. There are
  162.        several ways to fix it:
  163.           + The cache memory speed might be too slow. Increase the number
  164.             of wait states in the BIOS.
  165.           + The cache memory speed might be too slow. Get faster SRAM
  166.             chips.
  167.           + There is a bad chip in your cache. It is unlikely that you
  168.             can swap chips as easily as with SIMMs. Be careful for
  169.             STATIC!!! -- Joseph Barone (barone@mntr02.psf.ge.com)
  170.           + The cache might be set to "write back" while there is a bug
  171.             in the write back implementation of your chipset. The
  172.             motherboard where this happened was a "MV020 486VL3H" (with
  173.             20M RAM) -- Scott Brumbaugh (scottb@borris.beachnet.com)
  174.             (Mail address doesn't work. Scott: Get back at me with a
  175.             valid return address)
  176.           + The motherboard may require a jumper to switch between Cache
  177.             On A Stick and the old-fashioned dip chip cache. (JP16 on Rev
  178.             2.4 ASUS P/I-P55TP4XE motherboards)
  179.      * Disk transfers. A block coming from disk might incur an occasional
  180.        bit error.
  181.           + If you have this problem, you are most likely to have to do
  182.             the "dd" command to "move" the problem from one place to the
  183.             next....
  184.           + Some IDE harddisks cannot handle the "irq_unmasking" option.
  185.             This may only show under load. And it could show as a sig11.
  186.           + Do you have a kalok 31xx? Throw it in the garbage. (or sell
  187.             it to a DOS user)
  188.           + SCSI? Termination? A short bus might still work (unreliably
  189.             that is) with bad termination. A long bus might get errors
  190.             anyway. Can you turn on parity on the host and the DISK?
  191.      * Overclocking. Some vendors (or private people) think it is
  192.        possible to overclock some CPUs. Some of them may work others
  193.        don't. You might want to try turning off turbo (note that most
  194.        pentium motherboards no longer support a non-turbo mode) and see
  195.        if the problem goes away. Check the speed of your CPU compared
  196.        (printed on it, carefully remove the fan if necessary) with what
  197.        the motherboard jumpers or BIOS settings say.... It seems that
  198.        even Intel may make mistakes in this area. I now have several
  199.        reliable reports that official pentium would sig11 at their rated
  200.        speed, but not at a lower speed. As for some speeds the
  201.        motherboard is only stressed HARDER for a slower processor speed,
  202.        (120 MHz-> motherboard runs at 60MHz, 100MHz-> motherboard runs at
  203.        66MHz), I think it is unlikely that this has anything to do with
  204.        the motherboard. Moreover a new 120MHz processor is now
  205.        functioning correctly. -- Samuel Ramac (sramac@vnet.ibm.com). This
  206.        is not unique to Intel or any of its competitors.
  207.      * CPU temperature. A high speed processor might overheat without the
  208.        correct heat sink. This can also be caused by a failing fan. (My
  209.        personal '486 has a fan that takes a few minutes to get up to
  210.        speed. It probably will never really FAIL because it's now
  211.        decommisioned :-). The CPU can become erratic if "pushed" by
  212.        compiling a kernel. This problem becomes worse if you disable
  213.        "HALT" on the LILO command line. Linux tries to power-down the CPU
  214.        by executing the "halt" instruction when the system is idle. This
  215.        preserves power, and therefore the CPU temperature drops when the
  216.        system is idle. You therefore might not notice this problem when
  217.        simply editing, and it might only surface after hours of CPU
  218.        intensive jobs when the ambient temp is high. If you have a
  219.        Pentium with Fdiv bug, it is advisable to trade it in at Intel.
  220.        They will send you a new one that preconfigured with an official
  221.        Intel-approved FAN. Also note that most normal glues are very bad
  222.        thermal conductors. There is special thermal glue available that
  223.        should be used when a fan needs to be glued to a CPU. -- Arno
  224.        Griffioen (arno@ixe.net), -- W. Paul Mills (wpmills@midusa.net) --
  225.        Alan Wind (wind@imada.ou.dk)
  226.        Intel says that the allowable temperature ranges for the outside
  227.        of your CPU is:
  228.        0 to +85 C: Intel486 SX, Intel486 DX, IntelDX2, IntelDX4 processor
  229.        0 to +95 C: IntelDX2, IntelDX4 OverDrive« processors
  230.        0 to +80 C: 60 MHz Pentium« processor
  231.        0 to +70 C: 66 to 166 MHz Pentium processor
  232.        For information on how to measure this and some confirmation of
  233.        what I say here, see:
  234.        http://pentium.intel.com/procs/support/faqs/iarcfaq.htm
  235.        (Especially questions Q5, Q6 and Q12. The document is getting
  236.        slightly outdated, but it is still very accurate. It seems the
  237.        questions move around a bit every now and then as well.)
  238.      * CPU voltage. Some motherboards allow you to select the CPU
  239.        voltage. Some motherboards badly document the jumper settings that
  240.        manage this. It seems that a 5V processor might still work most of
  241.        the time at 3.3 volts..... -- Karl Heyes (krheyes@comp.brad.ac.uk)
  242.      * RAM voltage. It seems that vendors are preparing for 3.3V RAM now.
  243.        Most memory is still 5V. (but be careful.... 3.3v RAM will break
  244.        at 5V.....)
  245.      * Local bus overloading. At 25 MHz you're allowed to have 3
  246.        VesaLocalBus (VLB) cards, At 33MHz only two, at 40MHz only one and
  247.        guess what at 50MHz NONE! (i.e. you are allowed to run your system
  248.        with a 50MHz local bus, but then you're not allowed to use any VLB
  249.        cards). Some systems start acting flaky when you overload the VLB.
  250.        Even when your VLB isn't overloaded (over the limits stated
  251.        above), the system may lose a few nanoseconds of margin by adding
  252.        an extra VLB card, so you might need to add a cache wait state or
  253.        something after you've added a new VLB card.... -- Richard
  254.        Postgate (postgate@cafe.net)
  255.      * Power management. Some laptops (and nowadays also "green" pc's)
  256.        have power management features. These might interfere with Linux.
  257.        One feature might save a memory image to HD and restore the RAM
  258.        when you press a key. This sounds like fun, but Linux device
  259.        drivers don't expect that the hardware has been turned off between
  260.        two acesses. Some may recover, but others not. Try turning it off,
  261.        or enabeling "APM support" in your kernel. -- Elizabeth Ayer
  262.        (eca23@cam.ac.uk)
  263.      * The CPU itself. Several people are reporting that they have found
  264.        nothing to blame except the CPU. This could also have been an
  265.        incompatibility between the CPU and the motherboard. A wave of
  266.        reports concerning Intel CPUs has passed (Feb '97). A new wave of
  267.        reports is coming in that are blaming Cyrix/IBM 6x86 CPUs.
  268.        Although it could indeed be the CPU, it could also be that your
  269.        motherboard is incompatible with your CPU. At least I've seen a
  270.        motherboard manual mention that it isn't compatible with older
  271.        6x86's. My own experience is that these devices aren't bad at all,
  272.        and on a kernel compile I benchmarked a P166+ to be equivalent
  273.        with a P155 (1.3 times faster than a P120).
  274.        
  275.      The Memory hole. Many modern motherboards allow you to use old ISA
  276.    video cards with one or two megabytes of linear frame buffer. To
  277.    achieve this, they have to map out the memory just below 16Mb. Nobody
  278.    actually ever used this feature, but if you turn the memory hole (or
  279.    LFB support in some BIOSes) on, your machine will certainly be
  280.    flaky..... -- Paul Connolly (pconnolly@macdux.com.au)
  281.      _________________________________________________________________
  282.    
  283.   QUESTION
  284.   
  285.    RAM timing problems? I fiddled with the bios settings more than a
  286.    month ago. I've compiled numerous kernels in the mean time and nothing
  287.    went wrong. It can't be the RAM timing. Right?
  288.    
  289.   ANSWER
  290.   
  291.    Wrong. Do you think that the RAM manufacturers have a machine that
  292.    makes 60ns RAMs and another one that makes 70ns RAMs? Off course not!
  293.    They make a bunch, and then test them. Some meet the specs for 60 ns,
  294.    others don't. Those might be 61 ns if the manufacturer would have to
  295.    put a number to it. In that case it is quite likely that it works in
  296.    your computer when for example the temperature is below 40 degrees
  297.    centigrade (chips become slower when the temp rises. That's why some
  298.    supercomputers need so much cooling).
  299.    
  300.    However "the coming of summer" or a long compile job may push the
  301.    temperature inside your computer over the "limit". -- Philippe Troin
  302.    (ptroin@compass-da.com)
  303.      _________________________________________________________________
  304.    
  305.   QUESTION
  306.   
  307.    I got suckered into not buying ECC memory because it was slightly
  308.    cheaper. I feel like a fool. I should have bought the more expensive
  309.    ECC memory. Right?
  310.    
  311.   ANSWER
  312.   
  313.    Buying the more expensive ECC memory and motherboards protects you
  314.    against a certain type of errors: Those that occur randomly by passing
  315.    alpha particles.
  316.    Because most people can reproduce "signal 11" problems within half an
  317.    hour using "gcc" but cannot reproduce them by memory testing for hours
  318.    in a row, that proves to me that it is not simply a random alpha
  319.    particle flipping a bit. That would get noticed by the memory test
  320.    too. This means that something else is going on. I have the impression
  321.    that most sig11 problems are caused by timing errors on the CPU <->
  322.    cache <-> memory path. ECC on your main memory doesn't help you in
  323.    that case. When should you buy ECC? a) When you feel you need it. b)
  324.    When you have LOTS of RAM. (Why not a cut-off number? Because the
  325.    cut-off changes with time, just like "LOTS".) Some people feel very
  326.    strong about everybody using ECC memory. I refer them to reason "a)".
  327.      _________________________________________________________________
  328.    
  329.   QUESTION
  330.   
  331.    Memory problems? My BIOS tests my memory and tells me its ok. I have
  332.    this fancy DOS program that tells me my memory is OK. Can't be memory
  333.    right?
  334.    
  335.   ANSWER
  336.   
  337.    Wrong. The memory test in the BIOS is utterly useless. It may even
  338.    occasionally OK more memory than really is available, let alone test
  339.    whether it is good or not.
  340.    A friend of mine used to have a 640k PC (yeah, this was a long time
  341.    ago) which had a single 64kbit chip instead of a 256kbit chip in the
  342.    second 256k bank. This means that he effectively had 320k working
  343.    memory. Sometimes the BIOS would test 384k as "OK". Anyway, only
  344.    certain applications would fail. It was very hard to diagnose the
  345.    actual problem....
  346.    Most memory problems only occur under special circumstances. Those
  347.    circumstances are hardly ever known. gcc Seems to exercise them. Some
  348.    memory tests, especially BIOS memory tests, don't. I'm no longer
  349.    working on creating a floppy with a linux kernel and a good memory
  350.    tester on it. Forget about bugging me about it......
  351.    The reason is that a memory test causes the CPU to execute just a few
  352.    instructions, and the memory access patterns tend to be very regular.
  353.    Under these circumstances only a very small subset of the memories
  354.    breaks down. If you're studying Electrical Engineering and are
  355.    interested in memory testing, a masters thesis could be to figure out
  356.    what's going on. There are computer manufacturers that would want to
  357.    sponsor such a project with some hardware that clients claim to be
  358.    unreliable, but doesn't fail the production tests......
  359.      _________________________________________________________________
  360.    
  361.   QUESTION
  362.   
  363.    Does it only happen when I compile a kernel?
  364.    
  365.   ANSWER
  366.   
  367.    Nope. There is no way your hardware can know that you are compiling a
  368.    kernel. It just so happens that a kernel compile is very tough on your
  369.    hardware, so it just happens a lot when you are compiling a kernel.
  370.      * People have seen "random" crashes for example while installing
  371.        using the slackware installation script.... -- dhn@pluto.njcc.com
  372.      * Others get "general protection errors" from the kernel (with the
  373.        crashdump). These are usually in /var/adm/messages. --
  374.        fox@graphics.cs.nyu.edu
  375.      _________________________________________________________________
  376.    
  377.   QUESTION
  378.   
  379.    Nothing crashes on NT, Windows 95, OS/2 or DOS. It must be something
  380.    Linux specific.
  381.    
  382.   ANSWER
  383.   
  384.    First of all, Linux stresses your hardware more than all of the above.
  385.    Some OSes like the Microsoft ones named above crash in unpredictable
  386.    ways anyway. Nobody is going to call Microsoft and say "hey, my
  387.    windows box crashed today". If you do anyway, they will tell you that
  388.    you, the user, made an error (see the interview with Bill Gates in a
  389.    German magazine....) and that since it works now, you should shut up.
  390.    Those OSes are also somewhat more "predictable" than Linux. This means
  391.    that Excel might always be loaded in the exact same memory area.
  392.    Therefore when the bit-error occurs, it is always excel that gets it.
  393.    Excel will crash. Or excel will crash another application. Anyway, it
  394.    will seem to be a single application that fails, and not related to
  395.    memory.
  396.    What I am sure of is that a cleanly installed Linux system should be
  397.    able to compile the kernel without any errors. Certainly no sig-11
  398.    ones. (** Exception: Red Hat 5.0 with a Cyrix processor. See
  399.    elsewhere. **)
  400.    Really Linux and gcc stress your hardware more than other OSes. If you
  401.    need a non-linux thingy that stresses your hardware to the point of
  402.    crashing, you can try winstone. -- Jonathan Bright
  403.    (bright@informix.com)
  404.      _________________________________________________________________
  405.    
  406.   QUESTION
  407.   
  408.    Is it always signal 11?
  409.    
  410.   ANSWER
  411.   
  412.    Nope. Other signals like four, six and seven also occur occasionally.
  413.    Signal 11 is most common though.
  414.    
  415.    As long as memory is getting corrupted, anything can happen. I'd
  416.    expect bad binaries to occur much more often than they really do.
  417.    Anyway, it seems that the odds are heavily biased towards gcc getting
  418.    a signal 11. Also seen:
  419.      * free_one_pmd: bad directory entry 00000008
  420.      * EXT2-fs warning (device 08:14): ext_2_free_blocks bit already
  421.        cleared for block 127916
  422.      * Internal error: bad swap device
  423.      * Trying to free nonexistent swap-page
  424.      * kfree of non-kmalloced memory ...
  425.      * scsi0: REQ before WAIT DISCONNECT IID
  426.      * Unable to handle kernel NULL pointer dereference at virtual
  427.        address c0000004
  428.      * put_page: page already exists 00000046
  429.        invalid operand: 0000
  430.      * Whee.. inode changed from under us. Tell Linus
  431.      * crc error -- System halted (During the uncompress of the Linux
  432.        kernel)
  433.      * Segmentation fault
  434.      * "unable to resolve symbol"
  435.      * make [1]: *** [sub_dirs] Error 139
  436.        make: *** [linuxsubdirs] Error 1
  437.      * The X Window system can terminate with a "caught signal xx"
  438.        
  439.    The first few ones are cases where the kernel "suspects" a
  440.    kernel-programming-error that is actually caused by the bad memory.
  441.    The last few point to application programs that end up with the
  442.    trouble.
  443.    
  444.    -- S.G.de Marinis (trance@interseg.it)
  445.    -- Dirk Nachtmann (nachtman@kogs.informatik.uni-hamburg.de)
  446.      _________________________________________________________________
  447.    
  448.   QUESTION
  449.   
  450.    What do I do?
  451.    
  452.   ANSWER
  453.   
  454.    Here are some things to try when you want to find out what is wrong...
  455.    note: Some of these will significantly slow your computer down. These
  456.    things are intended to get your computer to function properly and
  457.    allow you to narrow down what's wrong with it. With this information
  458.    you can for example try to get the faulty component replaced by your
  459.    vendor.
  460.      * Jumper the motherboard for lower CPU and bus speed.
  461.      * Go into the BIOS and tell it "Load BIOS defaults". Make sure you
  462.        write the disk drive settings down beforehand.
  463.      * Disable the cache (BIOS) (or pull it out if it's on a "stick").
  464.      * boot kernel with "linux mem=4M" (disables memory above 4Mb).
  465.      * Try taking out half the memory. Try both halves in turn.
  466.      * Fiddle with settings of the refresh (BIOS)
  467.      * Try borrowing memory from someone else. Preferably this should be
  468.        memory that runs Linux flawlessly in the other machine...
  469.        (Sillicon graphics Indy machines are also nice targets to borrow
  470.        memory from)
  471.      * If you want to verify if a solution really works try the
  472.        following:
  473.     tcsh
  474.     cd /usr/src/linux
  475.     make zImage
  476.     foreach i (0 1 2 3 4 5 6 7 8 9)
  477.       foreach j (0 1 2 3 4 5 6 7 8 9)
  478.         make clean;make zImage > log."$i"$j
  479.       end
  480.     end
  481.        All the resulting logfiles should be the same. (The first "make
  482.        zImage" makes sure that the dependencies are already
  483.        generated.....) This takes around 24 hours on a 100MHz pentium
  484.        with 16Mb of memory. (and about 3 months on a 386 with 4Mb :-).
  485.        
  486.    The hardest part is that most people will be able to do all of the
  487.    above except borrowing memory from someone else, and it doesn't make a
  488.    difference. This makes it likely that it really is the RAM. Currently
  489.    RAM is the most pricy part of a PC, so you rather not have this
  490.    conclusion, but I'm sorry, I get lots of reactions that in the end
  491.    turn out to be the RAM. However don't despair just yet: your RAM may
  492.    not be completely wasted: you can always try to trade it in for
  493.    different or more RAM.
  494.      _________________________________________________________________
  495.    
  496.   QUESTION
  497.   
  498.    I had my RAMs tested in a RAM-tester device, and they are OK. Can't be
  499.    the RAM right?
  500.    
  501.   ANSWER
  502.   
  503.    Wrong. It seems that the errors that are currently occuring in RAMS
  504.    are not detectable by RAM-testers. It might be that your motherboard
  505.    is accessing the RAMs in dubious ways or otherwise messing up the RAM
  506.    while it is in YOUR computer. The advantage is that you can sell your
  507.    RAM to someone who still has confidence in his RAM-tester......
  508.      _________________________________________________________________
  509.    
  510.   QUESTION
  511.   
  512.    What are other possibilities?
  513.    
  514.   ANSWER
  515.   
  516.    Others have noted the following possibilities:
  517.      * Red Hat 5.0 crashes for some people while installing. Others are
  518.        only running into problems when compiling the kernel. It seems
  519.        that the gcc that comes with Red Hat 5.0 is odd in the respect
  520.        that it crashes on Cyrix processors when compiling the kernel.
  521.        This is VERY odd. I would think that the only way that this can be
  522.        the case is whent he Cyrix has a bug that has gone undetected all
  523.        this time, and reliably gets triggered when THAT gcc compiles the
  524.        Linux kernel. Anyway, if you just want compile a kernel, you
  525.        should get
  526.        ftp://ftp.redhat.com/home/wanger/gcc/gcc-2.7.2.3-9.i386.rpm . (I
  527.        had to change the URL twice in a week. If it changes again, you'll
  528.        just have to click your way to the errata at starting at
  529.        http://www.redhat.com/) I don't know of a workaround if your
  530.        system crashes while installing, except for installing a minimal
  531.        base and then adding packages using 'glint' or 'rpm'.
  532.      * Compiling a 2.0.x kernel with a 2.8.x gcc or any egcs doesn't
  533.        work. There are a few bugs in the kernel that don't show up
  534.        because gcc 2.7.x does a lowsy job optimizing it. gcc 2.8.x and
  535.        egcs just dump some of the code because we didn't tell it not to.
  536.        Anyway, you usually get a kernel that seems to work but has funny
  537.        bugs. For example X may crash with a signal 11. Oh, and before you
  538.        ask, no it's not going to be fixed. Don't bother Alan or Linus
  539.        about this OK? -- Hans Peter Verne (h.p.verne@kjemi.uio.no)
  540.      * The pentium-optimizing-gcc (the one with the version number ending
  541.        in "p") fails with the default options on certain source files
  542.        like floppy.c in the kernel. The "triggers" are in the kernel,
  543.        libc and in gcc itself. This is easily diagnosed as "not a
  544.        hardware problem" because it always happens in the same place. You
  545.        can either disable some optimizations (try -fno-unroll-loops
  546.        first) or use another gcc. -- Evan Cheng (evan@top.cis.syr.edu)
  547.        (In other words: gcc 2.7.2p crashes with sig11 on floppy.c .
  548.        Workaround-1: Use plain gcc. Workaround-2: Manually compile
  549.        floppy.c with "-O" instead of "-O2". )
  550.      * A badly misconfigured gcc -- some parts from one version, some
  551.        from another. After a few weeks I ended up re-installing from
  552.        scratch to get everything right. -- Richard H. Derr III
  553.        (rhd@Mars.mcs.com).
  554.      * Gcc or the resulting application may terminate with sig11 when a
  555.        program is linked against the SCO libraries (which come with
  556.        iBCS). This occurs on some applications that have -L/lib in their
  557.        LDFLAGS....
  558.      * When compiling a kernel with an ELF compiler, but configured for
  559.        a.out (or the other way around, I forgot) you will get a signal 11
  560.        on the first call to "ld". This is easily identified as a software
  561.        problem, as it always occurs on the FIRST call to "ld" during the
  562.        build. -- REW
  563.      * An Ethernet card together with a badly configured PCI BIOS. If
  564.        your (ISA) Ethernet card has an aperture on the ISA bus, you might
  565.        need to configure it somewhere in the BIOS setup screens.
  566.        Otherwise the hardware would look on the PCI bus for the shared
  567.        memory area. As the ISA card can't react to the requests on the
  568.        PCI bus, you are reading empty "air". This can result in
  569.        segmentation faults and kernel crashes. -- REW
  570.      * Corrupted swap partition. Tony Nugent (T.Nugent@sct.gu.edu.au)
  571.        reports he used to have this problem and solved it by an mkswap on
  572.        his swap partition. (Don't forget to type "sync" before doing
  573.        anything else after an mkswap. -- Louis J. LaBash Jr.
  574.        (lou@minuet.siue.edu))
  575.      * NE2000 card. Some cheap Ne2000 cards might mess up the system. --
  576.        Danny ter Haar (dth@cistron.nl) I personally might have had
  577.        similar problems, as my mail server crashed hard every now and
  578.        then (once a day). It now seems that 1.2.13 and lots of the 1.3.x
  579.        kernels have this bug. I haven't seen it in 1.3.48. Probably got
  580.        fixed somewhere in the meantime.... -- REW
  581.      * Power supply? No I don't think so. A modern heavy system with two
  582.        or three harddisk, both SCSI and IDE will not exceed 120 Watts or
  583.        so. If you have loads of old harddisks and old expansion cards the
  584.        power requirements will be higher, but still it is very hard to
  585.        reach the limits of the power supply. Of course some people manage
  586.        to find loads of old full-size harddisks and install them into
  587.        their big-tower. You can indeed overload a powersupply that way.
  588.        -- Greg Nicholson (greg@job.cba.ua.edu) A faulty power supply CAN
  589.        of course deliver marginal power, which causes all of the
  590.        malfunctioning that you read about in this file.... -- Thorsten
  591.        Kuehnemann (thorsten@actis.de)
  592.      * An inconsistent ext2fs. Some circumstances can cause the kernel
  593.        code of the ext2 file system to result in Signal 11 for Gcc. --
  594.        Morten Welinder (terra@diku.dk)
  595.      * CMOS battery. Even if you set the BIOS as you want it, it could be
  596.        changing back to "bad" settings under your nose if the CMOS
  597.        battery is bad. -- Heonmin Lim (coco@me.umn.edu)
  598.      * No or too little swap space. Gcc doesn't gracefully handle the
  599.        "out of memory" condition. -- Paul Brannan (brannanp@musc.edu)
  600.      * Incompatible libraries. When you have a symlink from "libc.so.5"
  601.        pointing to "libc.so.6", some applications will bomb with sig11.
  602.        -- Piete Brooks (piete.brooks@cl.cam.ac.uk).
  603.      _________________________________________________________________
  604.    
  605.   QUESTION
  606.   
  607.    I don't believe this. To whom has this happened?
  608.    
  609.   ANSWER
  610.   
  611.    Well for one it happened to me personally. But you don't have to
  612.    believe me. It also happened to:
  613.      * Johnny Stephens (icjps@asuvm.inre.asu.edu)
  614.      * Dejan Ilic (d92dejil@und.ida.liu.se)
  615.      * Rick Tessner (rick@myra.com)
  616.      * David Fox (fox@graphics.cs.nyu.edu)
  617.      * Darren White (dwhite@baker.cnw.com) (L2 cache)
  618.      * Patrick J. Volkerding (volkerdi@mhd1.moorhead.msus.edu)
  619.      * Jeff Coy Jr. (jcoy@gray.cscwc.pima.edu) (Temp problems)
  620.      * Michael Blandford (mikey@azalea.lanl.gov) (Temp problems: CPU fan
  621.        failed)
  622.      * Alex Butcher (Alex.Butcher@bristol.ac.uk) (Memory waitstates)
  623.      * Richard Postgate (postgate@cafe.net) (VLB loading)
  624.      * Bert Meijs (L.Meijs@et.tudelft.nl) (bad SIMMs)
  625.      * J. Van Stonecypher (scypher@cs.fsu.edu)
  626.      * Mark Kettner (kettner@cat.et.tudelft.nl) (bad SIMMs)
  627.      * Naresh Sharma (n.sharma@is.twi.tudelft.nl) (30->72 converter)
  628.      * Rick Lim (ricklim@freenet.vancouver.bc.ca) (Bad cache)
  629.      * Scott Brumbaugh (scottb@borris.beachnet.com)
  630.      * Paul Gortmaker (paul.gortmaker@anu.edu.au)
  631.      * Mike Tayter (tayter@ncats.newaygo.mi.us) (Something with the
  632.        cache)
  633.      * Benni ??? (benni@informatik.uni-frankfurt.de) (VLB Overloading)
  634.      * Oliver Schoett (os@sdm.de) (Cache jumper)
  635.      * Morten Welinder (terra@diku.dk)
  636.      * Warwick Harvey (warwick@cs.mu.oz.au) (bit error in cache)
  637.      * Hank Barta (hank@pswin.chi.il.us)
  638.      * Jeffrey J. Radice (jjr@zilker.net) (Ram voltage)
  639.      * Samuel Ramac (sramac@vnet.ibm.com) (CPU tops out)
  640.      * Andrew Eskilsson (mpt95aes@pt.hk-r.se) (DRAM speed)
  641.      * W. Paul Mills (wpmills@midusa.net) (CPU fan disconnected from CPU)
  642.      * Joseph Barone (barone@mntr02.psf.ge.com) (Bad cache)
  643.      * Philippe Troin (ptroin@compass-da.com) (delayed RAM timing
  644.        trouble)
  645.      * Koen D'Hondt (koen@dutlhs1.lr.tudelft.nl) (more kernel error
  646.        messages)
  647.      * Bill Faust (faust@pobox.com) (cache problem)
  648.      * Tim Middlekoop (mtim@lab.housing.fsu.edu) (CPU temp: fan
  649.        installed)
  650.      * Andrew R. Cook (andy@anchtk.chm.anl.gov) (bad cache)
  651.      * Allan Wind (wind@imada.ou.dk) (P66 overheating)
  652.      * Michael Tuschik (mt2@irz.inf.tu-dresden.de) (gcc2.7.2p victim)
  653.      * R.C.H. Li (chli@en.polyu.edu.hk) (Overclocking: ok for months...)
  654.      * Florin (florin@monet.telebyte.nl) (Overclocked CPU by vendor)
  655.      * Dale J March (dmarch@pcocd2.intel.com) (CPU overheating on laptop)
  656.      * Markus Schulte (markus@dom.de) (Bad RAM)
  657.      * Mark Davis (mark_d_davis@usa.pipeline.com) (Bad P120?)
  658.      * Josep Lladonosa i Capell (jllado@arrakis.es) (PCI options
  659.        overoptimization)
  660.      * Emilio Federici (mc9995@mclink.it) (P120 overheating)
  661.      * Conor McCarthy (conormc@cclana.ucd.ie) (Bad SIMM)
  662.      * Matthias Petofalvi (mpetofal@ulb.ac.be) ("Simmverter" problem)
  663.      * Jonathan Christopher Mckinney (jono@tamu.edu) (gcc2.7.2p victim)
  664.      * Greg Nicholson (greg@job.cba.ua.edu) (many old disks)
  665.      * Ismo Peltonen (iap@bigbang.hut.fi) (irq_unmasking)
  666.      * Daniel Pancamo (pancamo@infocom.net) (70ns instead of 60 ns RAM)
  667.      * David Halls (david.halls@cl.cam.ac.uk)
  668.      * Mark Zusman (marklz@pointer.israel.net) (Bad motherboard)
  669.      * Elizabeth Ayer (eca23@cam.ac.uk) (Power management features)
  670.      * Thorsten Kuehnemann (thorsten@actis.de)
  671.      *
  672.      * (Email me with your story, you might get to be mentioned here...
  673.        :-) ---- Update: I like to hear what happened to you. This will
  674.        allow me to guess what happens most, and keep this file as
  675.        accurate as possible. However I now have around 500 different
  676.        Email addresses of people who've had sig-11 problems. I don't
  677.        think that it is useful to keep on adding "random" people's names
  678.        on this list. What do YOU think?
  679.      _________________________________________________________________
  680.    
  681.    I'm interested in new stories. If you have a problem and are unsure
  682.    about what it is, it may help to Email me at R.E.Wolff@BitWizard.nl .
  683.    My curiosity will usually drive me to answering your questions until
  684.    you find what the problem is..... (on the other hand, I do get pissed
  685.    when your problem is clearly described above :-)
  686.      _________________________________________________________________
  687.    
  688.    This page is hosted by www.bitwizard.nl
  689.      _________________________________________________________________
  690.