BUG: Windows 11 behind IIS WebFarm, error with ARRhelper

RvdH 6 Reputation points
2023-08-27T10:36:47.2+00:00

I have a few old (classic) asp websites on a system located behind a WebFarm on IIS (Application Request Routing)

The application pool for these asp websites runs in 32-bit mode, Classic mode with .NET Runtime version 2.0, as soon as i request such asp website i am presented with: 

Service Unavailable


HTTP Error 503. The service is unavailable.

Windows Eventviewer shows (sorry it is in Dutch):

Naam van toepassing met fout: w3wp.exe, versie: 10.0.22621.1, tijdstempel: 0xb182c367
Naam van module met fout: iiscore.dll, versie: 10.0.22621.608, tijdstempel: 0xa2e34fb2
Uitzonderingscode: 0xc0000005
Foutmarge: 0x0000a6c9
Id van proces met fout: 0x0x4360
Starttijd van toepassing met fout: 0x0x1D9D860D7D23910
Pad naar toepassing met fout: C:\WINDOWS\SysWOW64\inetsrv\w3wp.exe
Pad naar module met fout: C:\WINDOWS\system32\inetsrv\iiscore.dll
Rapport-id: d71f0338-7209-4033-9002-98556c07f2f6
Volledige pakketnaam met fout:
Relatieve toepassings-id van pakket met fout:

I also have a Windows Error Report listing in the eventlog:

Foutbucket , type 0
Naam van gebeurtenis: APPCRASH
Antwoord: Niet beschikbaar
Id van CAB-bestand: 0

Handtekening van probleem:
P1: w3wp.exe
P2: 10.0.22621.1
P3: b182c367
P4: iiscore.dll
P5: 10.0.22621.608
P6: a2e34fb2
P7: c0000005
P8: 0000a6c9
P9:
P10:

Toegevoegde bestanden:
\\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WER.08c28bb1-7156-4947-8c22-d62c196ab36e.tmp.mdmp
\\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WER.13bb0e15-7494-4751-9ddc-c96c442b7854.tmp.WERInternalMetadata.xml
\\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WER.bcef22c6-f27c-470f-a1ff-492f828e3a11.tmp.csv
\\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WER.4901b4e4-c522-4d2e-8531-b6c745de9280.tmp.txt

Deze bestanden zijn mogelijk hier beschikbaar:
NULL

Analysesymbool:
Opnieuw zoeken naar oplossing: 0
Rapport-id: 26178941-e738-40f0-84e8-91ec53d51a58
Rapportstatus: 134217728
Opgedeelde bucket:
GUID van CAB-bestand: 0

WinDbg (preview) mdmp

!analyze -v
*******************************************************************************
*                                                                             *
*                        Exception Analysis                                   *
*                                                                             *
*******************************************************************************

*** WARNING: Check Image - Checksum mismatch - Dump: 0x3c279, File: 0x3cdc7 - C:\ProgramData\Dbg\sym\iiscore.dll\A2E34FB23f000\iiscore.dll

KEY_VALUES_STRING: 1

    Key  : AV.Fault
    Value: Write

    Key  : Analysis.CPU.mSec
    Value: 9374

    Key  : Analysis.Elapsed.mSec
    Value: 182349

    Key  : Analysis.IO.Other.Mb
    Value: 71

    Key  : Analysis.IO.Read.Mb
    Value: 1

    Key  : Analysis.IO.Write.Mb
    Value: 124

    Key  : Analysis.Init.CPU.mSec
    Value: 218

    Key  : Analysis.Init.Elapsed.mSec
    Value: 127191

    Key  : Analysis.Memory.CommitPeak.Mb
    Value: 132

    Key  : CLR.Engine
    Value: MSCORWKS

    Key  : CLR.NOSOS
    Value: 1

    Key  : CLR.Version
    Value: 2.0.50727.9174

    Key  : Failure.Bucket
    Value: INVALID_POINTER_WRITE_NOSOS_c0000005_iiscore.dll!W3_SERVER::Initialize

    Key  : Failure.Hash
    Value: {9bac41b3-2f45-d1cb-67a0-f4c2319a6b83}

    Key  : Timeline.Process.Start.DeltaSec
    Value: 1

    Key  : WER.OS.Branch
    Value: ni_release

    Key  : WER.OS.Version
    Value: 10.0.22621.1

    Key  : WER.Process.Version
    Value: 10.0.22621.1


FILE_IN_CAB:  WER.26273a21-2923-4bff-9c69-99934ad3ed9e.tmp.mdmp

NTGLOBALFLAG:  0

APPLICATION_VERIFIER_FLAGS:  0

CONTEXT:  (.ecxr)eax=053fda38 ebx=77770000 ecx=03b5aa95 edx=00000020 esi=52c8528c edi=00000000
eip=52c8a6c9 esp=0565f3d8 ebp=0565f5a4 iopl=0         nv up ei pl zr na pe nc
cs=0023  ss=002b  ds=002b  es=002b  fs=0053  gs=002b             efl=00010246
iiscore!W3_SERVER::Initialize+0xab0:
52c8a6c9 c7431011000000  mov     dword ptr [ebx+10h],11h ds:002b:77770010=000000b8
Resetting default scope

EXCEPTION_RECORD:  (.exr -1)ExceptionAddress: 52c8a6c9 (iiscore!W3_SERVER::Initialize+0x00000ab0)
   ExceptionCode: c0000005 (Access violation)
  ExceptionFlags: 00000000
NumberParameters: 2
   Parameter[0]: 00000001
   Parameter[1]: 77770010
Attempt to write to address 77770010

PROCESS_NAME:  w3wp.exe

WRITE_ADDRESS:  77770010 

ERROR_CODE: (NTSTATUS) 0xc0000005 - De instructie op 0x%p verwijst naar geheugen op 0x%p. Het geheugen kan niet worden %s.

EXCEPTION_CODE_STR:  c0000005

EXCEPTION_PARAMETER1:  00000001

EXCEPTION_PARAMETER2:  77770010

ADDITIONAL_DEBUG_TEXT:  SOS.DLL is not loaded for managed code. Analysis might be incomplete

STACK_TEXT:  
0565f5a4 52cad945     0501a040 05370120 00000000 iiscore!W3_SERVER::Initialize+0xab0
0565f804 52caddbd     05370120 52cadd80 00000002 iiscore!IISCORE_PROTOCOL_MANAGER::InitializeGlobals+0x1bb
0565f81c 58a87d3c     00000000 00000000 00000000 iiscore!IISCORE_PROTOCOL_MANAGER::PreloadApplication+0x3d
0565f83c 58a87c9a     00000000 05370200 57fbfc10 w3wphost!W3WP_HOST::ProcessHttpPreloadApplications+0x58
0565f85c 58a88ccb     00010002 00000000 0501e0f8 w3wphost!W3WP_HOST::ProcessPreloadApplications+0x74
0565f87c 57fc17e1     0501e0f8 04c2a598 57fc1340 w3wphost!WP_IPM::AcceptMessage+0x1bb
0565f8bc 77796e84     0501e0f8 00000000 66b5a3ff iisutil!IPM_MESSAGE_PIPE::MessagePipeCompletion+0x4a1
0565f914 777ad924     0565fa3c 04c2a598 04c451c0 ntdll!RtlpTpWaitCallback+0xa4
0565f93c 777ad86d     00000000 04be0840 04c452b8 ntdll!TppExecuteWaitCallback+0x7e
0565f954 777ae9a7     0565fa3c 04c452b8 04c451c0 ntdll!TppWaitCompletion+0x7d
0565fb18 76a57ba9     04be0840 76a57b90 0565fb80 ntdll!TppWorkerThread+0x567
0565fb28 777db79b     04be0840 66b5a16b 00000000 kernel32!BaseThreadInitThunk+0x19
0565fb80 777db71f     ffffffff 778089d8 00000000 ntdll!__RtlUserThreadStart+0x2b
0565fb90 00000000     00000000 00000000 00000000 ntdll!_RtlUserThreadStart+0x1b


STACK_COMMAND:  ~6s; .ecxr ; kb

SYMBOL_NAME:  iiscore!W3_SERVER::Initialize+ab0

MODULE_NAME: iiscore

IMAGE_NAME:  iiscore.dll

FAILURE_BUCKET_ID:  INVALID_POINTER_WRITE_NOSOS_c0000005_iiscore.dll!W3_SERVER::Initialize

OS_VERSION:  10.0.22621.1

BUILDLAB_STR:  ni_release

OSPLATFORM_TYPE:  x86

OSNAME:  Windows 10

IMAGE_VERSION:  10.0.22621.608

FAILURE_ID_HASH:  {9bac41b3-2f45-d1cb-67a0-f4c2319a6b83}

Followup:     MachineOwner
---------

I double checked, on Windows 10 and/or Windows Server 2019 using the same application pool settings descibed above this is not a issue and ARRHelper works in 32-bit and 64-bit mode, as well as for (classic) asp.

In the meantime i have found a workarround to get rid of the "HTTP Error 503. The service is unavailable." errors by editing the ARRHelper settings in applicationHost.config by setting preCondition to "integratedMode", bypassing Classic Mode applcation pool used for (classic) asp websites.

<globalModules>
	...
	<add name="ARRHelper" image="%ProgramFiles%\IIS\ARR Helper\requestRouterHelper.dll" preCondition="integratedMode" />
</globalModules>
Internet Information Services
Windows 11
Windows 11
A Microsoft operating system designed for productivity, creativity, and ease of use.
8,061 questions
{count} votes