“Because I’m bad, I’m bad, shamone 
 (bad, bad, really, really bad) 
 You know I’m bad, I’m bad (bad, bad) … 
 And the whole world has

Git Bisecting a Bug (Apache NuttX RTOS)

submited by
Style Pass
2025-01-04 19:30:16

“Because I’m bad, I’m bad, shamone (bad, bad, really, really bad) You know I’m bad, I’m bad (bad, bad) … And the whole world has to answer right now Just to tell you once again Who’s bad?”

2 Weeks Ago: We saw a Runtime Bug in Apache NuttX RTOS. We think that the Breaking Commit (causing the bug) falls somewhere between these “Good” and “Bad” Commits…

With a script, we could rewind and retest 468 Commits for Compile Errors. But it’s probably too slow for Runtime Errors. (Rewind + Recompile + Rerun)

Yep Git Bisect will gleefully seek the Breaking Commit on its own… Assuming that we provide a Script to Assess the Goodness / Badness of a NuttX Commit: my-test-script.sh

Everything above becomes our Git Bisect Script that assesses “Goodness” vs “Badness” for a NuttX Commit: run-job-bisect.sh

Remember that Every Bisect takes 1 Hour to Recompile + Rerun, because of the Stuck CI Test. That’s why Git Bisect works especially well for slower jobs.

Leave a Comment