Essentially, this is a hardware problem, not a perl problem. This is the explanation:
Copy utilities commonly use the CopyFile() Win32 API to copy files.For small files (where small is arbitrarily defined in the Windows source code as less than 256 kilobytes) the Windows CopyFile() API does not actually open the source file and read from it using the CreateFile() and ReadFile() APIs as might be expected.
Instead, the CopyFile() API creates a File Mapping and maps the file into virtual memory. Data is then read from the file by simply accessing this memory. As the memory is accessed, the required portions of the file are paged into memory on demand. This leverages the paging functionality of the Windows Virtual Memory Manager, but introduces the jargon of Paging into this particular file copy scenario.
Consequently, if I/O errors occur while processing a CopyFile() API for a "small" file, they will not be reported as File I/O Errors. Instead, as these errors are detected in what is effectively a paging operation (albeit unrelated to the Windows paging file), they will be reported as "Error performing inpage operation".
Additionally, errors caused by network connectivity can cause these errors. Mismatched MTU sizes or truncation of a packet at a router can result in this error when files larger than the largest packet size are copied over the network. In essence, the network connection is the media that has the physical problem.
For a fix, it sounds like you need to check out your network error stats.
Another possibility as from your description this sounds to be endemic rather than transient, try running chkdsk on the drive where the data us stored.
In reply to Re: Intermittent startup problems in Windows: “Error performing inpage operation” when loading DLLs
by BrowserUk
in thread Intermittent startup problems in Windows: “Error performing inpage operation” when loading DLLs
by mykl
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |