Home
%3CLINGO-SUB%20id%3D%22lingo-sub-311193%22%20slang%3D%22en-US%22%3Ew3wp.exe%20crashes%20with%20C0000005%20when%20HTTP%20Headers%20are%20modified%20after%20UpdateRequestCach%20event%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-311193%22%20slang%3D%22en-US%22%3E%3CP%3Ew3wp.exe%20crashes%20with%20C0000005%20exception%20code%20when%20HTTP%20Headers%20are%20modified%20after%20UpdateRequestCach%20event.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EThe%20call%20stack%20looks%20like%20below%3A%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E00%20000000ab%60a2d5ef80%2000007ffe%60d2ad4f12%20ntdll!RtlReportCriticalFailure(long%20StatusCode%20%3D%200n-1563038352%2C%20void%20*%20FailureInfo%20%3D%200x00000000%6000000000)%2B0x8c%26nbsp%3B%3C%2FP%3E%0A%3CP%3E01%20000000ab%60a2d5f090%2000007ffe%60d2ad5b10%20ntdll!RtlpHeapHandleError(long%20ErrorLevel%20%3D%200n-768565248)%2B0x12%26nbsp%3B%3C%2FP%3E%0A%3CP%3E02%20000000ab%60a2d5f0c0%2000007ffe%60d2a8a5ff%20ntdll!RtlpLogHeapFailure(_HEAP_FAILURE_TYPE%20FailureType%20%3D%20heap_failure_block_not_busy%20(0n8)%2C%20void%20*%20HeapAddress%20%3D%200x000000a7%602ae10000%2C%20void%20*%20Address%20%3D%200x000000ab%609e16c470%2C%20void%20*%20Param1%20%3D%200x00000000%6000000000%2C%20void%20*%20Param2%20%3D%200x00000000%6000000000)%2B0xa4%26nbsp%3B%3C%2FP%3E%0A%3CP%3E03%20(Inline%20Function)%20--------%60--------%20ntdll!RtlpProbeUserBufferUnsafe%2B0x74ef3%26nbsp%3B%3C%2FP%3E%0A%3CP%3E04%20(Inline%20Function)%20--------%60--------%20ntdll!RtlpProbeUserBuffer%2B0x74efd%26nbsp%3B%3C%2FP%3E%0A%3CP%3E05%20000000ab%60a2d5f0f0%2000007ffe%60b93d7fa0%20ntdll!RtlFreeHeap%2B0x74f2f%26nbsp%3B%3C%2FP%3E%0A%3CP%3E06%20000000ab%60a2d5f190%2000007ffe%60b93d4e2d%20cachhttp!RESPONSE_ENTRY%3A%3A~RESPONSE_ENTRY(void)%2B0xcc%26nbsp%3B%3C%2FP%3E%0A%3CP%3E07%20000000ab%60a2d5f1c0%2000007ffe%60b93d4d3e%20cachhttp!RESPONSE_ENTRY%3A%3ADereferenceResponseEntry(void)%2B0x19%26nbsp%3B%3C%2FP%3E%0A%3CP%3E08%20000000ab%60a2d5f1f0%2000007ffe%60b93d4692%20cachhttp!OUTPUT_ENTRY%3A%3AClearIdentityResponseEntry(void)%2B0x26%26nbsp%3B%3C%2FP%3E%0A%3CP%3E09%20(Inline%20Function)%20--------%60--------%20cachhttp!OUTPUT_ENTRY%3A%3A%7Bdtor%7D%2B0x5%3C%2FP%3E%0A%3CP%3E0a%20000000ab%60a2d5f220%2000007ffe%60b93d4def%20cachhttp!OUTPUT_ENTRY%3A%3A%60scalar%20deleting%20destructor'(void)%2B0xe%3C%2FP%3E%0A%3CP%3E0b%20000000ab%60a2d5f250%2000007ffe%60b93d715f%20cachhttp!OUTPUT_ENTRY%3A%3ADereferenceOutputEntry(void)%2B0x13%26nbsp%3B%3C%2FP%3E%0A%3CP%3E0c%20(Inline%20Function)%20--------%60--------%20cachhttp!OUTPUT_CACHE%3A%3AAddRefRecord%2B0x17%3C%2FP%3E%0A%3CP%3E0d%20000000ab%60a2d5f280%2000007ffe%60c912615e%20cachhttp!CTypedHashTable%3COUTPUT_CACHE%3E%3A%3A_AddRefRecord(void%20*%20pvRecord%20%3D%200x00007ffe%60d230a000%2C%20int%20nIncr%20%3D%200n0)%2B0x1b%26nbsp%3B%3C%2FOUTPUT_CACHE%3E%3C%2FP%3E%0A%3CP%3E0e%20000000ab%60a2d5f2b0%2000007ffe%60c9127f9e%20iisutil!CLKRLinearHashTable%3A%3A_DeleteNode(class%20CBucket%20*%20pbkt%20%3D%200x000000a7%602bbfe270%2C%20class%20CNodeClump%20**%20rpnc%20%3D%200x000000ab%60a2d5f310%2C%20class%20CNodeClump%20**%20rpncPrev%20%3D%200x000000ab%60a2d5f318%2C%20int%20*%20riNode%20%3D%200x000000ab%60a2d5f360)%2B0x3e%26nbsp%3B%3C%2FP%3E%0A%3CP%3E0f%20000000ab%60a2d5f2e0%2000007ffe%60c9122130%20iisutil!CLKRLinearHashTable%3A%3A_DeleteIf(%3CFUNCTION%3E%20*%20pfnPredicate%20%3D%200x00007ffe%60b93d23e0%2C%20void%20*%20pvState%20%3D%200x000000ab%60a2d5f3c0%2C%20LK_PREDICATE%20*%20rlkp%20%3D%200x000000ab%60a2d5f3a0)%2B0x124%26nbsp%3B%3C%2FFUNCTION%3E%3C%2FP%3E%0A%3CP%3E10%20000000ab%60a2d5f360%2000007ffe%60b93d4d83%20iisutil!CLKRHashTable%3A%3ADeleteIf(%3CFUNCTION%3E%20*%20pfnPredicate%20%3D%200x00007ffe%60b93d23e0%2C%20void%20*%20pvState%20%3D%200x000000ab%60a2d5f3c0)%2B0x60%26nbsp%3B%3C%2FFUNCTION%3E%3C%2FP%3E%0A%3CP%3E11%20000000ab%60a2d5f3a0%2000007ffe%60b93d3f74%20cachhttp!CTypedHashTable%3COUTPUT_CACHE%3E%3A%3ADeleteIf(%3CFUNCTION%3E%20*%20pfnPredicate%20%3D%200x01d11c88%6000000000%2C%20void%20*%20pvState%20%3D%200x000000ab%60a2d5ece0)%2B0x2f%26nbsp%3B%3C%2FFUNCTION%3E%3C%2FOUTPUT_CACHE%3E%3C%2FP%3E%0A%3CP%3E12%20000000ab%60a2d5f3f0%2000007ffe%60d29f8b9e%20cachhttp!OUTPUT_CACHE%3A%3AScavengerCallback%2B0x2254%26nbsp%3B%3C%2FP%3E%0A%3CP%3E13%20000000ab%60a2d5f470%2000007ffe%60d29f8f2e%20ntdll!RtlpTpTimerCallback(struct%20_TP_CALLBACK_INSTANCE%20*%20Instance%20%3D%200x00007ffe%60d29f8b20%2C%20void%20*%20Context%20%3D%200x000000ab%607de35580%2C%20struct%20_TP_TIMER%20*%20Timer%20%3D%200x000000ab%607dd6bc90)%2B0x7e%26nbsp%3B%3C%2FP%3E%0A%3CP%3E14%20000000ab%60a2d5f4b0%2000007ffe%60d2a18e8d%20ntdll!TppTimerpExecuteCallback(struct%20_TP_CALLBACK_INSTANCE%20*%20Instance%20%3D%200x000000ab%60a2d5f668%2C%20struct%20_TP_TASK%20*%20Task%20%3D%200x000000ab%607dd6bc90)%2B0x8e%3C%2FP%3E%0A%3CP%3E15%20000000ab%60a2d5f4f0%2000007ffe%60d21f13d2%20ntdll!TppWorkerThread(void%20*%20Parameter%20%3D%200x000000a7%602ae190e0)%2B0x47d%26nbsp%3B%3C%2FP%3E%0A%3CP%3E16%20000000ab%60a2d5f8d0%2000007ffe%60d29f54f4%20kernel32!BaseThreadInitThunk(unsigned%20long%20RunProcessInit%20%3D%20%3CVALUE%20unavailable%3D%22%22%20error%3D%22%22%3E%2C%20%3CFUNCTION%3E%20*%20StartAddress%20%3D%200x00007ffe%60d2a18a10%2C%20void%20*%20Argument%20%3D%200x000000a7%602ae190e0)%2B0x22%26nbsp%3B%3C%2FFUNCTION%3E%3C%2FVALUE%3E%3C%2FP%3E%0A%3CP%3E17%20000000ab%60a2d5f900%2000000000%6000000000%20ntdll!RtlUserThreadStart(%3CFUNCTION%3E%20*%20StartAddress%20%3D%200x00007ffe%60d2a18a10%2C%20void%20*%20Argument%20%3D%200x000000a7%602ae190e0)%2B0x34%26nbsp%3B%3C%2FFUNCTION%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EThe%20HTTP%20headers%20modification%20needs%20to%20be%20done%20on%26nbsp%3B%3CSPAN%3Eany%20event%20before%20UpdateRequestCache%20event.%3C%2FSPAN%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-TEASER%20id%3D%22lingo-teaser-311193%22%20slang%3D%22en-US%22%3E%3CP%3Ew3wp.exe%20crashes%20with%20C0000005%20exception%20code%20when%20HTTP%20Headers%20are%20modified%20after%20UpdateRequestCach%20event.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EThe%20call%20stack%20looks%20like%20below%3A%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E00%20000000ab%60a2d5ef80%2000007ffe%60d2ad4f12%20ntdll!RtlReportCriticalFailure(long%20StatusCode%20%3D%200n-1563038352%2C%20void%20*%20FailureInfo%20%3D%200x00000000%6000000000)%2B0x8c%26nbsp%3B%3C%2FP%3E%0A%3CP%3E01%20000000ab%60a2d5f090%2000007ffe%60d2ad5b10%20ntdll!RtlpHeapHandleError(long%20ErrorLevel%20%3D%200n-768565248)%2B0x12%26nbsp%3B%3C%2FP%3E%0A%3CP%3E02%20000000ab%60a2d5f0c0%2000007ffe%60d2a8a5ff%20ntdll!RtlpLogHeapFailure(_HEAP_FAILURE_TYPE%20FailureType%20%3D%20heap_failure_block_not_busy%20(0n8)%2C%20void%20*%20HeapAddress%20%3D%200x000000a7%602ae10000%2C%20void%20*%20Address%20%3D%200x000000ab%609e16c470%2C%20void%20*%20Param1%20%3D%200x00000000%6000000000%2C%20void%20*%20Param2%20%3D%200x00000000%6000000000)%2B0xa4%26nbsp%3B%3C%2FP%3E%0A%3CP%3E03%20(Inline%20Function)%20--------%60--------%20ntdll!RtlpProbeUserBufferUnsafe%2B0x74ef3%26nbsp%3B%3C%2FP%3E%0A%3CP%3E04%20(Inline%20Function)%20--------%60--------%20ntdll!RtlpProbeUserBuffer%2B0x74efd%26nbsp%3B%3C%2FP%3E%0A%3CP%3E05%20000000ab%60a2d5f0f0%2000007ffe%60b93d7fa0%20ntdll!RtlFreeHeap%2B0x74f2f%26nbsp%3B%3C%2FP%3E%0A%3CP%3E06%20000000ab%60a2d5f190%2000007ffe%60b93d4e2d%20cachhttp!RESPONSE_ENTRY%3A%3A~RESPONSE_ENTRY(void)%2B0xcc%26nbsp%3B%3C%2FP%3E%0A%3CP%3E07%20000000ab%60a2d5f1c0%2000007ffe%60b93d4d3e%20cachhttp!RESPONSE_ENTRY%3A%3ADereferenceResponseEntry(void)%2B0x19%26nbsp%3B%3C%2FP%3E%0A%3CP%3E08%20000000ab%60a2d5f1f0%2000007ffe%60b93d4692%20cachhttp!OUTPUT_ENTRY%3A%3AClearIdentityResponseEntry(void)%2B0x26%26nbsp%3B%3C%2FP%3E%0A%3CP%3E09%20(Inline%20Function)%20--------%60--------%20cachhttp!OUTPUT_ENTRY%3A%3A%7Bdtor%7D%2B0x5%3C%2FP%3E%0A%3CP%3E0a%20000000ab%60a2d5f220%2000007ffe%60b93d4def%20cachhttp!OUTPUT_ENTRY%3A%3A%60scalar%20deleting%20destructor'(void)%2B0xe%3C%2FP%3E%0A%3CP%3E0b%20000000ab%60a2d5f250%2000007ffe%60b93d715f%20cachhttp!OUTPUT_ENTRY%3A%3ADereferenceOutputEntry(void)%2B0x13%26nbsp%3B%3C%2FP%3E%0A%3CP%3E0c%20(Inline%20Function)%20--------%60--------%20cachhttp!OUTPUT_CACHE%3A%3AAddRefRecord%2B0x17%3C%2FP%3E%0A%3CP%3E0d%20000000ab%60a2d5f280%2000007ffe%60c912615e%20cachhttp!CTypedHashTable%3COUTPUT_CACHE%3E%3A%3A_AddRefRecord(void%20*%20pvRecord%20%3D%200x00007ffe%60d230a000%2C%20int%20nIncr%20%3D%200n0)%2B0x1b%26nbsp%3B%3C%2FOUTPUT_CACHE%3E%3C%2FP%3E%0A%3CP%3E0e%20000000ab%60a2d5f2b0%2000007ffe%60c9127f9e%20iisutil!CLKRLinearHashTable%3A%3A_DeleteNode(class%20CBucket%20*%20pbkt%20%3D%200x000000a7%602bbfe270%2C%20class%20CNodeClump%20**%20rpnc%20%3D%200x000000ab%60a2d5f310%2C%20class%20CNodeClump%20**%20rpncPrev%20%3D%200x000000ab%60a2d5f318%2C%20int%20*%20riNode%20%3D%200x000000ab%60a2d5f360)%2B0x3e%26nbsp%3B%3C%2FP%3E%0A%3CP%3E0f%20000000ab%60a2d5f2e0%2000007ffe%60c9122130%20iisutil!CLKRLinearHashTable%3A%3A_DeleteIf(%3CFUNCTION%3E%20*%20pfnPredicate%20%3D%200x00007ffe%60b93d23e0%2C%20void%20*%20pvState%20%3D%200x000000ab%60a2d5f3c0%2C%20LK_PREDICATE%20*%20rlkp%20%3D%200x000000ab%60a2d5f3a0)%2B0x124%26nbsp%3B%3C%2FFUNCTION%3E%3C%2FP%3E%0A%3CP%3E10%20000000ab%60a2d5f360%2000007ffe%60b93d4d83%20iisutil!CLKRHashTable%3A%3ADeleteIf(%3CFUNCTION%3E%20*%20pfnPredicate%20%3D%200x00007ffe%60b93d23e0%2C%20void%20*%20pvState%20%3D%200x000000ab%60a2d5f3c0)%2B0x60%26nbsp%3B%3C%2FFUNCTION%3E%3C%2FP%3E%0A%3CP%3E11%20000000ab%60a2d5f3a0%2000007ffe%60b93d3f74%20cachhttp!CTypedHashTable%3COUTPUT_CACHE%3E%3A%3ADeleteIf(%3CFUNCTION%3E%20*%20pfnPredicate%20%3D%200x01d11c88%6000000000%2C%20void%20*%20pvState%20%3D%200x000000ab%60a2d5ece0)%2B0x2f%26nbsp%3B%3C%2FFUNCTION%3E%3C%2FOUTPUT_CACHE%3E%3C%2FP%3E%0A%3CP%3E12%20000000ab%60a2d5f3f0%2000007ffe%60d29f8b9e%20cachhttp!OUTPUT_CACHE%3A%3AScavengerCallback%2B0x2254%26nbsp%3B%3C%2FP%3E%0A%3CP%3E13%20000000ab%60a2d5f470%2000007ffe%60d29f8f2e%20ntdll!RtlpTpTimerCallback(struct%20_TP_CALLBACK_INSTANCE%20*%20Instance%20%3D%200x00007ffe%60d29f8b20%2C%20void%20*%20Context%20%3D%200x000000ab%607de35580%2C%20struct%20_TP_TIMER%20*%20Timer%20%3D%200x000000ab%607dd6bc90)%2B0x7e%26nbsp%3B%3C%2FP%3E%0A%3CP%3E14%20000000ab%60a2d5f4b0%2000007ffe%60d2a18e8d%20ntdll!TppTimerpExecuteCallback(struct%20_TP_CALLBACK_INSTANCE%20*%20Instance%20%3D%200x000000ab%60a2d5f668%2C%20struct%20_TP_TASK%20*%20Task%20%3D%200x000000ab%607dd6bc90)%2B0x8e%3C%2FP%3E%0A%3CP%3E15%20000000ab%60a2d5f4f0%2000007ffe%60d21f13d2%20ntdll!TppWorkerThread(void%20*%20Parameter%20%3D%200x000000a7%602ae190e0)%2B0x47d%26nbsp%3B%3C%2FP%3E%0A%3CP%3E16%20000000ab%60a2d5f8d0%2000007ffe%60d29f54f4%20kernel32!BaseThreadInitThunk(unsigned%20long%20RunProcessInit%20%3D%20%3CVALUE%20unavailable%3D%22%22%20error%3D%22%22%3E%2C%20%3CFUNCTION%3E%20*%20StartAddress%20%3D%200x00007ffe%60d2a18a10%2C%20void%20*%20Argument%20%3D%200x000000a7%602ae190e0)%2B0x22%26nbsp%3B%3C%2FFUNCTION%3E%3C%2FVALUE%3E%3C%2FP%3E%0A%3CP%3E17%20000000ab%60a2d5f900%2000000000%6000000000%20ntdll!RtlUserThreadStart(%3CFUNCTION%3E%20*%20StartAddress%20%3D%200x00007ffe%60d2a18a10%2C%20void%20*%20Argument%20%3D%200x000000a7%602ae190e0)%2B0x34%26nbsp%3B%3C%2FFUNCTION%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EThe%20HTTP%20headers%20modification%20needs%20to%20be%20done%20on%26nbsp%3B%3CSPAN%3Eany%20event%20before%20UpdateRequestCache%20event.%3C%2FSPAN%3E%3C%2FP%3E%3C%2FLINGO-TEASER%3E%3CLINGO-LABS%20id%3D%22lingo-labs-311193%22%20slang%3D%22en-US%22%3E%3CLINGO-LABEL%3Ehuanchix%40microsoft.com%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E
Microsoft

w3wp.exe crashes with C0000005 exception code when HTTP Headers are modified after UpdateRequestCach event.

 

The call stack looks like below:

 

00 000000ab`a2d5ef80 00007ffe`d2ad4f12 ntdll!RtlReportCriticalFailure(long StatusCode = 0n-1563038352, void * FailureInfo = 0x00000000`00000000)+0x8c 

01 000000ab`a2d5f090 00007ffe`d2ad5b10 ntdll!RtlpHeapHandleError(long ErrorLevel = 0n-768565248)+0x12 

02 000000ab`a2d5f0c0 00007ffe`d2a8a5ff ntdll!RtlpLogHeapFailure(_HEAP_FAILURE_TYPE FailureType = heap_failure_block_not_busy (0n8), void * HeapAddress = 0x000000a7`2ae10000, void * Address = 0x000000ab`9e16c470, void * Param1 = 0x00000000`00000000, void * Param2 = 0x00000000`00000000)+0xa4 

03 (Inline Function) --------`-------- ntdll!RtlpProbeUserBufferUnsafe+0x74ef3 

04 (Inline Function) --------`-------- ntdll!RtlpProbeUserBuffer+0x74efd 

05 000000ab`a2d5f0f0 00007ffe`b93d7fa0 ntdll!RtlFreeHeap+0x74f2f 

06 000000ab`a2d5f190 00007ffe`b93d4e2d cachhttp!RESPONSE_ENTRY::~RESPONSE_ENTRY(void)+0xcc 

07 000000ab`a2d5f1c0 00007ffe`b93d4d3e cachhttp!RESPONSE_ENTRY::DereferenceResponseEntry(void)+0x19 

08 000000ab`a2d5f1f0 00007ffe`b93d4692 cachhttp!OUTPUT_ENTRY::ClearIdentityResponseEntry(void)+0x26 

09 (Inline Function) --------`-------- cachhttp!OUTPUT_ENTRY::{dtor}+0x5

0a 000000ab`a2d5f220 00007ffe`b93d4def cachhttp!OUTPUT_ENTRY::`scalar deleting destructor'(void)+0xe

0b 000000ab`a2d5f250 00007ffe`b93d715f cachhttp!OUTPUT_ENTRY::DereferenceOutputEntry(void)+0x13 

0c (Inline Function) --------`-------- cachhttp!OUTPUT_CACHE::AddRefRecord+0x17

0d 000000ab`a2d5f280 00007ffe`c912615e cachhttp!CTypedHashTable<OUTPUT_CACHE,OUTPUT_ENTRY,OUTPUT_KEY * __ptr64,CLKRHashTable>::_AddRefRecord(void * pvRecord = 0x00007ffe`d230a000, int nIncr = 0n0)+0x1b 

0e 000000ab`a2d5f2b0 00007ffe`c9127f9e iisutil!CLKRLinearHashTable::_DeleteNode(class CBucket * pbkt = 0x000000a7`2bbfe270, class CNodeClump ** rpnc = 0x000000ab`a2d5f310, class CNodeClump ** rpncPrev = 0x000000ab`a2d5f318, int * riNode = 0x000000ab`a2d5f360)+0x3e 

0f 000000ab`a2d5f2e0 00007ffe`c9122130 iisutil!CLKRLinearHashTable::_DeleteIf(<function> * pfnPredicate = 0x00007ffe`b93d23e0, void * pvState = 0x000000ab`a2d5f3c0, LK_PREDICATE * rlkp = 0x000000ab`a2d5f3a0)+0x124 

10 000000ab`a2d5f360 00007ffe`b93d4d83 iisutil!CLKRHashTable::DeleteIf(<function> * pfnPredicate = 0x00007ffe`b93d23e0, void * pvState = 0x000000ab`a2d5f3c0)+0x60 

11 000000ab`a2d5f3a0 00007ffe`b93d3f74 cachhttp!CTypedHashTable<OUTPUT_CACHE,OUTPUT_ENTRY,OUTPUT_KEY * __ptr64,CLKRHashTable>::DeleteIf(<function> * pfnPredicate = 0x01d11c88`00000000, void * pvState = 0x000000ab`a2d5ece0)+0x2f 

12 000000ab`a2d5f3f0 00007ffe`d29f8b9e cachhttp!OUTPUT_CACHE::ScavengerCallback+0x2254 

13 000000ab`a2d5f470 00007ffe`d29f8f2e ntdll!RtlpTpTimerCallback(struct _TP_CALLBACK_INSTANCE * Instance = 0x00007ffe`d29f8b20, void * Context = 0x000000ab`7de35580, struct _TP_TIMER * Timer = 0x000000ab`7dd6bc90)+0x7e 

14 000000ab`a2d5f4b0 00007ffe`d2a18e8d ntdll!TppTimerpExecuteCallback(struct _TP_CALLBACK_INSTANCE * Instance = 0x000000ab`a2d5f668, struct _TP_TASK * Task = 0x000000ab`7dd6bc90)+0x8e

15 000000ab`a2d5f4f0 00007ffe`d21f13d2 ntdll!TppWorkerThread(void * Parameter = 0x000000a7`2ae190e0)+0x47d 

16 000000ab`a2d5f8d0 00007ffe`d29f54f4 kernel32!BaseThreadInitThunk(unsigned long RunProcessInit = <Value unavailable error>, <function> * StartAddress = 0x00007ffe`d2a18a10, void * Argument = 0x000000a7`2ae190e0)+0x22 

17 000000ab`a2d5f900 00000000`00000000 ntdll!RtlUserThreadStart(<function> * StartAddress = 0x00007ffe`d2a18a10, void * Argument = 0x000000a7`2ae190e0)+0x34 

 

The HTTP headers modification needs to be done on any event before UpdateRequestCache event.