There were known bugs in FM 10 Recover, where a custom function could get scrambled. Hopefully they are fixed
see here under "FileMaker 10":
not sure why going from FM 9 to 11 was a problem.
and since Recover is a black box, we really can't be sure what is checked
> The sad part is that this file had been edited for years using only FMP 9 and during the last 3 years they constantly fought with data corruption and had to restore from backup or use file recovery (always using 9 so the bigger issue wasn't being reported). Hope someone finds this useful.
> So, looks like recovery log doesn't have a way to report directly to the fitness of custom functions
Going from 9 to 11 wasn't a problem. The corruption was caused when it was managed with 9 and served with 9. They never used 10 in this environment and 90% are still using 9. (The corruption was most likely when they had a server melt down after losing its coolant 4 years ago). 9 never reported the issue when the files were verified. The issue is that Recovery, under 10, 11 or 12 can't report corrupt Custom Functions but it will give you a warning that you should immediately stop using the file and go to a backup. Well it just so happened that every backup for the past 4 years had the corruption. 9 never saw it but it might have been serious enough to cause data corruption (they would get data corruption if you attempted to manage the fields and calcs when logged into it via FMS. You could only stop the server, edit the file then replace it and restart the server. And sometimes restarting the server gracefully would cause corruption.
Time will tell if the fixed Custom Function will stop the corruption. I'm just providing a clue for people trying to resolve data corruption. They might want look at their custom functions. Maybe the next version will look at custom functions a little different and provide a better report.
Thanks for the tip, Dan.
... and please report it as a possible issue
> Everything now checks out. So, looks like recovery log doesn't have a way to report directly to the fitness of custom functions. It only reports bad calculations, which may or may not use a CF.
UPDATE: I finally convinced them to upgrade to FMS 11. The biggest issue we had is that if you attempted to edit the database while it was being hosted the database would be corrupt. Every night the verification would fail. We switched to 11 and we can now edit the database live and the verification works. I suspect the FMS 9 was too old and flaky.
Are users on the file when you are editing it? This in itself can cause data corruption.