Product
Support
Everything Else
Helix 5.2 Fixed Point Bug: Cause and Fix (Patch Program)
Helix 5.2 Fixed Point Bug

Click here to download the patch.

2003.08.06--On 31 July, we reported that a serious bug had been identified with the expanded Fixed Point field in Helix 5.2. We are pleased to report that efforts to isolate this behavior have been successful and that you can now download a patch program that will update your copy of Helix and correct the bug. If you downloaded Helix installers prior to August 8, 2002, we strongly urge you to download and apply this patch immediately. You should also delete any Helix 5.2 installers you have with a "Creation Date" prior to August 7, 2003.
If you received a CD from Helix Technologies, check the manufacture date of the CD (highlight the CD and Get Info). If the "Modified date" is prior to August 8, 2003, throw it away and contact us to request a replacement CD.

Our investigation of this problem revealed that Fixed Point data gets corrupted after a crash, when the data entered since the last successful "Save" operation is being read into the collection from its Logfile.

The data in the logfile is not corrupt, but when it loads back into Helix, the corruption occurs. Thus, if you are logging, and your Helix system crashes, stop and download the patch immediately. Remember: It is critically important that you NOT relaunch Helix before you apply this patch to your Helix application. If you allow Helix to apply the logfile, you will experience corruption of any modified fixed point field data in records that are updated.

Finally, note that if you are not logging, you are in no danger whatsoever. This is a rare exception to Helix wisdom. Please don't take this information as an endorsement of that practice. Logging is one of the most important reasons we use Helix.

Here is the accurate information regarding the various hypotheses we posted earlier:
  • Corrupted fields are easily identified, as they contain a number that is outside the legal range for fixed point numbers. It is displayed as +/-92,233,720,368,547,760.
    Correction: Corrupted fields are not necessarily easily identifed. They will either be the number shown above or as zero (0)
     
  • The updated field's old data is irretrievably lost. This is not a case of faulty display. The record data stored in the collection has literally been replaced with bad data.
    This information is (unfortunately) correct.
     
  • The problem appears to be limited to records that were created in a prior version of Helix. New records are not affected.
    Correction: Any fixed point field data that was modifed via the application will be corrupted when the logfile is applied.
     
  • The problem appears to only happen when the values are updated via posting. Both increment/decrement and insert posting have been demonstrated to exhibit this bug.
    Correction: Any fixed point field data that was modifed via the application will be corrupted when the logfile is applied.
     
  • In an indexed list, the affected fields will appear in the range of 0 to -1, typically right between the two, but sometimes interspersed with the zeros.
    This information is correct.
Important things to keep in mind:
  • If you are not using Fixed Point fields, you will not be affected by this problem.
  • If you are not using logging, you will not be affected by this problem.
  • If you do not crash while logging, you will not be affected by this bug
  • If you do crash, bear in mind that if you decide--for whatever reason--to allow that logfile to post, you will have corruption.
  • If you do crash, and you stop the logfile from posting by means of a command-period, all the data in that logfile will be lost.
  • If you have purchased 5.2 but not yet upgraded your collections, please do not do so until you apply this patch.
How do I know if there are Fixed Point fields in my collection?

From the File menu, select Export Collection Details and open that file with a text editor. Search for "Fixed Point."

Another solution is simply to open your Relations and select "View by Kind" from the "Icon" menu. Once in that view mode, locate your fields (by clicking the Field icon in the palette on the left side of the window; doing this will select your first field) and observe the "Contents" column. The words "Fixed Point" will appear there if you have such formatted fields in your collection.

Patched Version Clarification

After the patch is applied, the version number of your Helix product will remain 5.2 (018). The only way to see that it is the patched version is to look at the modified date of the file. It will be the date you patched it, not the date you enabled it.

5.2.1 is Available

Version 5.2.1, which includes this fix along with a handful of other minor fixes, was released Jan 15, 2004. Naturally, anyone who owns 5.2 is entitled to a free upgrade to 5.2.1.

Download

Download the patch here.