Jonathan Bennett

A Month-Old Bug and How I Found It

In my previous post, I talked about a bug involving an invalid <turbo-frame> tag. The UI was fine when merged into main, but after a month, it stopped working. Here’s how I tracked it down using git.

First, I noted that the feature was committed to main on May 7th and was known to be broken on May 26th. This gave me a window for when the issue likely started.

Next, I tested several merges on different dates: May 16th, 21st, 19th, and finally May 20th. If the UI passed, I moved forward; if it failed, I went back.

The system worked on May 19th but failed on May 20th, narrowing the issue down to a single commit.

Identifying the faulty commit allowed me to focus on the exact changes responsible for the problem and how to resolve them.

PS: The commit in question was fairly large — involving a dozen files. This process would have been even easier if the commit had been smaller. But that’s a conversation for tomorrow…