Software Eng Diary – Nov 17, 2023

As I mentioned in yesterday’s diary, I encountered build failures for a version set. I thought a whole day would be needed to troubleshoot and resolve but I was proven wrong. It only took me 45 minutes to get to the solution, apparently with a calm and clear mind!

So I had two resolution paths, one was to upgrade all test dependencies and modify unit tests accordingly until all tests succeed (i.e., build succeeds); the other was to keep unit tests intact, but only tweak dependencies config until build succeeds. I chose the second because it is more lightweight and involves less changes.

Then I reviewed the error messages again, and saw the first exception that happened in a series of nested exceptions was a ClassDefNotFound related to a package called bit-sista. As I moved on to review the dependency config file of the logic package, I accidentally found the removal of bit-sista package was explicitly specified. I was curious to see why it was removed and found that the intention was to “emove unused package to prevent zip size too large”. Bingo! I proceeded to try building the logic package with bit-sista added back. And it worked wonderfully.

Notes to self:

  • READ the error messages, CAREFULLY!
  • Always write “do something TO ACHIEVE SOMETHING”. The intent is what will be useful for people coming after me because the do part is already manifested in the artifact, but the intent can only be known when stated.

Leave a comment