History | Log In     View a printable version of the current page.  
Issue Details (XML | Word | Printable)

Key: DTRC-580
Type: Bug Bug
Status: Closed Closed
Resolution: Fixed
Priority: Major Major
Assignee: George Udov
Reporter: Ilya Ryzhenkov
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
dotTrace

Causes profilee to freeze

Created: 13 May 07 19:11   Updated: 16 May 07 18:49
Component/s: Core
Affects Version/s: 3.0
Fix Version/s: 3.0 Minor

Original Estimate: Unknown Remaining Estimate: Unknown Time Spent: Unknown
Environment: Build: 305.39


 Description  « Hide
Here is callstack, it never returns to JIT...

kernel32.dll!_InterlockedExchange@8() + 0xe bytes
JetBrains.dotTrace.Core.ia32.dll!10009ead()
[Frames below may be incorrect and/or missing, no symbols loaded for JetBrains.dotTrace.Core.ia32.dll]
JetBrains.dotTrace.Core.ia32.dll!1000e55b()
mscordbc.dll!EEToProfInterfaceImpl::JITInlining() + 0x77 bytes
mscorjit.dll!Compiler::impExpandInline() + 0x1a4 bytes
mscorjit.dll!Compiler::fgMorphCallInline() + 0x105 bytes
mscorjit.dll!Compiler::fgMorphCall() + 0x4a bytes
mscorjit.dll!Compiler::fgMorphTree() + 0x1628 bytes
mscorjit.dll!Compiler::fgMorphStmts() + 0x5c bytes
mscorjit.dll!Compiler::fgMorphBlocks() + 0x7d bytes
mscorjit.dll!Compiler::fgMorph() + 0x4a bytes
mscorjit.dll!Compiler::compCompile() + 0x52 bytes
mscorjit.dll!Compiler::compCompile() + 0x257 bytes
mscorjit.dll!jitNativeCode() + 0x9a bytes
mscorjit.dll!CILJit::compileMethod() + 0x3d bytes
mscorlib.dll!System.Threading.Thread.Name.set(string value) + 0x4f bytes



 All   Comments   Work Log   Change History      Sort Order:
Ilya Ryzhenkov - 13 May 07 19:11
"Allow inlining" is set to true.

George Udov - 16 May 07 18:49
Results of research of this issue:

1) We can get std::bad_alloc (out of memory) exception on attempt to allocate profiler data for newly created thread.
2) When we get this exception, we don't release one mutex. It causes deadlock.

I applied some optimization to allocating memory in CoreDll, that must reduce the probability of appearing this again.
If this reproduces again, please look at VM size of profilee process in task manager. If it is ~2Gb, then C'est la vie...