Edit (in response to comments): Actually, I don't think it has anything to do with PE files being optimized in some special fashion, because they say loading via LoadLibrary(Ex) can cause this issue too, and those are very much user-mode constructs, and hence can't mess with the caching/paging behavior (which are lower, in the kernel). AFAIK the only kernel-mode component to them is to just create a file mapping (NtCreateSection) and after that all they do is a bunch of user-mode juggling (fixing up relocations, loading other libraries that are depended on, calling entrypoints, etc.).
So my speculation is that this bug is a race condition between the cleanup of a dirty memory mapped section of a file and the reading of the same file contents in a separate mapping.
Memory mapped I/O is very much normal I/O. Normal, as in "common" or "usual".
> Memory mapped I/O is very much normal I/O. Normal, as in "common" or "usual".
You know well what I meant.
So while I did know what you meant, I found your comment misleading to someone who isn't familiar with the subject.
Too many programmers misunderstand and are scared of memory mapping as it is.