DW 9.17.7
We have live integration with LS running through OMNI.
What happens on occasion is either the integraion fails, or the IIS thread aborts while doing this and only sometimes when this happens the ItemType_ProductPage gets corrupted.
The integration does periodically have custom product columns (and not everyone is aware of reserved words o so the columnd are called things like EXIT and GO, etc)
I'm not exactly sure - but I suspect that when integration runs it rewrites the ItemType_ProductPage, but when it does and something goes wrong (thread aborted, or whatever), then the file gets half written.
Is it not possible that when writing a file to rather create a copy and only once successful, then remove the old and use the new - not sure what the vest way is but seems safer.
A similart thing happened with the Translations.xml file - this seems to build and get added to all the time and is used everywhere by the front end. I would have though these values would be cached instead of reading from a file - but it get hammered.