balint
balint

Reputation: 3431

iisexpress.exe started crashing with Access Violation in IsLocalRequest call

with the new 171010-1400 Windows build and Visual Studio Update 4 my previously working config went haywire. As I see from the windbg output, somehow iisexpress.exe fails on the first or the second request, I guess it is in connection with setting a cookie. All I see from the debug is the following:

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=????

Where can I get more information about this IsLocalRequest call? I guess IISExpress.exe is not open source.

Update1: I think the IISUTIL dll is not on the symbols server:

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

Upvotes: 8

Views: 14716

Answers (7)

Simon_Weaver
Simon_Weaver

Reputation: 146150

StackOverflow, bad enum value, self referencing properties. All great possible triggers for this error but how to find WHERE!

First of all forget IISExpress - that's just the 'messenger'.

I disabled IISExpress and ran my code in the console. Fortunately this gave me the extra message that wasn't appearing in Visual Studio when using iisexpress.

And for me it was a clumsy Stackoverflow (I added an overload recently but it called itself instead of the other method).

enter image description here

Upvotes: 0

Feargal Kavanagh
Feargal Kavanagh

Reputation: 126

In my case, it was due to having a two getters depend on each other's value in some cases.

E.g:

propA sometimes depends on propB's value

and

PropB sometimes depends on on propA's value

This causes a recursive infinite call to the properties in some cases. This causes iisExpress to hang for a while as it spits out a massive exception to the stack, then errors out with "iisexpress.exe' has exited with code 3221225477 (0xc0000005) 'Access violation'"

Upvotes: -1

OverMars
OverMars

Reputation: 1049

I experienced this error message because I had named my view 'View', changing it to 'Details' solved the issue.

Upvotes: -1

ˈvɔlə
ˈvɔlə

Reputation: 10263

In my case, the root of the problem was an StackoverflowException. There was no message in my output window which indicated this problem.

Upvotes: 11

Ivar
Ivar

Reputation: 29

I also had this problem, IIS express shut down with this error. After scratching my head for a while, i found out that it came from a wrong implementation of IDisposable in one of my classes.

Upvotes: 1

Gilberto Alexandre
Gilberto Alexandre

Reputation: 2367

For historical purposes. This happened to me because there was a code error.

In my case, an attempt to convert from one type to another using the AutoMapper.Mapper.Map(model), but without set the mapping definition. Also this call was made within an implicit operator:

public static implicit operator DestinyType (ModelType model)
{
      return Mapper.Map <DestinyType> (model);
}

My alternative was to use something like:

     public static implicit operator DestinyType (ModelType model)
     {
         var mapper = Mapper.Configuration.FindTypeMapFor <ModelType, DestinyType> ();

         if (mapper == null)
         {
             throw new InvalidOperationException ();
         }

         return Mapper.Map <DestinyType> (model);
     }

Upvotes: 4

balint
balint

Reputation: 3431

According to Microsoft (https://github.com/Microsoft/dotnet/issues/523): 1) this is a known regression in httpd.sys, soon to be fixed in a developer build 2) IIS Express pdbs will not be published, it's a "conscious decision" on their side

Upvotes: 0

Related Questions