Nous avons une série d'applications ASP.Net Web API 2.0 qui fonctionnent sur un serveur commun (Server 2012 avec IIS 8.5). Chaque application est dans son propre pool d'applications. La pile est .NET 4.5, le pilote RabbitMQ 3.6.6 et le pilote MongoDB 1.11, postsharp express.
Récemment, les applications ont commencé à se bloquer à des intervalles aléatoires avec des exceptions de violation d'accès.
L'examen des Crash Dumps n'a donné aucune information particulièrement utile... du moins pas pour moi. Voici les deux raisons (constantes) des crashs :
In w3wp.exe.13880.dmp the assembly instruction at ntdll!RtlpxLookupFunctionTable+3b in C:\Windows\System32\ntdll.dll from Microsoft Corporation has caused an access violation exception (0xC0000005) when trying to write to memory location 0x06d00ff8 on thread 0
In w3wp.exe.1628.dmp the assembly instruction at ntdll!RtlAcquireSRWLockShared+b in C:\Windows\System32\ntdll.dll from Microsoft Corporation has caused an access violation exception (0xC0000005) when trying to write to memory location 0x611e0ff8 on thread 0
De plus, tous les dumps semblent commencer la trace de la pile pour le crash (et plusieurs autres threads) avec :
kernel32!ExitProcessImplementation+a
mscoreei!RuntimeDesc::ShutdownAllActiveRuntimes+27b
msvcrt!_crtCorExitProcess+59
msvcrt!_crtExitProcess+d
msvcrt!doexit+15b
w3wp!ParseCommandLine+bec
kernel32!BaseThreadInitThunk+22
ntdll!RtlUserThreadStart+34
Avez-vous des idées pour déboguer ce problème plus efficacement ? J'ai essayé différentes méthodes de vidage de la mémoire, de journalisation et de débogage de la mémoire gérée à partir du vidage... mais sans succès jusqu'à présent. Toute indication serait appréciée.