After updating our servers to .NET framework 4.5.1, our application will just stop working after sometime. Our application uses dynamically loaded DLL through reflection. Proc Mon and FusLogVw show that the DLLs are loaded correctly, but at the point where the code tries to use Invoke (a member or a method), the application generates a System.Reflection.TargetInvocationException. Since our application is located on a mapped network drive, I stumbled upon KB2536487 (https://support.microsoft.com/en-us/kb/2536487).
Using WinDbg;
(6d4c.6610): In-page I/O error ffffffffc00000c4 - code c0000006 (first chance)
First chance exceptions are reported before any exception handling.
This exception may be expected and handled.
eax=047639e4 ebx=000039e4 ecx=00729ffc edx=000039e4 esi=047639e4 edi=00729ffc
eip=6cf19e56 esp=002abc10 ebp=002abc5c iopl=0 nv up ei pl nz na pe nc
cs=0023 ss=002b ds=002b es=002b fs=0053 gs=002b efl=00210206
clr!PEDecoder::CheckILMethod+0x43:
6cf19e56 8a06 mov al,byte ptr [esi] ds:002b:047639e4=??
0:000> g
When I Googled In-page I/O error, they all pointed to the FCB issue when multiple users reference the same file on a network drive. We only have two or three occurrences of this in a year when running on .NET Framework 4.0, but after upgrading to 4.5.1 or higher, we are seeing the problem almost every day now. Only reboot can clear the error for a short time. So I'm wondering if something in 4.5.1 and up that has changed that made the FCB issue with Windows Server 2008/R2 more pronounced.