Tuesday, October 05, 2004

Checkin safety

Last Friday I was working on a tough bug (intermittent random crashes due to memory corruptions from indirect recursive calls). I wasn't familiar with the area of code where the fix needs to be, and unfortunately no one else does either. So I put in the fix and spent the entire Monday running semi-automated tests to make sure there is no regression. Today I finally delivered the fix into the integration branch but skipped the unix compilation checks since the code fix itself is relatively easy. Luckily someone ran a unix make with my fix and discovered that it broke on HP unix, which is unnecessarily restrictive (this break has to do with C++ labels). By lucky I mean the problem is discovered before the official build. I guess the lesson for me is to never assume and always be triple careful.

PS, I have always disliked goto statements, and this incident certainly enforces that believe.