He looks like he’s just been handed a doornail. “Oh, yeah so…. Cheers?”
together at last
For those of us who live in opensource, I’ve started a queued tumblog called Opensourcereactions filled with the things I’ve seen in opensource.
Reblarging forever. And ever. And ever. And ever. And ever. And ever. And ever. And ever.
I’m an avid fan of other developers who do work I wouldn’t dream of doing. These developers are systems-developers. They’re people like James Mickens, and his tale, The Night Watch.
The Night Watch is a wonderful tale of what it’s like to get your hands so dirty you look at them and go “Let’s just chop those off, I can find a new pair somewhere, or I can code with my teeth.” I had a problem like this last night, at 2AM, when I really honestly wanted to sleep.
For those Android developers who work on projects at 2AM because you want to sleep soon and get a bug fixed before you sleep, you’ve inevitably run into a line in logcat that reads something like
Writing ANR traces to /data/anr/traces.txt failed
With a giant stacktrace and some useless Dalvik spunkery. Most often, I’ve found that this is caued either by a blown stack or by an infinite loop. Both are evil things.
Finding those bugs can sometimes be the worst problems ever, especially when adb and eclipse aren’t talking very kindly to each other. Last night I proclaimed, like Mickens, “I have broken my tools with my tools.”
This is when the debugger comes in handy. The problem is you rely on your debugger to work. Sometimes you hit pause in your debugger and you realize that
init has just killed itself and left a note saying “Will be back in approx. 6 gadjillion years.”
You just toss breakpoints in randomly and see which one crashes after you pass it. And hope you got the right places.