Bogdan Varlamov (a.k.a. Phantom Stranger)

System.Threading.Timer Stops Firing in Windows Server 2003 SP1


by Bogdan Varlamov (a.k.a. Phantom Stranger)

Do you have an application that starts misbehaving randomly? You aren't quite sure what is going on, but it seems like for some reason your Timer just stops firing it's event handler--and once it stops it never starts back up.

This drove me nuts! But, it is definitely a problem in the Windows Server 2003 SP1. This bug is particularly devious since even if your application uses extensive logging it maybe be nearly impossible to find proof of a timer not firing in your logs.

Short of implementing a Homer Simpson type of "everything is okay alarm" is there anything you can do to determine whether or not your application might be suffering from dying timers?

Would you like to know more?

I was introduced to the world of agile software methodologies and, in particular, Scrum at my last company.  In fact, on my first day new whiteboards were delivered to almost every office and a book called Agile and Iterative Development: A Manager's Guide by Craig Larman was handed out to at least one member of each dev team.  We were told to choose an agile approach that works best for our team and go for it.  However, I later learned that we were to choose any approach we wanted as long as it was called Scrum.  In that effort, I helped to wrangle our usual cat herding approach to software development into something closely resembling Scrum processes.  It was fun and challenging and a very eye-opening experience.

Would you like to know more?