Mes pools d'applications se bloquent de manière aléatoire dans IIS 6.0 MS Debug Diag pointe sur kernel32.dll à chaque fois.System.UnauthorizedAccessException dans mscorwks.dll provoquant des plantages d'applications
Le point d'entrée est toujours mscorwks! CreateApplicationContext + bbef et le résultat est toujours une exception System.UnauthorizedAccessException.
Stack Trace:
Function Arg 1 Arg 2 Arg 3
kernel32!RaiseException+3c e0434f4d 00000001 00000001
mscorwks!GetMetaDataInternalInterface+84a9 18316b3c 00000000 00000000
mscorwks!GetAddrOfContractShutoffFlag+ac01 18316b3c 00000000 023cfbd8
mscorwks!GetAddrOfContractShutoffFlag+ac73 00000000 000e8c88 8038b2d0
mscorwks!GetAddrOfContractShutoffFlag+aca4 18316b3c 00000000 023cfbe4
mscorwks!GetAddrOfContractShutoffFlag+acb2 18316b3c acc05c33 7a399bf0
mscorwks!CoUninitializeCor+67be 00000000 023cfc1c 023cfc8c
mscorwks!CoUninitializeCor+87a1 001056e8 79fd87f6 023cfeb0
mscorwks!CorExitProcess+4ad3 023cfeb0 023cfd20 79f40574
mscorwks!CorExitProcess+4abf 001056e8 79f405a6 023cfd04
mscorwks!CorExitProcess+4b3e 000e8c88 00000000 023cfda7
mscorwks!StrongNameErrorInfo+1ddab 00000000 00000000 023cfeb0
mscorwks!StrongNameErrorInfo+1e07c 023cfeb0 00000000 00000000
mscorwks!CoUninitializeEE+4e0b 023cfeb0 023cfe5c 79f7762b
mscorwks!CoUninitializeEE+4da7 023cfeb0 acc05973 00000000
mscorwks!CoUninitializeEE+4ccd 023cfeb0 00000000 001056e8
mscorwks!GetPrivateContextsPerfCounters+f1cd 79fc24f9 00000008 023cff14
mscorwks!GetPrivateContextsPerfCounters+f1de 79fc24f9 acc058c3 00000000
mscorwks!CorExeMain+1374 00000000 00000003 00000002
mscorwks!CreateApplicationContext+bc35 000e9458 00000000 00000000
kernel32!GetModuleHandleA+df 79f9205f 000e9458 00000000
Quelqu'un sait-il ce que cela signifie et comment y remédier?
Editer: La trace de pile ci-dessus s'est révélée être un symptôme et non la cause. La trace de pile ci-dessus affiche uniquement la pile non gérée mais le problème s'est produit dans le code managé. J'ai utilisé les étapes dans ma réponse ci-dessous pour creuser dans le vidage sur incident et extraire l'exception gérée.
Votre application fait-elle quelque chose d'intéressant à ce moment-là? Peut-être charger un autre assemblage? – David
Peut-être. Nous semblons être en mesure de recréer le crash en frappant sur des rapports de cristal, mais pas de manière cohérente. –