Download problems, an apology

By Stephen Kellett
5 June, 2014

The last two software releases have not been as smooth as usual. To put it mildly there have been problems.

I’d like to apologise for the inconvenience we may have caused you. I’d also like to explain why these problems happened and what we are doing to put it right.

With the previous software release we supplied the correct binaries but the licence information was incorrect. With the current release the problem reversed itself – wrong binaries, correct licence information. Neither helps. Both problems were caused by different issues.

Problem 1 – case (in)sensitivity

We develop on Microsoft Windows, which has a case-insensitive filesystem. Our webserver runs Linux, which has a case-sensitive filesystem. This can cause problems. Especially when a file with incorrect case is uploaded to the webserver by mistake. The result is two files with similar names rather than one file. Consider a file memoryValidator.inf. If we upload memoryvalidator.inf to the server it won’t replace memoryValidator.inf (as it would on a Windows machine) but will co-exist in the same directory as memoryValidator.inf. When this happens out of date version information (which is stored in memoryValidator.inf) is read because the new version information is in memoryvalidator.inf (incorrect casing).

The above has caused problems with incorrect (out of date) version information being supplied alongside correct binaries.

Problem 2 – a tale of two installers

Our x64/x86 installer actually installs two installers – one for the 32 bit binary and one for the 64 bit binary. As such there is an order dependency – build 32 bit installer, build 64 bit installer, build the x64/x86 installer that installs the 32 bit and 64 bit installers. You must build the x64/x86 installer last. If this happens out of order for any reason you can have problems as the 32 bit installer or 64 bit installer may be out of date.

Why have these problems only surfaced just now?

2014 has been a rather unusual year for us. We’ve had numerous hardware failures, lost two months of email due to a disk encryption issue and had these software release issues. The hardware failures meant we had to move the email and software release systems over to new machines. The software release system has been moved twice. Prior to moving the software release system we’d ironed out all the problems by carefully arranging everything. The problem with that is that it requires human memory to adjust the special case issues every time you change things. We’ve now changed our release procedure to include additional software rule-based checks to ensure the process of doing a release is less error prone.

Resolution

If you have been affected by this problem please login to your account and download the new binary that is available. Please ensure your browser doesn’t cache the file download and provide you with the previous version of the binary.

We’ve updated our software release controller software to include additional rules to check for incorrect build order. The webserver will be getting additional rules for case sensitive file name checking.

Conclusion

I sincerely hope the problems of the last two weeks are the last we’ll have to do with software releases. They cause inconvenience for you and cause me a lot of stress. I look forward to a return to our usual release process.

Fully functional, free for 30 days