6 Replies Latest reply on Nov 10, 2009 7:22 AM by TSGal

    Bad file structure caused by Custom Functions (also with NEW files).



      Bad file structure caused by Custom Functions (also with NEW files).

      Description of the issue

       FileMaker Product(s) involved:FileMaker Pro 10.01 Adv (Mac), FileMaker Pro 9.03 Adv (Mac and PC) Operating System(s) involved:OSX 10.4.11, OSX 10.5.6, Win XP SP3, Win XP Pro SP3 and others Detailed description of the issue:FM 10 recovery logfile reports bad file structure (also when analyzing really FRESH NEW FILES!) in the ORIGINAL file. We've found out that Custom Functions with certain internal IDs (readable in the XML DDR) are the reason for it.Involved internal CF IDs are 16, 17, 20, 21, 22, 23, 29 (tested from 1 to 50).By the way: Any field or CF which uses another CF with one of the above IDs will be "changed" in the recovered file by the recovery-tool. This is applicable to FM 10 as well as FM 9.   Exact steps to reproduce the issue: 1. generate a completely new file with FM 9 Adv or FM 10 Adv (both version will generate the same issue)2. simply close the field definition window with OK, do not create fields etc.3. open window for administering "Custom Functions"4. create thirty Custom Functions (name them "x1" - "x30"). While doing that, do NOT DELETE any Custom Function, because for later testing, the CF "x16" should really have the internal id 16 - this is important. Leave Parameters and calculation text blank **5. close the Custom Function window clicking OK.6. create a new field (name is all the same). Data type "Text" **7. entering the calculation definition in "Auto Enter" just type x16 - which is the reference to the CF with ID16, generated before.8. close all windows confirming with OK. close the DB.9. in order to generate the logfile, start FM 10, choose "Recover...", selecting the just created file. We won't need the recovered file, we are only interested in the logfile!10. choose a location for the recovered copy, start recovery11. when finished, a dialog announces (among other things): "Structure scanned: [n] objects changed". In the logfile, the logtext "Standard options for [...] changed" and other confusing correction messages show up directly beyond the affected fields. Every field which references a CF with an ID of 16, 17, 20, 21, 22, 23, 29 will be changed (tested from ID 1 to ID 50).  Expected Result:New files should never be reported as damaged. This would be confusing and dangerous as well.The recovered copy of a fresh new file should never be unusable, because it is expected to be clean! Actual Result:New files containing the above objects/conditions are reported as damaged. Additional testing variations: - for every test variation we have completely begun "from Scratch" (new file provided)- uninstalled all plugins- German and English language version tested- in opposite to fields and CFs, scripts which reference the affected CFs won't cause an error or correction message in the log- ** it made no difference whether the CFs had at least one parameter or no parameter at all- ** different naming of the CFs has not changed anything- ** it made no difference whether the calculation text of the CFs was empty or not empty- ** the data type of the field made no difference Any workarounds that we have found:None. It's an internal FileMaker bug.