In all of my years of toiling over TPS files, I have never seen a situation such as this.
We have an application that uses TPS with superfiles as its current file format. The file is basically just a vehicle to get the data in and out of the app. When you load the file, it copies the records into corresponding IMDD tables, then all of the TPS tables are closed.
All of the data is saved to a new TPS file when saved.
I have dealt with quite a few TPS corruptions over the years, and have gotten pretty good at recovering data. This one situation, however, is a bit unique. The repaired file looks perfectly fine. It loads up into our app. The IMDD tables are filled. The TPS files are then closed. No errors detected.
However, after that bad file is loaded, the TPS file definitions in the app are in some kind of bad state that I do not know how to recognize. As soon as I try to set PROP:Name to one of the TPS tables, the app freezes. No crash, just freezes.
It doesn’t seem to matter “which” table I try to set PROP:Name on. It always freezes.
I checked STATUS(SELF.File), and all of the things I know how to check for. I made sure my &File reference really does point to the right file.
I wonder if anyone has any ideas on what might be going on here, or how to further diagnose the issue.
By the time this lockup happens, all of the tables are closed, and the originally loaded TPS file is gone. So I don’t think it is a file handle issue.
Thanks for any ideas or suggestions of how to recognize that a file might be bad when it seems good ![]()