1. ホーム
  2. iis-express

[解決済み] iisexpress.exeがIsLocalRequestの呼び出しでAccess Violationでクラッシュするようになった。

2022-02-19 22:25:27

質問

Windows の新しいビルド 171010-1400 と Visual Studio Update 4 で、以前はうまくいっていた設定がおかしくなってしまいました。windbgの出力からわかるように、なぜかiisexpress.exeは最初か2回目のリクエストで失敗します、私はそれがクッキーの設定に関連していると思います。 デバッグで確認できるのは以下の通りです。

ModLoad: 00007ff9`417a0000 00007ff9`417cb000   C:\WINDOWS\system32\dwmapi.dll
18312 w3wphost!W3WP_HOST::IncrementMessages [w3wphost.cxx @ 4073]:IncrementMessages called
(4a30.4788): Access violation - code c0000005 (first chance)
First chance exceptions are reported before any exception handling.
This exception may be expected and handled.
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for C:\Program Files\IIS Express\IISUTIL2.dll - 
IISUTIL2!IsLocalRequest+0x2e:
00007ff9`02766d5e 0fb702          movzx   eax,word ptr [rdx] ds:00000000`00000000=????

このIsLocalRequestの呼び出しについて、詳しい情報はどこで入手できますか?IISExpress.exeはオープンソースではないのでしょう。

更新1:IISUTILのdllがシンボルサーバにないようです。

BGHELP: ntdll - public symbols  
        c:\temp\localsymbols\ntdll.pdb\186E113737814D3E2749831F5FE67D621\ntdll.pdb
Symbol search path is: SRV*c:\temp\localsymbols*http://msdl.microsoft.com/download/symbols
Expanded Symbol search path is: srv*c:\temp\localsymbols*http://msdl.microsoft.com/download/symbols

************* Symbol Path validation summary **************
Response                         Time (ms)     Location
Deferred                                       SRV*c:\temp\localsymbols*http://msdl.microsoft.com/download/symbols
SYMSRV:  BYINDEX: 0x16
         c:\temp\localsymbols*http://msdl.microsoft.com/download/symbols
         iisutil2.pdb
         AA5E50675E9E42B0950F0C58B916E2671
SYMSRV:  UNC: c:\temp\localsymbols\iisutil2.pdb\AA5E50675E9E42B0950F0C58B916E2671\iisutil2.pdb - path not found
SYMSRV:  UNC: c:\temp\localsymbols\iisutil2.pdb\AA5E50675E9E42B0950F0C58B916E2671\iisutil2.pd_ - path not found
SYMSRV:  UNC: c:\temp\localsymbols\iisutil2.pdb\AA5E50675E9E42B0950F0C58B916E2671\file.ptr - path not found
SYMSRV:  HTTPGET: /download/symbols/iisutil2.pdb/AA5E50675E9E42B0950F0C58B916E2671/iisutil2.pdb
SYMSRV:  HttpQueryInfo: 80190194 - HTTP_STATUS_NOT_FOUND
SYMSRV:  HTTPGET: /download/symbols/iisutil2.pdb/AA5E50675E9E42B0950F0C58B916E2671/iisutil2.pd_
SYMSRV:  HttpQueryInfo: 80190194 - HTTP_STATUS_NOT_FOUND
SYMSRV:  HTTPGET: /download/symbols/iisutil2.pdb/AA5E50675E9E42B0950F0C58B916E2671/file.ptr

SYMSRV:  HttpQueryInfo: 80190194 - HTTP_STATUS_NOT_FOUND
SYMSRV:  RESULT: 0x80190194
DBGHELP: C:\Program Files\IIS Express\iisutil2.pdb - file not found
DBGHELP: iisutil2.pdb - file not found
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for C:\Program Files\IIS Express\IISUTIL2.dll - 
DBGHELP: IISUTIL2 - export symbols

解決方法は?

マイクロソフトによると( https://github.com/Microsoft/dotnet/issues/523 ): 1) これはhttpd.sysの既知のリグレッションで、まもなく開発者用ビルドで修正される予定です。 2) IIS Expressのpdbsは公開されない予定です。