Thread: Found the source of my unstable system

  1. #1
    Registered User VirtualAce's Avatar
    Join Date
    Aug 2001
    Posts
    9,607

    Found the source of my unstable system

    Recently I upgraded to 3GB while on Vista. Instant blue screen.
    So then I install XP and it's ok for awhile. Then InstallShield keeps telling me CABs are corrupt on CD's I've only used once. So I alter the memory timings and everything seems to be ok. Recently I started having applications throw exceptions that have never thrown before. Finally I broke down and burned an ISO of Windows Memory Diagnostic.

    Tested the full 3GB and every test failed.
    Tested each stick independently and 1 in particular always failed.

    The third stick would do this:

    Expected: fe-fe-fe-fe::fe-fe-fe-fe
    Actual: fe-fe-fe-fe::fe-fe-ee-fe

    Every time on every test the third byte in the high order word was wrong. So if you had a pointer that relied on some object at an address the pointer would be wrong and of course would throw an exception.

    Problem solved.

    In short when you buy memory...test it. Woulda saved me a lot of headaches.

  2. #2
    Devil's Advocate SlyMaelstrom's Avatar
    Join Date
    May 2004
    Location
    Out of scope
    Posts
    4,079
    RAM from my experience has a fairly high failure rate... over the years I've bought 20 or so sticks of RAM and have had to replace, I think, four of them for one reason or another. I'm talking very reliable brands, as well... you just have to get used to the fact that they have such a high failure rate.
    Sent from my iPadŽ

  3. #3
    Registered User Bajanine's Avatar
    Join Date
    Dec 2001
    Location
    The most peaks over 10,000 feet!
    Posts
    396
    I have never had new RAM fail until just recently! I agree it can be a real pain in the rear. Thorough testing is a must! I always use MemTest and Orthos to verify my RAM.

    Lately, it seems like getting good RAM is just pure chance. I'll tell a friend how easy it is to upgrade their RAM by directing them to a online memory configurator and if the don't get the wrong RAM then they get faulty RAM! So much for easy.
    Favorite Quote:

    >For that reason someone invented C++.
    BLASPHEMY! Begone from my C board, you foul lover of objects, before the gods of C cast you into the void as punishment for your weakness! There is no penance for saying such things in my presence. You are henceforth excommunicated. Never return to this house, filthy heretic!



  4. #4
    (?<!re)tired Mario F.'s Avatar
    Join Date
    May 2006
    Location
    Ireland
    Posts
    8,446
    Still... quiet annoying the fact RAM is being sold that a simple diagnostic can show to be faulty.
    Originally Posted by brewbuck:
    Reimplementing a large system in another language to get a 25% performance boost is nonsense. It would be cheaper to just get a computer which is 25% faster.

  5. #5
    Registered User VirtualAce's Avatar
    Join Date
    Aug 2001
    Posts
    9,607
    Yes, very. From my experience with quality control I'd say they test a sample size of each production run. This means that not every module would be tested so I'm sure some bad ones get through.

  6. #6
    Registered User AloneInTheDark's Avatar
    Join Date
    Feb 2008
    Posts
    74
    Which brand did you buy?

  7. #7
    Woof, woof! zacs7's Avatar
    Join Date
    Mar 2007
    Location
    Australia
    Posts
    3,459
    > This means that not every module would be tested so I'm sure some bad ones get through.
    Not to mention it *could* get damaged in transport. After the diagnostic perhaps?

  8. #8
    Registered User AloneInTheDark's Avatar
    Join Date
    Feb 2008
    Posts
    74
    Quote Originally Posted by zacs7 View Post
    > This means that not every module would be tested so I'm sure some bad ones get through.
    Not to mention it *could* get damaged in transport. After the diagnostic perhaps?
    Somehow, I don't see that as the true cause. I mean, RAM has no moving parts and the rate of error is way too high. I almost doubt that many drives would get messed up in the transport.

  9. #9
    C++まいる!Cをこわせ!
    Join Date
    Oct 2007
    Location
    Inside my computer
    Posts
    24,654
    What diagnostic? Things such as RAM is not tested before it's shipped since it would take way too much time.
    Quote Originally Posted by Adak View Post
    io.h certainly IS included in some modern compilers. It is no longer part of the standard for C, but it is nevertheless, included in the very latest Pelles C versions.
    Quote Originally Posted by Salem View Post
    You mean it's included as a crutch to help ancient programmers limp along without them having to relearn too much.

    Outside of your DOS world, your header file is meaningless.

  10. #10
    Registered /usr
    Join Date
    Aug 2001
    Location
    Newport, South Wales, UK
    Posts
    1,273
    I'd say it's almost completely luck of the draw, although fate seems to smile on me as far as memory goes, never had a failure yet (although admittedly I only buy new memory for new equipment, that's every 4 years on average).

    Same with hard disk drives. My stuff works fine, then I pass it on and I hear a few months down the line that it's seized up.

  11. #11
    Registered User VirtualAce's Avatar
    Join Date
    Aug 2001
    Posts
    9,607
    What diagnostic? Things such as RAM is not tested before it's shipped since it would take way too much time
    I've never been in any production environment that did not test a small sample size from each production run. I've been involved with machines, glass, engines, parts, etc. Everything that is made has some type of QA analysis setup so that the factory can monitor quality. You can't just produce, forget, and ship. It doesn't work like that.

  12. #12
    C++まいる!Cをこわせ!
    Join Date
    Oct 2007
    Location
    Inside my computer
    Posts
    24,654
    Samples, sure. But that's just a small subset of all the production.
    That's why warranty exists, just in case something should break.
    Quote Originally Posted by Adak View Post
    io.h certainly IS included in some modern compilers. It is no longer part of the standard for C, but it is nevertheless, included in the very latest Pelles C versions.
    Quote Originally Posted by Salem View Post
    You mean it's included as a crutch to help ancient programmers limp along without them having to relearn too much.

    Outside of your DOS world, your header file is meaningless.

  13. #13
    (?<!re)tired Mario F.'s Avatar
    Join Date
    May 2006
    Location
    Ireland
    Posts
    8,446
    Quote Originally Posted by Elysia View Post
    Samples, sure. But that's just a small subset of all the production
    These "samples" are used to calibrate the production line. Under high quality control requirements, once calibrated a production line produces basically the exact same product (there's a well known failure rate).

    What it seems is that, quality requirements have been lowered or production lines are not being adequately calibrated or whatever.
    Originally Posted by brewbuck:
    Reimplementing a large system in another language to get a 25% performance boost is nonsense. It would be cheaper to just get a computer which is 25% faster.

  14. #14
    Registered User VirtualAce's Avatar
    Join Date
    Aug 2001
    Posts
    9,607
    What it seems is that, quality requirements have been lowered or production lines are not being adequately calibrated or whatever.
    Hehe. Sounds like a fellow QA guy. Rememeber it's always an auditor's fault but never the line's.

  15. #15
    C++まいる!Cをこわせ!
    Join Date
    Oct 2007
    Location
    Inside my computer
    Posts
    24,654
    Quote Originally Posted by Mario F. View Post
    What it seems is that, quality requirements have been lowered or production lines are not being adequately calibrated or whatever.
    I'm thinking you might be right.
    Quote Originally Posted by Adak View Post
    io.h certainly IS included in some modern compilers. It is no longer part of the standard for C, but it is nevertheless, included in the very latest Pelles C versions.
    Quote Originally Posted by Salem View Post
    You mean it's included as a crutch to help ancient programmers limp along without them having to relearn too much.

    Outside of your DOS world, your header file is meaningless.

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Line Counting
    By 00Sven in forum C Programming
    Replies: 26
    Last Post: 04-02-2006, 08:59 PM
  2. fopen();
    By GanglyLamb in forum C Programming
    Replies: 8
    Last Post: 11-03-2002, 12:39 PM
  3. found source! i be tha thrilla killa'!!!
    By doubleanti in forum A Brief History of Cprogramming.com
    Replies: 6
    Last Post: 10-31-2001, 09:15 AM