Re: Need help with "Fatal Execution Engine Error"
- From: erik at Starcounter <erikatStarcounter@xxxxxxxxxxxxxxxxxxxxxxxxx>
- Date: Tue, 11 Nov 2008 10:55:00 -0800
Thanks for your input John.
Anyways: They're should be no reason why an allocation should fail. Largest
free region is close 8 TB (64-bit OS and process), and there's close to 1 GB
of virtual memory free on my computer when the error occurs (so there's no
reason why a failure to commit memory should occur).
/Erik
"John Lan" wrote:
it looks like debugbreak occured in mscorwks!SVR::gc_heap::handle_oom(),.
possiblly gc can't allocate a new large enough segment to meet alloc
request.
!address -summary can print MAX possible consective vm region, e.g...
0:000> !address -summary
-------------------- Usage SUMMARY --------------------------
TotSize ( KB) Pct(Tots) Pct(Busy) Usage
419b000 ( 67180) : 03.20% 28.58% : RegionUsageIsVAD
71a62000 ( 1862024) : 88.79% 00.00% : RegionUsageFree
410b000 ( 66604) : 03.18% 28.33% : RegionUsageImage
2100000 ( 33792) : 01.61% 14.38% : RegionUsageStack
21000 ( 132) : 00.01% 00.06% : RegionUsageTeb
41c4000 ( 67344) : 03.21% 28.65% : RegionUsageHeap
0 ( 0) : 00.00% 00.00% : RegionUsagePageHeap
1000 ( 4) : 00.00% 00.00% : RegionUsagePeb
1000 ( 4) : 00.00% 00.00% : RegionUsageProcessParametrs
1000 ( 4) : 00.00% 00.00% : RegionUsageEnvironmentBlock
Tot: 7fff0000 (2097088 KB) Busy: 0e58e000 (235064 KB)
-------------------- Type SUMMARY --------------------------
TotSize ( KB) Pct(Tots) Usage
71a62000 ( 1862024) : 88.79% : <free>
410b000 ( 66604) : 03.18% : MEM_IMAGE
24f0000 ( 37824) : 01.80% : MEM_MAPPED
7f93000 ( 130636) : 06.23% : MEM_PRIVATE
-------------------- State SUMMARY --------------------------
TotSize ( KB) Pct(Tots) Usage
8f75000 ( 146900) : 07.00% : MEM_COMMIT
71a62000 ( 1862024) : 88.79% : MEM_FREE
5619000 ( 88164) : 04.20% : MEM_RESERVE
Largest free region: Base 23c3e000 - Size 1eed2000 (506696 KB)
mscorwks!SVR::GCHeap::Alloc() has size parameter push on stack, you can dump
it to evaluate.
too many large objects?
"erik at Starcounter" <erikatStarcounter@xxxxxxxxxxxxxxxxxxxxxxxxx> 写入消息
news:16FC94A5-044E-4C61-9CCB-00D2298FA9C9@xxxxxxxxxxxxxxxx
Thank you GP, you're absolutely right, I had the wrong symbols. Very
stupid
of m too assume I had.
We'll, I'm pretty sure I have the right symbols now (symchk says their the
right ones at least) and here's the real stack trace:
00000000`084b92d8 00000000`76db2f8b ntdll!ZwTerminateProcess+0xa
00000000`084b92e0 000007fe`f161a46f ntdll!RtlExitUserProcess+0x8b
00000000`084b9310 000007fe`f1c02f35 mscorwks!SafeExitProcess+0xc7
00000000`084b9590 000007fe`f164aa81
mscorwks!EEPolicy::HandleFatalError+0x75
00000000`084b95e0 000007fe`f1682c30
mscorwks!CLRVectoredExceptionHandlerPhase3+0xcd
00000000`084b9620 000007fe`f1682e37
mscorwks!CLRVectoredExceptionHandlerPhase2+0x30
00000000`084b9690 000007fe`f164a6e6
mscorwks!CLRVectoredExceptionHandler+0xff
00000000`084b9710 00000000`76dceb7c
mscorwks!CLRVectoredExceptionHandlerShim+0x42
00000000`084b9750 00000000`76dce8a5 ntdll!RtlpCallVectoredHandlers+0xac
00000000`084b97c0 00000000`76dd59f8 ntdll!RtlDispatchException+0x25
00000000`084b9e60 000007fe`f16f1138 ntdll!KiUserExceptionDispatcher+0x2e
00000000`084ba400 000007fe`f16f1801
mscorwks!SVR::gc_heap::try_allocate_more_space+0x448
00000000`084ba4f0 000007fe`f16f1a82 mscorwks!SVR::GCHeap::Alloc+0xd1
00000000`084ba530 000007fe`f16f66c7 mscorwks!AllocateObject+0xb2
00000000`084ba5b0 000007fe`f1ba031a mscorwks!MethodTable::FastBox+0x23
00000000`084ba5f0 000007ff`01d45ed7 mscorwks!JIT_Box+0x13a
--> Managed code.
The debug break was in the following place:
00000000084b8e08 000007fef1a232ba ntdll!DbgBreakPoint
00000000084b8e10 000007fef1c02f2e mscorwks!`string'+0x8953a
00000000084b9590 000007fef164aa81 mscorwks!EEPolicy::HandleFatalError+0x6e
...
Still have no idea what it could be of course but obviously, something
goes
wrong when allocating memory. Running the server GC in this case but I had
the error when using the workstation GC as well.
Thanks for you help GP.
/Erik
"GP" wrote:
Hello!
When listing the stack in WinDbg I get the following output:
0000000`085f9428 00000000`770f2f8b ntdll!NtTerminateProcess+0xa
00000000`085f9430 000007fe`f210a46f ntdll!RtlExitUserProcess+0x8b
00000000`085f9460 000007fe`f26f2f35 mscorwks+0xea46f
00000000`085f96e0 000007fe`f213aa81 mscorwks!PreBindAssembly+0x99a75
00000000`085f9730 000007fe`f2172c30 mscorwks!GetCLRFunction+0x1126d
00000000`085f9770 000007fe`f2172e37
mscorwks!CreateApplicationContext+0x2ecd4 00000000`085f97e0
000007fe`f213a6e6 mscorwks!CreateApplicationContext+0x2eedb
00000000`085f9860 00000000`7710eb7c mscorwks!GetCLRFunction+0x10ed2
...
You're missing the symbols for mscorwks (mscorwks!GetCLRFunction would be
very very big in size (+0x99a75)). Use !symfix <localsymbolpath> and
.reload
to see the "right" call-stack.
GP
- Follow-Ups:
- Re: Need help with "Fatal Execution Engine Error"
- From: erik at Starcounter
- Re: Need help with "Fatal Execution Engine Error"
- References:
- Re: Need help with "Fatal Execution Engine Error"
- From: GP
- Re: Need help with "Fatal Execution Engine Error"
- From: erik at Starcounter
- Re: Need help with "Fatal Execution Engine Error"
- From: John Lan
- Re: Need help with "Fatal Execution Engine Error"
- Prev by Date: Re: Calling List<T>.AddRange with Reflection.Emit
- Next by Date: Re: Calling List<T>.AddRange with Reflection.Emit
- Previous by thread: Re: Need help with "Fatal Execution Engine Error"
- Next by thread: Re: Need help with "Fatal Execution Engine Error"
- Index(es):
Relevant Pages
|