#c# #.net #windows #dll #fast-fail
Вопрос:
У нас есть приложение Windows forms C# .Net Framework, ссылающееся на несколько собственных библиотек DLL c/c , которое тестируется несколькими клиентами.
На некоторых машинах он аварийно завершается без какого-либо сообщения об ошибке/всплывающего окна (просто сразу же завершается), это происходило только и всегда на выбранных таким образом машинах (все компьютеры, на которых происходит сбой приложения, и те, на которых никогда не возникало проблем с приложением, имеют последнюю версию Windows 10, и у всех отключен защитник Windows/Безопасность, потому что это вызывало проблемы).
Приложение завершает работу/завершается точно после инициирования http-запроса, поэтому в этот момент оно загружает библиотеку .Net Framework System.Net.Http
, которая входит в состав основного исполняемого файла (не знаю, почему VS включил почти все стандартные библиотеки, которые мы используем в приложении).
В любом случае после отладки приложения с помощью WinDbg журналы показывают, что при инициировании http-запроса приложение загружает эту dll «System.Net.Http.ni.dll» который загружает собственную библиотеку dll SysWOW64WINNSI.DLL
, и вот тут fast_fail()
-то и появляется , похоже, что он вызывается либо из System.Net.Http.ni.dll
, либо SysWOW64WINNSI.DLL
из точного подкода 0x2 FAST_FAIL_STACK_COOKIE_CHECK_FAILURE
.
Мы подумали, что это, возможно, вызвано конфликтами зависимостей, после устранения всех конфликтов все равно происходит сбой, на данный момент мы не знаем, где искать причину.
Немного информации:
- Основное использование приложения/EXE .Сетевая структура v4.6.2
- Обратитесь к некоторым другим проектам с .Net Framework 4.6
- Приложение развернуто в режиме выпуска и запутано (включая упаковщик/компрессор).
Любая помощь/информация будет признательна, журналы WinDbg включены ниже.
Microsoft (R) Windows Debugger Version 10.0.22473.1005 X86 Copyright (c) Microsoft Corporation. All rights reserved. CommandLine: C:Program Files (x86)COMPORT PRO LOGGERCOMPORT PRO LOGGER.exe ************* Path validation summary ************** Response Time (ms) Location Deferred srv* Symbol search path is: srv* Executable search path is: ModLoad: 00040000 000a0000 image00040000 ModLoad: 76f20000 770c3000 ntdll.dll ModLoad: 6db80000 6dbd2000 C:WINDOWSSysWOW64MSCOREE.DLL ModLoad: 74f70000 75060000 C:WINDOWSSysWOW64KERNEL32.dll ModLoad: 76960000 76b74000 C:WINDOWSSysWOW64KERNELBASE.dll ModLoad: 74540000 745df000 C:WINDOWSSysWOW64apphelp.dll (38c8.313c): Break instruction exception - code 80000003 (first chance) eax=00000000 ebx=00000000 ecx=2af50000 edx=00000000 esi=76f32054 edi=76f3261c eip=76fd1ba2 esp=004ff234 ebp=004ff260 iopl=0 nv up ei pl zr na pe nc cs=0023 ss=002b ds=002b es=002b fs=0053 gs=002b efl=00000246 ntdll!LdrpDoDebuggerBreak 0x2b: 76fd1ba2 cc int 3 0:000gt; g ModLoad: 757a0000 7581a000 C:WINDOWSSysWOW64ADVAPI32.dll ModLoad: 76cf0000 76daf000 C:WINDOWSSysWOW64msvcrt.dll ModLoad: 75160000 751d5000 C:WINDOWSSysWOW64sechost.dll ModLoad: 75a70000 75b2f000 C:WINDOWSSysWOW64RPCRT4.dll ModLoad: 6da70000 6dafd000 C:WindowsMicrosoft.NETFrameworkv4.0.30319mscoreei.dll ModLoad: 74ef0000 74f35000 C:WINDOWSSysWOW64SHLWAPI.dll ModLoad: 74530000 7453f000 C:WINDOWSSysWOW64kernel.appcore.dll ModLoad: 74320000 74328000 C:WINDOWSSysWOW64VERSION.dll ModLoad: 6d2b0000 6da61000 C:WindowsMicrosoft.NETFrameworkv4.0.30319clr.dll ModLoad: 75370000 75510000 C:WINDOWSSysWOW64USER32.dll ModLoad: 750f0000 75108000 C:WINDOWSSysWOW64win32u.dll ModLoad: 6d290000 6d2a4000 C:WINDOWSSysWOW64VCRUNTIME140_CLR0400.dll ModLoad: 6d1e0000 6d28b000 C:WINDOWSSysWOW64ucrtbase_clr0400.dll ModLoad: 74f40000 74f64000 C:WINDOWSSysWOW64GDI32.dll ModLoad: 751e0000 752bc000 C:WINDOWSSysWOW64gdi32full.dll ModLoad: 76e90000 76f0b000 C:WINDOWSSysWOW64msvcp_win.dll ModLoad: 76530000 76650000 C:WINDOWSSysWOW64ucrtbase.dll ModLoad: 755f0000 75615000 C:WINDOWSSysWOW64IMM32.DLL ModLoad: 766d0000 76951000 C:WINDOWSSysWOW64combase.dll (38c8.313c): Unknown exception - code 04242420 (first chance) ModLoad: 75060000 75066000 C:WINDOWSSysWOW64psapi.dll ModLoad: 6a410000 6b81e000 C:WINDOWSassemblyNativeImages_v4.0.30319_32mscorlib513c750059af8bd28ff8bd9fcb9e2316mscorlib.ni.dll ModLoad: 75620000 75703000 C:WINDOWSSysWOW64ole32.dll ModLoad: 766d0000 76951000 C:WINDOWSSysWOW64combase.dll ModLoad: 75070000 750cf000 C:WINDOWSSysWOW64bcryptPrimitives.dll ModLoad: 744b0000 74524000 C:WINDOWSSysWOW64uxtheme.dll ModLoad: 6fe20000 6fe8c000 C:Program FilesTeamViewertv_w32.dll ModLoad: 75b30000 760e3000 C:WINDOWSSysWOW64SHELL32.dll ModLoad: 6d150000 6d1da000 C:WindowsMicrosoft.NETFrameworkv4.0.30319clrjit.dll ModLoad: 76db0000 76e46000 C:WINDOWSSysWOW64OLEAUT32.dll ModLoad: 747a0000 747c5000 C:WINDOWSSysWOW64wldp.dll ModLoad: 72440000 72452000 C:WINDOWSSysWOW64amsi.dll ModLoad: 74290000 742b5000 C:WINDOWSSysWOW64USERENV.dll ModLoad: 73ac0000 73ad8000 C:WINDOWSSysWOW64profapi.dll ModLoad: 723d0000 7243c000 C:ProgramDataMicrosoftWindows DefenderPlatform4.18.2110.6-0X86MpOav.dll ModLoad: 6d070000 6d150000 C:ProgramDataMicrosoftWindows DefenderPlatform4.18.2110.6-0X86MPCLIENT.DLL ModLoad: 75820000 7591a000 C:WINDOWSSysWOW64CRYPT32.dll ModLoad: 75110000 75157000 C:WINDOWSSysWOW64WINTRUST.dll ModLoad: 6fb20000 6fb2e000 C:WINDOWSSysWOW64MSASN1.dll ModLoad: 70170000 7018e000 C:WINDOWSSysWOW64gpapi.dll ModLoad: 0d790000 0dd36000 System.Windows.Forms.dll ModLoad: 0dd40000 0e2e6000 System.Windows.Forms.dll ModLoad: 6c610000 6d066000 C:WINDOWSassemblyNativeImages_v4.0.30319_32System7eff558bb25b205bc169e86e89032f9dSystem.ni.dll ModLoad: 0d7d0000 0d862000 System.Drawing.dll ModLoad: 0d870000 0d902000 System.Drawing.dll ModLoad: 044c0000 044cc000 J2534DotNet.dll ModLoad: 044d0000 044dc000 J2534DotNet.dll ModLoad: 0a4f0000 0a5a0000 Newtonsoft.Json.dll ModLoad: 0a5a0000 0a650000 Newtonsoft.Json.dll ModLoad: 73ae0000 73af3000 C:WINDOWSSysWOW64CRYPTSP.dll ModLoad: 721a0000 721cf000 C:WINDOWSSysWOW64rsaenh.dll ModLoad: 750d0000 750e9000 C:WINDOWSSysWOW64bcrypt.dll ModLoad: 72190000 7219a000 C:WINDOWSSysWOW64CRYPTBASE.dll ModLoad: 66d20000 67538000 C:WINDOWSassemblyNativeImages_v4.0.30319_32System.Core70fc8279dc4f52624232456a2818ede8System.Core.ni.dll ModLoad: 0a560000 0a582000 System.Numerics.dll ModLoad: 0a650000 0a672000 System.Numerics.dll ModLoad: 6c330000 6c604000 C:WINDOWSassemblyNativeImages_v4.0.30319_32System.Runteb92aa12#512d278a3518e7bcecfa4b0ad08be747System.Runtime.Serialization.ni.dll ModLoad: 6bfd0000 6c327000 System.Data.dll ModLoad: 0a780000 0aad7000 System.Data.dll ModLoad: 6bfd0000 6c327000 C:WINDOWSMicrosoft.NetassemblyGAC_32System.Datav4.0_4.0.0.0__b77a5c561934e089System.Data.dll ModLoad: 76660000 766c3000 C:WINDOWSSysWOW64WS2_32.dll ModLoad: 665a0000 66d14000 C:WINDOWSassemblyNativeImages_v4.0.30319_32System.Xml8c6675e2ff4bb46151e9d8752fbedb3aSystem.Xml.ni.dll ModLoad: 6bc80000 6bd86000 C:WINDOWSassemblyNativeImages_v4.0.30319_32System.Configuration18a0b01e97ce2f2ff1a5a80c9c845f2aSystem.Configuration.ni.dll ModLoad: 747d0000 74dd8000 C:WINDOWSSysWOW64windows.storage.dll ModLoad: 75710000 75797000 C:WINDOWSSysWOW64SHCORE.dll ModLoad: 6bbf0000 6bc7d000 C:WINDOWSWinSxSx86_microsoft.windows.common-controls_6595b64144ccf1df_5.82.19041.1110_none_c0da534e38c01f4dcomctl32.dll ModLoad: 0ac80000 0ac8a000 Accessibility.dll ModLoad: 0ac90000 0ac9a000 Accessibility.dll ModLoad: 735e0000 73749000 C:WINDOWSWinSxSx86_microsoft.windows.gdiplus_6595b64144ccf1df_1.1.19041.1348_none_d94f9953e1060d01gdiplus.dll ModLoad: 6b9e0000 6bbf0000 C:WINDOWSSysWOW64DWrite.dll ModLoad: 75510000 755e3000 C:WINDOWSSysWOW64MSCTF.dll ModLoad: 72bc0000 72c54000 C:WINDOWSSysWOW64TextShaping.dll ModLoad: 73750000 73960000 C:WINDOWSWinSxSx86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.19041.1110_none_a8625c1886757984comctl32.dll ModLoad: 0b170000 0b1e0000 AutoUpdater.NET.dll ModLoad: 0b1e0000 0b250000 AutoUpdater.NET.dll ModLoad: 75060000 75066000 C:WINDOWSSysWOW64psapi.dll ModLoad: 6b8f0000 6b9d3000 C:WINDOWSSysWOW64rasapi32.dll ModLoad: 6bfa0000 6bfcb000 C:WINDOWSSysWOW64rasman.dll ModLoad: 6bf80000 6bf91000 C:WINDOWSSysWOW64rtutils.dll ModLoad: 72240000 72292000 C:WINDOWSSysWOW64mswsock.dll ModLoad: 73510000 735db000 C:WINDOWSSysWOW64winhttp.dll ModLoad: 6bf60000 6bf72000 C:WINDOWSSysWOW64OnDemandConnRouteHelper.dll ModLoad: 742c0000 742f2000 C:WINDOWSSysWOW64IPHLPAPI.DLL ModLoad: 75340000 75347000 C:WINDOWSSysWOW64NSI.dll ModLoad: 723b0000 723c4000 C:WINDOWSSysWOW64dhcpcsvc6.DLL ModLoad: 730c0000 73179000 C:WINDOWSSysWOW64textinputframework.dll ModLoad: 72da0000 7301e000 C:WINDOWSSysWOW64CoreUIComponents.dll ModLoad: 73020000 730bb000 C:WINDOWSSysWOW64CoreMessaging.dll ModLoad: 72cc0000 72d9b000 C:WINDOWSSysWOW64wintypes.dll ModLoad: 0cec0000 0cf9b000 C:WINDOWSSysWOW64wintypes.dll ModLoad: 73a90000 73ab9000 C:WINDOWSSysWOW64ntmarta.dll ModLoad: 72390000 723a6000 C:WINDOWSSysWOW64dhcpcsvc.DLL ModLoad: 72c60000 72cb3000 C:WINDOWSSysWOW64Oleacc.dll ModLoad: 722b0000 72341000 C:WINDOWSSysWOW64DNSAPI.dll ModLoad: 752c0000 7533e000 C:WINDOWSSysWOW64clbcatq.dll ModLoad: 69c30000 6a086000 C:WINDOWSSysWOW64wininet.dll ModLoad: 73b80000 73ba1000 C:WINDOWSSysWOW64SspiCli.dll ModLoad: 717a0000 719cb000 C:WINDOWSSysWOW64iertutil.dll (38c8.cb8): C EH exception - code e06d7363 (first chance) (38c8.cb8): C EH exception - code e06d7363 (first chance) (38c8.cb8): C EH exception - code e06d7363 (first chance) (38c8.cb8): CLR exception - code e0434352 (first chance) ModLoad: 0c840000 0c84c000 J2534DotNet.Logger.dll ModLoad: 0c850000 0c85c000 J2534DotNet.Logger.dll ModLoad: 6be30000 6bea9000 C:WINDOWSSysWOW64op20pt32.dll ModLoad: 760f0000 7652c000 C:WINDOWSSysWOW64SETUPAPI.dll ModLoad: 76e50000 76e8b000 C:WINDOWSSysWOW64cfgmgr32.dll ModLoad: 6fd20000 6fd4b000 C:WINDOWSSysWOW64DEVOBJ.dll ModLoad: 0c870000 0c87a000 ComportCommon.dll ModLoad: 0d0c0000 0d0ca000 ComportCommon.dll ModLoad: 6b860000 6b8e9000 C:WINDOWSassemblyNativeImages_v4.0.30319_32System.Net.Http7b88268960f1e1dd38114f5592ebce8dSystem.Net.Http.ni.dll ModLoad: 6fe90000 6fe98000 C:WINDOWSSysWOW64WINNSI.DLL (38c8.313c): Security check failure or stack buffer overrun - code c0000409 (!!! second chance !!!) Subcode: 0x2 FAST_FAIL_STACK_COOKIE_CHECK_FAILURE eax=00000001 ebx=004fd700 ecx=00000002 edx=000001e9 esi=004fd700 edi=00000000 eip=6d8bd448 esp=004fd354 ebp=004fd678 iopl=0 nv up ei pl nz na po nc cs=0023 ss=002b ds=002b es=002b fs=0053 gs=002b efl=00200202 clr!__report_gsfailure 0x17: 6d8bd448 cd29 int 29h
Комментарии:
1. @HansPassant В этом проблема, я не могу воспроизвести проблему на своей машине или на любой другой, к которой у меня есть легкий доступ, но все же я могу связаться с компьютерами, на которых возникла проблема, и установить инструменты для отладки, но журналы windgb-это все, что у меня есть, вы знаете какой-либо другой инструмент/метод для получения дополнительной информации? Что касается защитника, то после того, как мы запутали защитника приложений, он начал распознавать исполняемый файл как угрозу/вредоносное ПО, на данный момент мы отключаем его в качестве обходного пути…