I’m feeling a little delirious today, after having fully exhausted myself the past two days hunting down a dreadful bug. The most dreadful of all bugs: mobile crashes that occur on launch. Fortunately, this was just a beta build, and it was detected quickly by early testers. But, I was absolutely bewildered. What could it possibly be? The crash reports showed nothing. The changes I made in all were inconsequential. So unaffecting, in fact, that I pushed them straight to master. What could possibly go wrong?
I spent the next few days agonizingly trying to reproduce this bug, but no matter what I tried, no matter how much I tortured the application to show any signs of weakness, it excelled. I was actually impressed. Of course, it’s all a front by the application, which knows it’s being observed, so puts on its best behavior.
This bug, I was certain, would be my last. My entire life flashed before me. What if I never figure this out? I know you say that every time, but for real this time. I began carrying a heavy and fearful state of mind, overly sensitive and prickly to every negative thought. During times like these, it’s best to avoid introspection. Your incisions will be harmful. I went home early, and seriously began asking myself, what am I going to do? I’ve done everything I could.
I decided, out of raw desperation, to just brute force it, by walking through every single new line of code and interrogating it. First, I needed to undo the biggest wrong of all, and redirect the new version commits from master into their own branch, so I can easily review the changes. I thought this would be a catastrophic task, but turned out to be as simple as
git branch 2.1, git reset HARD~12 (remove 12 commits), git checkout 2.1
I went through every line, tweaking it around to see if making it behave at its worst would have any fatal repercussions. Almost nothing did. But then I found it.
And really, that’s the end of the story. I’ll repeat this episode probably some time in the next few months. Each of these lucid nightmares instantly takes years off my lifespan, and propagates powerful seeds of negativity that, if not immediately severed, stand to contaminate your future. It’s a subtle, but beating effect.