Reputation: 3431
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
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).
Upvotes: 0
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
Reputation: 1049
I experienced this error message because I had named my view 'View', changing it to 'Details' solved the issue.
Upvotes: -1
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
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
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
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