У меня есть приложение, которое аварийно завершает работу на некоторых компьютерах с Windows, но я не могу воспроизвести проблему локально. Я получил файл дампа, но трассировка, похоже, указывает не на часть кода нашего приложения, а на некоторые внутренние вызовы Windows.
Неясно, как они активируются, поэтому мы будем признательны за любую информацию о проблеме.
Вот анализ файла дампа.
С уважением.
********************************************* *********************************** * * * Анализ исключений * * * **************************************************** ***************************** *** ВНИМАНИЕ: проверьте изображение — несоответствие контрольной суммы — дамп: 0xbece4, файл: 0xbed3f — c:\symbolcache\rpcrt4.dll\41CE1768bd000\rpcrt4.dll KEY_VALUES_STRING: 1 Ключ: AV.Разыменование Значение: НулКлассПтр Ключ: AV.Fault Значение: Прочитать Ключ: Analysis.CPU.mSec. Значение: 1156 Ключ: Analysis.Elapsed.mSec. Значение: 6228 Ключ: Analysis.IO.Other.Mb Значение: 8 Ключ: Analysis.IO.Read.Mb Значение: 22 Ключ: Analysis.IO.Write.Mb Значение: 38 Ключ: Analysis.Init.CPU.mSec. Значение: 3405 Ключ: Analysis.Init.Elapsed.mSec. Значение: 715682 Ключ: Analysis.Memory.CommitPeak.Mb. Значение: 76 Ключ: Отказ.Ведро Значение: NULL_CLASS_PTR_READ_c0000005_winnsi.dll!RpcNsiRegisterChangeNotification Ключ: Ошибка.Хеш Значение: {fa4fe29a-56a5-9456-16d4-773eb6835a43} Ключ: Timeline.OS.Boot.DeltaSec. Значение: 61 Ключ: Timeline.Process.Start.DeltaSec. Значение: 24 Ключ: WER.OS.Branch Значение: rs5_release Ключ: WER.OS.Версия Значение: 10.0.17763.1 FILE_IN_CAB: wazuh-agent.exe.3208.dmp НТГЛОБАЛФЛАГ: 0 PROCESS_BAM_CURRENT_THROTTLED: 0 PROCESS_BAM_PREVIOUS_THROTTLED: 0 APPLICATION_VERIFIER_FLAGS: 0 КОНТЕКСТ: (.ecxr) eax=00081318 ebx=ffffffff ecx=0000003c edx=00000001 esi=00081344 edi=00081318 eip=74b5823b esp=020ff108 ebp=020ff124 iopl=0 nv up ei ng nz na pe nc cs=0023 ss=002b ds=002b es=002b fs=0053 gs=002b efl=00010286 rpcrt4!NdrGetBuffer+0x3b: 74b5823b 817b04efcdab89 cmp dword ptr [ebx+4],89ABCDEFh ds

00000003=???????? Сброс области по умолчанию EXCEPTION_RECORD: (.exr -1) Адрес исключения: 74b5823b (rpcrt4!NdrGetBuffer+0x0000003b) Код исключения: c0000005 (нарушение доступа) Флаги исключений: 00000000 ЧислоПараметры: 2 Параметр[0]: 00000000 Параметр[1]: 00000003 Попытка чтения с адреса 00000003. PROCESS_NAME: wazuh-agent.exe ЧИТАТЬ_АДРЕС: 00000003 ERROR_CODE: (NTSTATUS) 0xc0000005 — инструкция по адресу 0x%p обратилась к памяти по адресу 0x%p. Память не может быть %s. EXCEPTION_CODE_STR: c0000005 EXCEPTION_PARAMETER1: 00000000 EXCEPTION_PARAMETER2: 00000003 STACK_TEXT: 020ff124 74b35bde 00081344 0000003c ffffffff rpcrt4!NdrGetBuffer+0x3b 020ff544 6f592845 6f591008 6f591340 020ff560 rpcrt4!NdrAsyncClientCall+0x1ce 020ff558 6f591ac7 020ff5cc ffffffff 00000000 winnsi!RpcNsiRegisterChangeNotification+0x23 020ff62c 6f591969 ffffffff 020ff63c 00000000 winnsi!NsiRpcRegisterChangeNotificationEx+0x147 020ff664 71837d0b ffffffff 71831f20 00000007 winnsi!NsiRpcRegisterChangeNotification+0x49 020ff698 71837c6e 7183cc50 00000000 000fd448 IPHLPAPI!InternalRegisterChangeNotification+0x7b 020ff6b0 6a76453b 00000000 6a7646d0 000fd448 IPHLPAPI!NotifyIpInterfaceChange+0x6e 020ff6f8 6a76426e 00000000 00000000 020ff71c winhttp!NetworkChangeMonitor::Startup+0x79 020ff720 6a764ead 00000000 00000000 000bba30 winhttp!StartGlobalNetworkChangeMonitor+0x4e 020ff744 6a765421 6a7deb58 00000000 00000000 winhttp!WxRegisterForNetworkChangeNotification+0x35 020ff770 6a76608f 00000000 6a765f60 000bba30 winhttp!InitializeNetworkChangeMonitor+0x64 020ff810 6a765fd7 020ffb30 6a765f60 000bba30 winhttp!INTERNET_SESSION_HANDLE_OBJECT::LoadAutomaticProxyResolvers+0x90 020ff834 6a74ec5b 020ffb30 00000000 717d1b20 winhttp!INTERNET_SESSION_HANDLE_OBJECT::SetProxySettings+0x77 020ffafc 6a74aaad 020ffb30 0000000c 00000000 winhttp!WinHttpSetOptionInternal+0x8ab 020ffb68 717d6128 717d1b20 00000004 00000000 winhttp!WinHttpOpen+0x3cd 020ffb90 717d7130 0008bb48 020ffbc8 00202004 cryptnet!InetGetBindings+0x1a 020ffbcc 717d65e8 001326d8 00000006 00202004 cryptnet!CInetSynchronousRetriever::RetriveObjectByUrl+0x160 020ffc08 717d5df9 001326d8 00000006 00202004 cryptnet!InetRetrieveEncodedObject+0x58 020ffc6c 717d5c40 001326d8 00000006 00202004 cryptnet!CObjectRetrivalManager::RetriveObjectByUrl+0x9f 020ffce8 754005c9 00132618 754005b0 020ffd54 cryptnet!CryptRetriveObjectByUrlWithTimeoutThreadProc+0x80 020ffcf8 774d777d 00132618 e958fd97 00000000 kernel32!BaseThreadInitThunk+0x19 020ffd54 774d774d ffffffff 774f6603 00000000 ntdll!__RtlUserThreadStart+0x2f 020ffd64 00000000 717d5bc0 00132618 00000000 ntdll!_RtlUserThreadStart+0x1b STACK_COMMAND: ~6 с; .ecxr; КБ ИМЯ СИМВОЛА: winnsi!RpcNsiRegisterChangeNotification+23 МОДУЛЬ_ИМЯ: виннси IMAGE_NAME: winnsi.dll FAILURE_BUCKET_ID: NULL_CLASS_PTR_READ_c0000005_winnsi.dll!RpcNsiRegisterChangeNotification ОС_ВЕРСИЯ: 10.0.17763.1 BUILDLAB_STR: rs5_release ОСПЛАТФОРМ_ТИП: x86 ОСНАЗВАНИЕ: Windows 10 IMAGE_VERSION: 10.0.17763.1 FAILURE_ID_HASH: {fa4fe29a-56a5-9456-16d4-773eb6835a43} Продолжение: MachineOwner --------- Мы уже анализировали программу с разными конфигурациями и разными средами Windows, но нам не удалось запустить эту последовательность вызовов.
Эти методы не вызываются нашим кодом напрямую, поэтому неясно, как можно избежать сбоя.