The system time does not get incremented every nanosecond or so as normal, but only every 10mS. This breaks some code that relies on timing, for example a "page build" timer, or even some random numbers if the time is used as a seed.

Because it's at the system level, it affects all languages (such as the microtime function in php) and there is no workaround, other than downgrading the kernel and distribution.

To test for the bug, run the following script:

 #!/bin/bash
 for i in {1..20}
 do
         date +%T.%N
 done

Each time listed should be different. If a group of them are the same, the bug is still there.

This bug was reported in November 2009, and as of January 2010 March 2010 it still has not been fixed. It is still undocumented, so new customers won't know about this limitation until they waste time debugging it like I did.

It currently makes it impossible for me to use Rackspace Cloud servers, with the latest kernel and distributions.

Update

Actually there's an even easier way to test for the bug. Simple ping a remote location from the server. If every ping time returned is a multiple of 10mS, the bug is still there...

Update 12 April 2010

Well, this bug finally got silently fixed now that the Ubuntu 9.10 images are at kernel version 2.6.32.9-rscloud . At last it works as it should. If I had been a customer though I doubt I would have been happy waiting many months for a new kernel version to fix this, I would have expected the previous version to have been tested before release.

During March I did get contacted by a salesperson at Rackspace who was asking how I was finding the service. I explained the problem that stopped me using Rackspace, including the ticket number (which had been closed by Rackspace without a resolution). he said he would look into it. I heard no more.

There are some nice services at Rackspace, but they are an utterly marketing-driven company that are SO annoying to deal with. I had a dedicated server with them years ago, but having to negotiate with their salespeople to try to get a server upgrade rather than any pricelist was too much hassle so I went elsewhere (they make buying a server as unpleasant as trying to buy a used car). They still haven't learnt, it's a real pain trying to read their website when that daft "liveperson" thing keeps popping up and blocking the text - with no way to turn it off. Drives people away from the site.