1
Vote

fnr seems to be choking on large (4GB+) files

description

fnr seems to be choking when it hits files > 4GB. I'm not sure which file it stopped on but all the processed files are < 4GB and some were 3GB and the remaining unprocessed files had some 4GB+ files. Note these are binary files. This is on 64-bit Win 10 with 8GB RAM. Repeated runs get error msg from Win that fnr has stopped working.

Running the cmd line version with --log fnr.log results in the below and a 0 byte fnr.log log file. Note the final "out of memory" error.

E:>E:\fnr.exe --cl --dir "E:\Temp\Agent" --fileMask "." --excludeFileMask ".dll, .exe" --skipBinaryFileDetection --showEncoding --logfile fnr.log --find "F:\Documents and Settings\USER\My Documents\Temp" --replace "E:\Temp"

E:>
Unhandled Exception: System.IO.IOException: The process cannot access the file 'E:\fnr.log' because it is being used by another process.
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, String msgPath, Boolean bFromProxy)
at System.IO.FileStream..ctor(String path, FileMode mode)
at FindAndReplace.App.CommandLineRunner.Run(String[] args)
at FindAndReplace.App.Program.Main(String[] args)

Unhandled Exception: OutOfMemoryException.

comments