I blew it.

Well, I blew it. I overreacted and because of that, I lost a year uptime on tower, the colocated server serving up this website (as well as several other websites, and email).

What I thought might be the machine going a bit marginal on me turned out instead to be a rather show-stopping bug (cough cough) in the software that drives this online journal. The ANSI-C spec for time is a bit more weasly than I thought.

The problem is that I thought (erroniously as it turns out) that mktime() would renormalize (say, if the day was set to 32, the month would be incremented and the day set to 1) the time given. An implementation could do that, but it isn't mandated.

And I was counting on that.

I'm not sure why I didn't notice the problem before, but with Mark's [1] level headed guidance (should have called him before I rebooted the server) I was able to track down a problem I should have.

Sigh.

[1] http://www.conman.org/people/myg/

Gemini Mention this post

Contact the author