In article <c4n6j6$2l0b1s$(E-Mail Removed)>,
(E-Mail Removed) says...
> # ChildEBP RetAddr
> 00 01a5f9fc 77f65296 ntdll!RtlpInsertFreeBlock+0xdf
> 01 01a5fa3c 77f64e6f ntdll!RtlpDeCommitFreeBlock+0x2d4
> 02 01a5fa68 77b2102c ntdll!RtlFreeHeap+0xdf
> 03 01a5fa78 653415ae ole32!CRetailMalloc_Free+0x17
> 04 01a5fa98 65341554 OLEAUT32!APP_DATA::FreeCachedMem+0x85
> 05 01a5faa8 653422e5 OLEAUT32!SysFreeString+0x57
> 06 01a5fabc 6b6010b3 OLEAUT32!VariantClear+0x72
> WARNING: Stack unwind information not available. Following frames may be
> wrong.
> 07 01a5fad0 6b601629 vbscript+0x10b3
> 08 013147b0 00000000 vbscript+0x1629
>
> Now to me that looks like a simple ASP page running through a VBScript - why
> would it be causing all the others to wait for it to complete?
Best bit of L1 analysis I've seen in ages. Cab, take a note.
The above is trying to free some allocation back and holding a lock
that the others are all waiting to get
> 01 0364f834 77f67646 ntdll!RtlpWaitForCriticalSection+0xa5
> 02 0364f83c 77f64e24 ntdll!RtlEnterCriticalSection+0x46
It looks like it's running through a big long chain of free blocks to
deposit this newly freed allocation, given that you've caught it in:
> 00 01a5f9fc 77f65296 ntdll!RtlpInsertFreeBlock+0xdf
If this list is huge or f**ked, then everyone is going to be sitting
around waiting for the lock. It's probably not circular or everything
would stop dear behind this.
I'll have a look tomorrow to see how the above works.
--
R1150GS
Insert u in the obvious place to reply...
(E-Mail Removed)