
The app that was fixed by a crash - thristian
http://ridiculousfish.com/blog/archives/2011/09/15/The-app-that-was-fixed-by-a-crash/index.html
======
cellularmitosis
Swallowing signals :)

Back in college, all of the computer science lab machines used shared NFS home
directories. It wasn't unusual to see "NFS server not responding" on your
console when the network was experiencing a hiccough.

There was a running joke about how crafty students would swallow SEGFAULT in
their assignments and just endlessly print out "NFS server not responding" in
a delay loop. "Crash? No, it's just the network. Look!"

~~~
nupark2
[edit] I just realized that he was debugging a _third-party_ application. The
narrative is a bit hard to follow.

I can't quite figure out why someone so smart was doing something so stupid.

The way to solve crashes is not to crash, unless you're erlang and functional
and build the software to recover fully -- but that's not something remotely
feasible to do for an application written in a standard imperative language.

Otherwise trying to continue on blindly results in a hang like the one he
experienced _at best_ , and a data corruption at worst.

------
goo
My takeaway from this is that next time I encounter a really challenging
problem, I will close my eyes and imagine having a conversation with House,
M.D.

That's actually a really good takeaway.

~~~
AlexC04
That wouldn't work for me I'd always wind up trying to debug Amyloidosis.

~~~
akshaykarthik
Or Lupus... It is always Lupus first and then everything else!

------
roel_v
Man I'd be pissed if I wasted two days on getting my finger behind some
idiot's stupid 'hey let's mask errors and hope they go away' tricks.

Also, while the story itself was sort of interesting, the format (with the
chords and the House and whatnot) made it hard to follow - why not just
describe the issue rather than making up schizophrenic discussions?

~~~
thaumaturgy
Well, there could have been some irascible bug in a previous version of the OS
that the app kept running into, and this was the programmer's method for
getting around that. Or, it could have been some really sneaky bug in the
program itself, something that was beyond the programmer's ability to figure
out, so they did this instead and followed the industry standard advice to
"just ship it". Or, maybe it's part of some framework somewhere, because
somebody thought it was a good idea.

It's a bit of a stretch to jump to "some idiot"; most of us are "some idiot"
often enough.

~~~
roel_v
Sure, but all of that still doesn't make it OK. I've shipped things with non-
optimal solutions - and if somebody ever had to waste two days like this on
those things, they'd have every right to be pissed. And yes some of these
things does make people idiots - if it was beyond the programmer's ability to
figure out, or if a 'framework' thought it was a good idea, that makes them
idiots.

------
thristian
It turns out that Microsoft isn't the only OS vendor that bends over backwards
to keep track of compatibility with third-party applications.

~~~
fjarlq
Why do you say that here?

~~~
thristian
Because the author of the article works for Apple, and it sounds like they
discovered a compatibility regression in a particular piece of third-party
software and assigned him (or her) the task of figuring out exactly why it was
broken.

Microsoft is famous for hacking up their OS in order to keep quirky or poorly-
written third-party software running on newer releases. I don't know if Apple
would go quite that far, but it sounds like they care enough to spend
expensive developer time investigating these problems.

~~~
duskwuff
By way of example, the Mac OS X 10.4.9 update contained the following
improvement (among others):

    
    
        * Improves the reliability of OpenGL-accelerated graphics
          in Blizzard's World of Warcraft.
    

<http://support.apple.com/kb/HT1525>

