Недавно у нас возникла проблема, из-за которой все наши пулы приложений, настроенные на .NET 2.0 и интегрированный режим, дают сбой сразу после запуска.
Ничего не попадает в журнал IIS, но журнал HTTPERR каждый раз показывает одно и то же:
Line 2084: 2013-11-15 01:33:39 10.71.21.242 57020 192.168.16.26 80 HTTP/1.1 GET / - 129 Connection_Abandoned_By_ReqQueue test
Я запустил DebugDiag, зашел на сайт и получил относительно бесполезную информацию, насколько я могу судить:
In w3wp__test__PID__5196__Date__11_14_2013__Time_03_16_34PM__253__Second_Chance_Exception_E0434352.dmp the assembly instruction at KERNELBASE!RaiseException+3d in C:\Windows\System32\KERNELBASE.dll from Microsoft Corporation has caused a CLR Exception on thread 8
Трассировка стека этого потока:
Full Call Stack
Function Arg 1 Arg 2 Arg 3 Arg 4 Source
KERNELBASE!RaiseException+3d 000007fe`f9c6839c 00000000`01aed5f8 00000000`00000100 412e6d65`74737800
MSVCR110_CLR0400!_ValidateExecute+718 00000000`00000000 00000000`01aee470 00000000`00000000 00000000`00000000
ntdll!RtlRestoreContext+2e2 00000000`00000000 00000000`029b15f0 00000000`029511d0 00000000`01aeee50
clr!StrongNameTokenFromAssemblyEx+11b636 0000b6b5`b887dd2b 000007fe`00000001 00000000`01aeeeb0 00000000`01aee8e8
clr!PreBindAssemblyEx+6749 0000b6b5`b887dd2b 00000000`00000000 ffffffff`80004000 00000000`00000000
clr!CopyPDBs+8337 00000000`00bbfe20 00000000`0215cb50 000007fe`fb736a10 00000000`00000000
webengine!GetEcb+1ebe 00000000`0215cb50 00000000`010a28e8 00000000`0215cb50 00000000`00000000
webengine!GetEcb+27a1 00000000`0127e49c 00000000`00000000 00000000`00346b70 00000000`0106d520
iiscore+113f 00000000`01292648 00000000`01094c70 00000000`00000000 00000000`010a28e0
iiscore!GetProtocolManager+189eb 00000000`01094c70 00000000`00000000 00000000`00000000 00000000`01292648
iiscore+15d54 00000000`0127e494 00000000`00000012 00000000`00002710 00000000`00000000
iiscore+7cd8 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000
iiscore+a468 00000000`01292640 00000000`01291a80 00000000`01292640 00000000`00000000
iiscore+ab24 00000000`00000000 00000000`01291a20 00000000`00000000 00000000`0106b400
w3dt!UlAtqGetContextProperty+c2 00000000`0106b400 00000000`00000000 000007fe`f14f0000 00000000`0019aa90
w3dt!UlAtqGetContextProperty+8c 00000000`00000000 000007fe`fd833835 00000000`00000000 00000000`00000000
w3tp+1fba 00000000`000005ff 00000000`01291a28 000007fe`fb901080 00000000`00000000
w3tp+2024 00000000`00000000 00000000`0033fc40 00000000`0033fc40 000007fe`f14f0000
w3tp+20a1 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000
kernel32!BaseThreadInitThunk+d 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000
ntdll!RtlUserThreadStart+21 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000
Я не могу запустить WinDbg на этом, так как я не могу добраться до процесса достаточно быстро, прежде чем он выйдет из строя.
Я не совсем уверен, что могло вызвать это с этими двумя конкретными настройками (если я перейду на .NET 4.0 -ИЛИ- перейду в классический режим, сайты будут работать).
Также стоит отметить: это происходит независимо от сайта, запущенного в каждом пуле приложений - это происходит для Sitecore, Umbraco и статических сайтов (включая приложение hello world).
После длительного обращения в службу поддержки Microsoft выяснилось, что это результат того, что следующий ключ был установлен на 1:
HKLM\SOFTWARE\Microsoft\.NETFramework\OnlyUseLatestCLR
Установка его обратно на 0 решила проблему.