|
It does read and write files. How would a disk indexer cause disk errors? That might be something I could do something about.
It shouldn't, but I think we've all sometimes seen strange behavior of all sorts in Windows. Especially with third-party software (e.g. antivirus updaters/scanners). For example, anything hogging CPU or locking down a file long enough could possibily cause problems, but they're not too difficult to catch if you've at least minimal error handling in place on the Lua side. I'm definitely not thinking of file-related problems as the most probable cause for what you're experiencing, but I mentioned it just in case.
Anyway, you can check for it by logging all file access from your program with a tool such as sysinternal's filemon (now "process monitor", I think) and checking the log file for errors when it happens.
First thing, though, would be to find a way to reproduce the problem, or at least reproduce it frequently enough for tests to make sense,by running the program continuously, possibly with (semi-)random data to see if some datasets are worse than others (remember to record or write out the random seed to be able to reproduce it). I just used this technique to find a nasty C++ bug of mine :-) Then I'd do the interference test (shutting down all unneeded services and restarting them one by one at wide intervals), then the diskmon log check and the "clean Windows" VMWare check that has been suggested.
I forgot: if you're using temporary files, how did you create them? Enrico P.S. Of course it *could* still be a pure Lua-application problem.