My less than a year old Whirlpool French door fridge locked up in the
off state from an apparent power glitch. There was no indication on the
control panel that it was off. Unfortunately we were away on a one week
vacation. Of course, everything was lost. When we returned home, we
found the unit at about 58 degrees in the fridge and about the same in
the freezer. The ice in the ice maker had melted and seeped through the
gaskets warping the laminate floor. I played the Microsoft game and
attempted a reboot. First I pushed the buttons to turn off the unit and
it responded with "cooling off" on the display. And then I pushed the
buttons to turn it on. Amazingly, it started and ran. After a few
hours it was up and running perfectly. BTW, the clock on the microwave
(WP) had blanked and the the wall oven indicated PF for power failure,
but it had the correct time ... minus one minute. So apparently it was
a very short power on/off thing. When I called WP the person was very
rude. They call their call center the "Customer Experience Center" and
boy, was it an experience. She said the unit functioned properly and WP
takes no responsibility in any of it. All she kept saying was that the
unit works perfectly. BTW, I had a WP for the previous 6 years and only
replaced it because we wanted the French doors instead of a
side-by-side. It just fit better in the kitchen. Anyway, it never did
anything like this in its 6 years and I assume even now it is probably
still working for the person that bought it. This is just plain crazy.
These things should have built in safeties for this kind of thing. I
worked for 25 years in industry designing fault tolerant systems and
something like this just could not be tolerated. Am I supposed to sit
there and watch the unit 24/7/365, or hire someone when on vacation, to
come in an check it? I did find a nice little product for just over
$100 that would report the temperature inside the fridge to the
company's cloud and when it went out of range, they would send off an
email or text to me. Still not good if I am in Europe or something like
that, but, it could send to a friend with a house key. BTW, WP is
coming out later this week to check it out. There seems to be one other
problem and this is the water dispenser operation. It seems to have
shifted to a measured fill and I can't seem to make it go back to
providing water only when the paddle is pushed as it was before. If the
repair person tells me that they are all this way (the power down thing)
I will demand that WP remove the box permanently. Sorry for being so
On Sunday, April 17, 2016 at 7:48:09 AM UTC-4, Art Todesco wrote:
I feel your pain. I would expect a fridge to restart after a power
outage. Did the customer service person say that it's designed not
to, ie if you cycle the breaker, it won't restart? I would suspect
that what happened is some unusual aspect to the power interruption,
eg low sustained voltage or something caused it to go into some
unusual state. But it's clearly not a good thing. I've never had
a fridge or freeze that did that. Did you do any experimenting
with cycling the breaker to see if you can duplicate it?
That depends on how the failure manifested itself.
If the processor has "gone off into left field", most MCU's (single-chip
computers found in many appliances) have provisions for a watchdog timer
to reset the device (if not appropriately "stroked").
[Many also have black- and brown-out protection; whether it is used
properly is a different story!]
But, it is relatively easy to write software that fails in such a way
as to keep the watchdog happy! (thereby defeating its purpose).
"Gee, I need to stroke/pet the watchdog regularly. Why don't I put
that code in this timing loop that ALWAYS runs (interrupt routine)
EVEN WHEN THE SOFTWARE HAS CRASHED!"
If, OTOH, the failure is the result of a hardware issue (e.g., improper
sequencing of power supplies, persistent voltages present on I/O pins before
the pins can be programmed for their desired purpose, etc.) then the
fix will be a new revision of the controller board.
[Finding that this is, indeed, the case will be a major hurdle in most
cases! Manufacturers aren't eager to disclose these sorts of DESIGN
errors as that would mean everyone gets a freebie repair. Instead,
they'll gamble that you won't experience the problem until after your
warranty has expired.]
IIRC, Elecrolux had an issue with the location of the temperature sensor
in one (or more?) of their refrigerator models. The sensor would think
it was comfortable at the desired temperature -- but the food was many degrees
warmer than it indicated. (I guess expecting a refrigerator to maintain
a desired temperature wasn't one of their design goals?)
Note that the same sorts of problems existed in The Good Old Days (do you
really think the dial on your oven was "calibrated" to YOUR particular
oven's performance? (hint: remove knob, flip it over and examine back)
Seems like every device I own that has any kind of a microcomputer in it, needs to be rebooted at least once per year.
But having to reboot a refrigerator to get it to cool again is absolutely totally unacceptable.
Maybe you can get W to exchange it for a model without a microcomputer control?
The good old mechanical devices seem to work for years and not give any
problems. The computers seem to have all kinds of problems if there is
a voltage spike or sometimes just have a problem with them that no one
At work there was a microprocessor that was used to detect the level in
a vessel. It worked like a giger counter for radiation. We had about
30 of them. When they were first installed we found they had a habbit
of locking up at some level. That caused either over flow or running
empty. That could be a $ 50,000 problem. Some point level detectors
were installed to warn us of the problem.
The factory came out with the 'solution' There was a 'watch dog timer'
put in the softwear. Every day at 7 AM the instrument would do a reset.
Seemed to work most of the time. We also had many high dollar
controlers that seemed to hang up and the standard 'cure' was to cut the
power off for a few seconds and restrt.
The mechanical devices weren't called on to do the same sorts of
things that the electronic things do -- nor at the same price-points!
Look at a simple set-back (programmable) thermostat. No-brainer in terms
of functionality. How would you implement it, with electromechanical
devices? Put 4 thermostats together and have a clockwork mechanism that
connected *one* of the thermostats to the wires that actually talk to the
Are you sure the "watchdog timer" operated in that manner? Most watchdog
timers need to be "fed" periodically by "well behaving" software -- "pet
the watchdog". Failing to do so results in the watchdog unilaterally
resetting the device
(note that this assumes there is a means by which the device can be reliably
reset -- that will handle all possible failure/lockup modes!)
Even the design of the watchdog circuitry itself requires careful consideration
to ensure that it:
- doesn't activate unless actually needed
- can't be falsely placated by software that *appears* to be working
(but, in reality, is stuck in an endless "pet the watchdog" loop)
E.g., I design products that often have to work, reliably, in very hostile
environments; places where the "user" is deliberately trying to subvert
"proper" operation (think: devices that are driven by or control access
to MONEY). If a user (adversary) discovers that glitching the power will
result in obtaining something "for free" that he'd otherwise have to
pay for, then you can BET that folks will be glitching the power -- and
posting YouTube videos about how to do it -- all the time!
Most designers/developers aren't accustomed to working in this sort of
environment. These are the same sorts who leave security holes in
programs because they assumed no one would ever type in a FIRST NAME
that was 395 letters long! (hint: there ARE no first names that are
that long; the user was deliberately trying to BREAK your code!!)
A watchdog timer may be the wrong term for what they did, but that is
the way it worked. The device had 2 memories in it. One was the working
or running memory and there there was another memory EEPROM. Every
morning that thing would cause a blip in the process because it put out
bad data for about 30 seconds while the EEPROM was downloaded back into
the main working memory.
That was that companies solution to the locking up problem. I don't
recall them locking up any more after that 'fix'.
Crappy way of doing things, but changing out the equipment for another
kind was not an option.
Sad that your Management tolerated that from a vendor/supplier!
If you had a clock that had to be reset each day at 7AM, you'd
have to wonder why the CORRECT time was ONLY important at 7AM
and not at 6:55A.
Or, how could you have confidence that it was even operating properly
I don't understand why people tolerate buggy software/systems.
You wouldn't tolerate a (new!) vehicle that "stalled" once a day.
(or even once a week) So, why put up with a (software) product
that is effectively doing the same?
$$$ - Bug free SW, if it exists, tends to be very, very expensive because of
all the testing and code reviews it entails.
Compare your choice in vehicles to your choice in OS's and that becomes one
reason people tolerated the Blue Screen of Death and so many other lockup
problems. Sadly I've had to reboot my electronics heavy car more than once
recently and I have no confidence the dealer would be able to fix the
problem (open door buzzer sounds when key is withdrawn).
Lack of choices. My friend switched to a chromebook which locks up at least
once a day. Currently PC systems are way too complex to ever be considered
bug-free. Even Apple, with its notorious tight control of everything, put
out a very buggy Quicktime for Windows that's bad enough to rank as a
national security threat.
That's not true. The costs are only high because people keep
RE-writing the same software over and over again and never thoroughly
test ANY of it! So, each rewrite reintroduces many of the same bugs
(which incurs many of the same test and repair costs)
Instead, if you write something *for* reuse, you have an incentive to
test it, automate that testing (so you can REtest it to reassure yourself
that it's still working at a later date) AND completely document how
it works and the conditions under which it is GUARANTEED to work.
When I build/design something, I include a clause in my contract that
essentially says: "I'll fix any mistakes, for free". No time limit
or other weasel words. So, any of MY mistakes cut into my profit.
As a result, I don't let mistakes creep into my finished product!
A client might complain that it doesn't do something that they had
HOPED or IMAGINED it would do. In which case, I point to the
specification that WE jointly wrote and agreed to and ask why he
didn't put those requirements into the specification -- if he
truly WANTED those things? How can he expect me to come up with a
price and completion schedule WITHOUT knowing what he wants?
(i.e., the specification DECLARES his needs and my obligations).
Like asking a builder to build you a home -- then complaining because
you'd expected it to have a swimming pool, jacuzzi, 3 car garage
and sunken living room! ("Where does it call out those things
in the contract? Clearly they would increase the cost of building
the house so why would you EXPECT them to be given to you if not
But, employers (and clients) either don't know how to specify what
they want ("I'll know what I *don't* want, after you've SHOWN it
to me!"); or are afraid to do so out of fear of what it might cost
or otherwise entail; or want the freedom to be able to change their
mind -- right up until the very last instant (and expect those changes
to have no consequences on the cost, schedule, reliability, etc.)
Once you start formalizing "software components" -- much like any
OTHER components you encounter in life (we all know what to
expect from a #2-56x3/4 inch PHMS!) -- then you can make those
components more reliable. And *prove* their reliability with one-time
Unlike real-world components, software has the delightful characteristic
that it can be PERFECTLY reproduced in infinite quantities. You don't
have to test every (identical) copy of a program like you would have
to test every SCREW that you produced!
PC's represent a TINY, INSIGNIFCANT portion of the software that is out there.
Think of all the "computerized things" that you interact with, daily.
First, forget the software that's *on* your PC's disk (or in your PC's RAM).
Instead, consider the software INSIDE your:
- CD/DVD drive
- hard disk drive
- monitor, etc.
Your microwave oven, refrigerator, washer, dryer, dishwasher, furnace,
thermostat, doorbells, toasters, irrigation timer, swimming pool controller,
stereo, TV, VCR/DVD player, DVR, satellite box, cable converter, cordless
phone, cell phone (forget "apps"), PMP, "home weather station" (or remote
thermometer), garage door opener, clock radio, bathroom scale, water
meter, electric meter, etc.
If you've been in a doctor's office, the temple thermometer, sphygmomanometer,
scale (designed for greater accuracy and reliability than your bathroom scale),
portable EKG, AED, and countless other "specialized" devices, etc.
Your car probably has 30 processors in it -- not counting any aftermarket
devices you may have added/installed. The gas pump where you fill up.
Even the tire inflator, tire balancer, nitrogen generator, OBD reader, etc.
that are used on your behalf!
And, we've not really ventured beyond what a "typical" person encounters
in day to day living! I.e., those of us with bits of electronic test
equipment would include soldering iron, device programmer, oscilloscope/DSO,
frequency counter, waveform generator, LRC meter, DMM, etc.
The thing that all of these appliances have in common (for the most part)
is that they can't be easily/inexpensively/compassionately "updated"!
You can't just "turn on automatic updates" and magically expect bugs
to be patched. So, there needs to be extra care up front to ensure
problems/bugs don't get out "into the wild".
Again, you're just thinking about desktops/PC's. Not "refrigerators"
(like the OP)
Disagree VERY STRONGLY. Of course something that requires careful planning
and lots of testing will be more expensive unless you live in an alternate
dimension. I am not sure you've ever worked on any truly large coding
projects if you actual believe what you just wrote.
And they do that to keep development costs down. Change that paradigm and
as I said, costs go up. Sometimes way up. We have someone here who
designed fault tolerant systems. They are *always* way more expensive than
COTS because of the increased development and testing time. Besides, you
can't be seriously trying to tell me that starting from scratch is going to
cost the same as reusing (perhaps) buggy code that works "well enough?"
And magic elves that work for free do that kind of work? Not in my
"We perfect people", as my old MD friend used to chide me when I said
something like "I don't make mistakes."
Anyone who's ever upgraded their OS to see programs that didn't make the
jump knows that you can control your little corner of the world, but not the
whole thing. I bet I can break any piece of software you've ever written in
some fashion because of all the other people *you* have to rely on to make
your code work. There's always a weak link somewhere. If I recall my CMSC
prof correctly, it's virtually impossible to certify any non-trivial program
as error free. Just too much complexity. Maybe things have changed since
then, but I doubt it.
Well, my ~40 years of experience designing high reliability, mission
critical systems says otherwise. No lawsuits, dead patients, bankrupt
casinos, etc. chasing me down!
You seem to have swallowed the "we don't have time to do it right -- but we'll
have time to do it OVER" pill.
As long as you allow someone to install software (in the guises of
"updates") on your computer, you are entirely at their mercy.
They could choose to install all of the "features" of W10 on your
machine -- and still let it report the name of the OS as YOU
last remember it!
(Hey, you should be thankful! You're getting all this NEW TECHNOLOGY
without having to DO anything to get it! :> ]
Sorry to be blunt but the coding experience of a totally anonymous person
has to be evaluated in those terms. I could tell in about five minutes
looking at your code, pseudo-code and design plan what kind of a coder you
are. Not so via self-report data on the web.
What I can do remotely is challenge the assertion that writing totally
bulletproof code is just a matter of caring and not of money. I say it's
almost ALL money and can cite quite a few studies that examine all the
factors that lead into software purchasing decisions.
You sound very much like a lone cowboy programmer. What works on a small
scale often does not work on a large scale. Do you have a colleague that
knows all your projects, contacts, guarantees made and has the ability to
execute repairs in case you're incapacitated? If not, your clients probably
don't have much experience or have never been "keymanned" - i.e. suffered
the loss of a critical, irreplaceable employee.
Structured walk-throughs, code reviews, automated testing, beta testing, bug
hunting all cost money, especially when done at the scale of say Google (who
offers $100,000 to hackers who can break into their browser) all cost money.
Setting aside the time to properly assess the requirements, put project
management into place and then test, test and test cost money, money and
more money. And more importantly time. Big companies don't want to hear
you're still bug hunting when it's time to roll out a new corporate HR
I haven't swallowed anything. I just don't think you have much real world
experience in developing large >1000 user software systems. And when we're
talking Windows bugs, that the scale we're discussing. My opinion is also
shaped by the discussion of the rather antique PCs you used for something -
don't recall - I just recall thinking when I read that the further you get
from COTS hardware, the more nervous your client *should* become. I'm old
enough to remember neXT and neXT cube computers. (-:
Without seeing one shred of code, documentation or list of clients or
projects, things are whatever you say they are re: your qualifications.
It's like judging a photo contest over the radio.
However, your writings speak some things very clearly, especially when you
seem to be claiming that bug free software shouldn't cost any more than
standard "bug here and there" software.
That's just a no-sale based on what it takes to develop plain old "good
enough" Microsoft quality code. I've been through a very fair share of
testing at corporate levels. I know how sausage is made.
Most non-trivial software is too complex to fully test - ever - and release
into the wild means many people will be actively pounding every routine they
So what if SW gets patched now and then as long as it does get patched?
That's why I am so confident I could breach your systems or your code if I
could actually access them instead of just taking your word that they're
Unlike some others here, I believe the fact that Windows and everything that
runs on it *mostly* works is a miracle of our time and one that's almost
over. Do you know how many different types of motherboards and board
configurations something like XP is expected to run on?
Hey facts are facts. I've hired lots of coders. Many talk a very good game
but the proof is always in the code, the specs and the documentation.
You're only on the hook because both Trader and I agree that what you've
said about "doing it right" and code re-use isn't right. For Trader and I
to agree is pretty damn rare. I can tell from his comments that he's
actually been involved in projects where people have to consider resources
and make design tradeoffs.
You've set yourself up as a programmer that doesn't make the mistakes other
people do. You're a smart guy Don. You know that's an invitation to "put
up or shut up."
I forgot to add one more thing about lone cowboy/sole practitioner
programmers. They usually don't tolerate criticism well at all. (-:
HomeOwnersHub.com is a website for homeowners and building and maintenance pros. It is not affiliated with any of the manufacturers or service providers discussed here.
All logos and trade names are the property of their respective owners.