Weird exception callstack calling a method

0

I have the following callstak in a crash dump. It is the first time I see something like this and I don't get what it means:

           ntdll.dll!_RtlCallVectoredExceptionHandlers@8()  + 0xa bytes  
           ntdll.dll!_RtlDispatchException@8()  + 0x19 bytes          
           ntdll.dll!_KiUserExceptionDispatcher@8()  + 0xf bytes 
           ntdll.dll!_RtlUnwind@16()  + 0x352e8 bytes      
           MSVCR110_CLR0400.dll!_UnwindNestedFrames()  + 0x2a bytes             
           MSVCR110_CLR0400.dll!___DestructExceptionObject()  - 0x534 bytes
           MSVCR110_CLR0400.dll!___DestructExceptionObject()  + 0x69046 bytes           
           MSVCR110_CLR0400.dll!___DestructExceptionObject()  - 0x25ee bytes  
           MSVCR110_CLR0400.dll!___InternalCxxFrameHandler()  + 0x1d8 bytes              
           MSVCR110_CLR0400.dll!___CxxFrameHandler3()  + 0x26 bytes               
           ntdll.dll!ExecuteHandler2@20()  + 0x26 bytes   
           ntdll.dll!ExecuteHandler@20()  + 0x24 bytes     
           ntdll.dll!_RtlDispatchException@8()  + 0xd3 bytes          
           ntdll.dll!_KiUserExceptionDispatcher@8()  + 0xf bytes 
           clrjit.dll!Compiler::genCodeForTreeSmpOpAsg()  + 0x9 bytes   

           ….
           ….
           ….

            clrjit.dll!Compiler::genCodeForTree()  + 0xb4ca bytes   
           clrjit.dll!Compiler::genComputeReg()  + 0x3e bytes       
           clrjit.dll!Compiler::genCodeForTreeSmpOpAsg()  + 0xb8 bytes                
           clrjit.dll!Compiler::genCodeForTreeSmpOp()  + 0x5b bytes        
           clrjit.dll!Compiler::genCodeForTree()  + 0xbd bytes       
           clrjit.dll!Compiler::genPushArgList()  + 0xd6ab bytes     
           clrjit.dll!Compiler::genCodeForCall()  + 0x89bb bytes    
           clrjit.dll!Compiler::genCodeForTreeSpecialOp()  + 0x50 bytes   
           clrjit.dll!Compiler::genCodeForTree()  + 0xb4ca bytes   
           clrjit.dll!Compiler::genComputeReg()  + 0x3e bytes       
           clrjit.dll!Compiler::genCodeForTreeSmpOpAsg()  + 0xb8 bytes                
           clrjit.dll!Compiler::genCodeForTreeSmpOp()  + 0x5b bytes        
           clrjit.dll!Compiler::genCodeForTree()  + 0xbd bytes       
           clrjit.dll!Compiler::genPushArgList()  + 0xd6ab bytes     
           clrjit.dll!Compiler::genCodeForCall()  + 0x89bb bytes    
           clrjit.dll!Compiler::genCodeForTreeSpecialOp()  + 0x50 bytes   
           clrjit.dll!Compiler::genCodeForTree()  + 0xb4ca bytes   
           clrjit.dll!Compiler::genComputeReg()  + 0x3e bytes       
           clrjit.dll!Compiler::genCodeForTreeSmpOpAsg()  + 0xb8 bytes                
           clrjit.dll!Compiler::genCodeForTreeSmpOp()  + 0x5b bytes        
           clrjit.dll!Compiler::genCodeForTree()  + 0xbd bytes       
           clrjit.dll!Compiler::genPushArgList()  + 0xd6ab bytes     
           clrjit.dll!Compiler::genCodeForCall()  + 0x89bb bytes    
           clrjit.dll!Compiler::genCodeForTreeSpecialOp()  + 0x50 bytes   
           clrjit.dll!Compiler::genCodeForTree()  + 0xb4ca bytes   
           clrjit.dll!Compiler::genComputeReg()  + 0x3e bytes       
           clrjit.dll!Compiler::genCodeForTreeSmpOpAsg()  + 0xb8 bytes                
           clrjit.dll!Compiler::genCodeForTreeSmpOp()  + 0x5b bytes        
           clrjit.dll!Compiler::genCodeForTree()  + 0xbd bytes       
           clrjit.dll!Compiler::genPushArgList()  + 0xd6ab bytes     
           clrjit.dll!Compiler::genCodeForCall()  + 0x89bb bytes    
           clrjit.dll!Compiler::genCodeForTreeSpecialOp()  + 0x50 bytes   
           clrjit.dll!Compiler::genCodeForTree()  + 0xb4ca bytes   
           clrjit.dll!Compiler::genCodeForTreeSmpOpAsg()  - 0xf7 bytes  
           clrjit.dll!Compiler::genCodeForTreeSmpOp()  + 0x5b bytes        
           clrjit.dll!Compiler::genCodeForTree()  + 0xbd bytes       
           clrjit.dll!Compiler::genPushArgList()  + 0xd6ab bytes     
           clrjit.dll!Compiler::genCodeForCall()  + 0x89bb bytes    
           clrjit.dll!Compiler::genCodeForTreeSpecialOp()  + 0x50 bytes   
           clrjit.dll!Compiler::genCodeForTree()  + 0xb4ca bytes   
           clrjit.dll!Compiler::genEvalSideEffects()  + 0x5a bytes   
           clrjit.dll!Compiler::genCodeForTreeSmpOp()  + 0x14d89 bytes 
           clrjit.dll!Compiler::genCodeForTree()  + 0xbd bytes       
           clrjit.dll!Compiler::genCodeForBBlist()  - 0x1be3 bytes 
           clrjit.dll!Compiler::genGenerateCode()  + 0x73 bytes    
           clrjit.dll!Compiler::compCompile()  + 0x68e6 bytes         
           clrjit.dll!Compiler::compCompileHelper()  + 0x1f0 bytes              
           clrjit.dll!Compiler::compCompile()  + 0x104 bytes           
           clrjit.dll!jitNativeCode()  - 0x11eb bytes               
           clrjit.dll!CILJit::compileMethod()  + 0x25 bytes 
           [Managed to Native Transition]               
           **A call to one of our managed methods()**            

Anyone has an idea of what it means? Could it be a bug in the clrjit?

EDIT :

Sorry the exception thrown is the following one: STATUS_GUARD_PAGE_VIOLATION (0x80000001) exception

enter image description here

And about the application it is a managed Word addin running in .Net 4. The method that is rasinig the exception is not doing anything that you would expect could end in an exception. It is simply calling a UnityContainer.RegisterType() but looks like the exception is raised before the method is reached.

c#
.net
stack-trace
jit
dump
asked on Stack Overflow Jan 22, 2016 by Ignacio Soler Garcia • edited Jan 22, 2016 by Ignacio Soler Garcia

0 Answers

Nobody has answered this question yet.


User contributions licensed under CC BY-SA 3.0