none
How to understand what is blocking the main STA thread - clr!GCInterface::WaitForPendingFinalizers RRS feed

  • Question

  • Hi Everyone.

    I am way out of my depth in this part of the forum and do hope you can give me some guidance on what I should do.

    Upon opening a second Excel file Excel 2007 hangs and eventually shows

    "Microsoft Excel is waiting for another application to complete an OLE action"

    This I understand is caused because the main UI or STA thread is blocked.  It appears to be blocked by my addin or I think by what VSTO does as a result of my addin.

    Debugging in Visual Studio and attaching to Excel as it opens a file shows that the main STA thread is waiting for a join or another thread and I think shows

    >    mscorlib.dll!System.GC.WaitForPendingFinalizers() Line 320 + 0x1b bytes    C#

    I don't call nor use GC at all.  It looks like VSTO is doing it.

    Now I have downloaded and installed windbg and hope the following is how you guys can help me to understand what is going on. I cannot get Office or VSTO symbols with windbg. I got some of them when Visual Studio downloaded them but some are still missing.  So a simple !analyze -hang does not work.  I am able to use sos.dll with clr.

    !Threads shows the following;

    ThreadCount:      4
    UnstartedThread:  0
    BackgroundThread: 4
    PendingThread:    0
    DeadThread:       0
    Hosted Runtime:   no
                                       PreEmptive   GC Alloc                Lock
           ID  OSID ThreadOBJ    State GC           Context       Domain   Count APT Exception
       0    1   83c 005a30a0   2004220 Enabled  06ea12f8:06ea1fe8 0667f250     0 STA
      11    2  1878 005ae200      b220 Enabled  00000000:00000000 005944d8     0 MTA (Finalizer)
      12    3  1900 066831e8      1220 Enabled  00000000:00000000 005944d8     0 Ukn
      18    4  1668 06743ab0       220 Enabled  00000000:00000000 005944d8     0 STA
    

    Thread 0 is the main UI thread and I assume the one that must be blocked.

    kb on Thread 0

    ChildEBP RetAddr  Args to Child              
    003bcb44 767815e9 00000002 003bcb94 00000001 ntdll!NtWaitForMultipleObjects+0x15
    003bcbe0 764519fc 003bcb94 003bcc08 00000000 KERNELBASE!WaitForMultipleObjectsEx+0x100
    003bcc28 765f086a 00000002 7efde000 00000000 kernel32!WaitForMultipleObjectsExImplementation+0xe0
    003bcc7c 76ab2bf1 00000050 00591048 ffffffff USER32!RealMsgWaitForMultipleObjectsEx+0x14d
    003bcca8 76aa202d 00591048 ffffffff 003bccd0 ole32!CCliModalLoop::BlockFn+0xa1 [d:\w7rtm\com\ole32\com\dcomrem\callctrl.cxx @ 1222]
    003bcd28 720ba2bd 00000002 ffffffff 00000001 ole32!CoWaitForMultipleHandles+0xcd [d:\w7rtm\com\ole32\com\dcomrem\sync.cxx @ 109]
    003bcd90 720ba249 00000001 00591048 00000000 clr!MsgWaitHelper+0x80
    003bcdb0 720eea17 00000001 00591048 00000000 clr!Thread::DoAppropriateAptStateWait+0x39
    003bce44 720eead8 00000001 00591048 00000000 clr!Thread::DoAppropriateWaitWorker+0x17d
    003bceb0 720eeb57 00000001 00591048 00000000 clr!Thread::DoAppropriateWait+0x60
    003bcf04 71f7173e ffffffff 00000001 00000000 clr!CLREvent::WaitEx+0x106
    003bcf18 72047660 ffffffff 00000001 00000000 clr!CLREvent::Wait+0x19
    003bcf74 72107049 ffffffff aa761eae 003bcfc0 clr!WKS::GCHeap::FinalizerThreadWait+0x114
    003bcfb4 718823d4 aa0fcc08 71f55c40 003bd53c clr!GCInterface::WaitForPendingFinalizers+0x71
    003bcff4 71f5219b 76b15b5c 00000000 003bd080 mscorlib_ni+0x7c23d4
    003bd004 71f8a7aa 003bd0d0 00000000 003bd0a0 clr!CallDescrWorker+0x33
    003bd080 71f8a94c 003bd0d0 00000000 003bd0a0 clr!CallDescrWorkerWithHandler+0x8e
    003bd1c0 71f8a981 718823a8 003bd2e4 003bd490 clr!MethodDesc::CallDescr+0x194
    003bd1dc 71f8a9a1 718823a8 003bd2e4 003bd490 clr!MethodDesc::CallTargetWorker+0x21
    003bd1f4 71fd8d54 003bd490 aa7602a2 003bd764 clr!MethodDescCallSite::Call_RetArgSlot+0x1c
    003bd3b8 71fd90a6 71145d28 718823a8 710c1000 clr!CallWithValueTypes_RetArgSlotWrapper+0x5c
    003bd67c 71fd9268 71145d28 00000000 00000000 clr!InvokeImpl+0x621
    003bd748 7137d8c9 005a30a0 00000096 003bd764 clr!RuntimeMethodHandle::InvokeMethodFast+0x180
    003bd79c 7137d610 06e9add4 00000096 06e9b50c mscorlib_ni+0x2bd8c9
    003bd7d4 7137c22d 00000000 00000000 00000000 mscorlib_ni+0x2bd610
    003bd7fc 71316bcc 00000000 00000000 06e897f4 mscorlib_ni+0x2bc22d
    003bd950 71885fbd 00000000 00000000 00000000 mscorlib_ni+0x256bcc
    003bd974 718ff890 00000000 00000000 00000000 mscorlib_ni+0x7c5fbd
    003bd9e8 71f52581 003bddb8 00000000 005a0000 mscorlib_ni+0x83f890
    003bda14 72045943 718ff7d0 71885fa0 06e9add4 clr!COMToCLRDispatchHelper+0x28
    003bdaa8 72045a1c 71885fa0 06e9add4 00000001 clr!BaseWrapper<Stub *,FunctionBase<Stub *,&DoNothing<Stub *>,&StubRelease<Stub>,2>,0,&CompareDefault<Stub *>,2>::~BaseWrapper<Stub *,FunctionBase<Stub *,&DoNothing<Stub *>,&StubRelease<Stub>,2>,0,&CompareDefault<Stub *>,2>+0xfa
    003bdacc 72045a82 005a30a0 003bdd60 05bdf9e0 clr!COMToCLRWorkerBody+0xb4
    003bdb24 72046571 005a30a0 003bdd60 05bdf9e0 clr!COMToCLRWorkerDebuggerWrapper+0x34
    003bdd34 03fca182 005a30a0 003bdd60 aa0fcc08 clr!COMToCLRWorker+0x614
    WARNING: Frame IP not in any known module. Following frames may be wrong.
    003bdd48 6928980d 003bdd90 003bddb8 00000000 0x3fca182
    003bdddc 6928997a 05bdf9f8 00000000 00000621 VSTOLoader!DllRegisterServer+0x61bb
    003bde0c 69277ccb 05c3e438 00000000 00000001 VSTOLoader!DllRegisterServer+0x6328
    003bde20 692617de 00000621 00000003 003bdebc VSTOLoader!DllCanUnloadNow+0xb1cf
    003bde34 2f421899 06436aa8 00000621 2f301ad4 VSTOLoader+0x17de
    003bde88 2f4217f7 00000621 003bdebc 06058150 EXCEL!Ordinal40+0x221899
    003bdecc 2f585aa1 00000621 06058168 00000000 EXCEL!Ordinal40+0x2217f7
    003bdef4 2f3d1dad 00000001 00000012 00000000 EXCEL!Ordinal40+0x385aa1
    003be1b0 2f328830 003beb04 00000012 00000000 EXCEL!Ordinal40+0x1d1dad
    003be46c 2f32961e 00000000 003beb04 00000012 EXCEL!Ordinal40+0x128830
    003be490 2f230ae1 003beb04 00000012 00000000 EXCEL!Ordinal40+0x12961e
    003be6e0 2fb4ab31 00000001 003beb04 00000012 EXCEL!Ordinal40+0x30ae1
    003bf7a4 2ff2f2cd 0670dba0 003bf818 0000fffe EXCEL!Ordinal40+0x94ab31
    003bfc4c 2f5d20f9 003bfcb0 00000001 000080df EXCEL!LPenHelper+0x12f485
    003bfcec 2f2282fa 00000000 30163708 765f0afa EXCEL!Ordinal40+0x3d20f9
    003bfdd4 2f203b60 00000000 30163c58 004c4095 EXCEL!Ordinal40+0x282fa
    003bfe44 2f203874 2f200000 00000000 004c4095 EXCEL!Ordinal40+0x3b60
    003bfed4 7645336a 7efde000 003bff20 772bbf32 EXCEL!Ordinal40+0x3874
    003bfee0 772bbf32 7efde000 7741c403 00000000 kernel32!BaseThreadInitThunk+0xe
    003bff20 772bbf05 2f202f7c 7efde000 00000000 ntdll!__RtlUserThreadStart+0x70
    003bff38 00000000 2f202f7c 7efde000 00000000 ntdll!_RtlUserThreadStart+0x1b
    


    kb on Thread 11

    ChildEBP RetAddr  Args to Child              
    0905ee1c 7678149d 000007a0 00000000 00000000 ntdll!NtWaitForSingleObject+0x15
    0905ee88 76451194 000007a0 ffffffff 00000000 KERNELBASE!WaitForSingleObjectEx+0x98
    0905eea0 76451148 000007a0 ffffffff 00000000 kernel32!WaitForSingleObjectExImplementation+0x75
    0905eeb4 76aa7690 000007a0 ffffffff 00542008 kernel32!WaitForSingleObject+0x12
    0905eed8 76bca4d1 00542730 066d2d70 0905efe4 ole32!GetToSTA+0xad [d:\w7rtm\com\ole32\com\dcomrem\chancont.cxx @ 133]
    0905ef08 76bccef0 0905efd0 0905f0f8 00542008 ole32!CRpcChannelBuffer::SwitchAptAndDispatchCall+0x140 [d:\w7rtm\com\ole32\com\dcomrem\channelb.cxx @ 4419]
    0905efe8 76ac9d01 00542008 0905f0f8 0905f0e0 ole32!CRpcChannelBuffer::SendReceive2+0xef [d:\w7rtm\com\ole32\com\dcomrem\channelb.cxx @ 4076]
    0905f064 76aa792b 00542008 0905f0f8 0905f0e0 ole32!CAptRpcChnl::SendReceive+0xaf [d:\w7rtm\com\ole32\com\dcomrem\callctrl.cxx @ 603]
    0905f0b8 76bcce06 00000001 0b223f98 0905f0e0 ole32!CCtxComChnl::SendReceive+0x95 [d:\w7rtm\com\ole32\com\dcomrem\ctxchnl.cxx @ 679]
    0905f0d4 75f5420b 0b217684 0905f124 75fd0149 ole32!NdrExtpProxySendReceive+0x49 [d:\w7rtm\com\rpc\ndrole\proxy.cxx @ 1932]
    0905f0e0 75fd0149 a3604c8f 0905f52c 0700022b RPCRT4!NdrpProxySendReceive+0xe
    0905f4f4 76bcc8e2 76adfa10 76ae49b8 0905f52c RPCRT4!NdrClientCall2+0x1a6
    0905f514 76ac98ad 0000000c 00000008 0905f5ac ole32!ObjectStublessClient+0xa2 [d:\w7rtm\com\rpc\ndrole\i386\stblsclt.cxx @ 474]
    0905f524 76aa805c 0b217684 0905f560 00000001 ole32!ObjectStubless+0xf [d:\w7rtm\com\rpc\ndrole\i386\stubless.asm @ 154]
    0905f5ac 76a9d4b4 00521408 720c90da 0905f6b8 ole32!CObjectContext::InternalContextCallback+0x128 [d:\w7rtm\com\ole32\com\dcomrem\context.cxx @ 4299]
    0905f5fc 720c879c 00521418 720c90da 0905f6b8 ole32!CObjectContext::ContextCallback+0x92 [d:\w7rtm\com\ole32\com\dcomrem\context.cxx @ 4184]
    0905f714 720c8837 720c857a 0905f770 a3482652 clr!CtxEntry::EnterContext+0x312
    0905f748 720c8665 00000000 a3482682 725695c8 clr!RCWCleanupList::ReleaseRCWListInCorrectCtx+0xdf
    0905f798 720b1536 a34826fe 00000000 005ae200 clr!RCWCleanupList::CleanupAllWrappers+0xff
    0905f7e4 720af497 00000001 0905f930 71fc76b3 clr!SyncBlockCache::CleanupSyncBlocks+0xde
    0905f7f0 71fc76b3 005ae200 0905f930 00591088 clr!Thread::DoExtraWorkForFinalizer+0x3b
    0905f804 720ef845 00000001 0905f8e8 005ae200 clr!WKS::GCHeap::FinalizerThreadWorker+0x9d
    0905f818 720ef8c7 0905f930 a34829d2 0905f930 clr!Thread::DoExtraWorkForFinalizer+0x114
    0905f8c8 720ef982 0905f930 a3482832 00000000 clr!Thread::ShouldChangeAbortToUnload+0x101
    0905f928 720e5c8f 00000000 005944d8 00000000 clr!Thread::ShouldChangeAbortToUnload+0x399
    0905f94c 720e5ca2 71fc7628 00000008 0905f994 clr!ManagedThreadBase_NoADTransition+0x35
    0905f95c 720901ba 71fc7628 a348288e 00000000 clr!ManagedThreadBase::FinalizerBase+0xf
    0905f994 720ef648 00000000 00000000 00000000 clr!WKS::GCHeap::FinalizerThreadStart+0x10c
    0905fa34 7645336a 00591088 0905fa80 772bbf32 clr!Thread::intermediateThreadProc+0x4b
    0905fa40 772bbf32 00591088 7e7fc1a3 00000000 kernel32!BaseThreadInitThunk+0xe
    0905fa80 772bbf05 720ef600 00591088 00000000 ntdll!__RtlUserThreadStart+0x70
    0905fa98 00000000 720ef600 00591088 00000000 ntdll!_RtlUserThreadStart+0x1b
    


    I believe that the next step is to look at the clrstack on Thread 0

    !clrstack on Thread 0

    0:000> !clrstack
    OS Thread Id: 0x83c (0)
    Child SP IP       Call Site
    003bcfc0 772a015d [InlinedCallFrame: 003bcfc0] System.GC._WaitForPendingFinalizers()
    003bcfbc 718823d4 System.GC.WaitForPendingFinalizers()
    003bd53c 71f5219b [DebuggerU2MCatchHandlerFrame: 003bd53c] 
    003bd508 71f5219b [CustomGCFrame: 003bd508] 
    003bd4dc 71f5219b [GCFrame: 003bd4dc] 
    003bd4c0 71f5219b [GCFrame: 003bd4c0] 
    003bd6e4 71f5219b [HelperMethodFrame_PROTECTOBJ: 003bd6e4] System.RuntimeMethodHandle._InvokeMethodFast(System.IRuntimeMethodInfo, System.Object, System.Object[], System.SignatureStruct ByRef, System.Reflection.MethodAttributes, System.RuntimeType)
    003bd760 7137d8c9 System.RuntimeMethodHandle.InvokeMethodFast(System.IRuntimeMethodInfo, System.Object, System.Object[], System.Signature, System.Reflection.MethodAttributes, System.RuntimeType)
    003bd7b4 7137d610 System.Reflection.RuntimeMethodInfo.Invoke(System.Object, System.Reflection.BindingFlags, System.Reflection.Binder, System.Object[], System.Globalization.CultureInfo, Boolean)
    003bd7f0 7137c22d System.Reflection.RuntimeMethodInfo.Invoke(System.Object, System.Reflection.BindingFlags, System.Reflection.Binder, System.Object[], System.Globalization.CultureInfo)
    003bd814 71316bcc System.RuntimeType.InvokeMember(System.String, System.Reflection.BindingFlags, System.Reflection.Binder, System.Object, System.Object[], System.Reflection.ParameterModifier[], System.Globalization.CultureInfo, System.String[])
    003bd974 71885fbd System.Type.InvokeMember(System.String, System.Reflection.BindingFlags, System.Reflection.Binder, System.Object, System.Object[])
    003bd98c 718ff890 DomainNeutralILStubClass.IL_STUB_COMtoCLR(IntPtr, Int32, IntPtr, System.StubHelpers.NativeVariant, IntPtr, IntPtr)
    003bdb64 71f52581 [GCFrame: 003bdb64] 
    003bdbd4 71f52581 [ContextTransitionFrame: 003bdbd4] 
    003bdc08 71f52581 [GCFrame: 003bdc08] 
    003bdd60 71f52581 [ComMethodFrame: 003bdd60] 
    

    I would very much appreciate some help.  Maybe you could point out to me in the above the call that is most important and how then in windbg to find out maybe the handle or callee to narrow down where the problem is coming from.

    Friday, April 4, 2014 8:00 AM

All replies

  • That looks like a classic deadlock. The UI thread is calling WaitForPendingFinalizer (which in my opinion is a really bad idea, but given how much legacy code Excel would need to work with, there might be a good reason for it), but the finalizer for the SyncBlockCache apparently must clean up its code on the UI thread; creating the deadlock.

    The finalizer should only be called if the object wasn't disposed. Try to find out who creates the object and make sure that they dispose of it on the UI thread.

    Friday, April 4, 2014 6:11 PM
  • Thanks Jared for looking at it and replying.  I am happy that I have got the right parts from windbg and am able to show the error.

    Now I think I am going to have to find out from windbg more information as I am still not convinced this problem is coming from my code.  My code in the addin is very simple and is in fact cut and copied directly from Microsoft's VSTO code.

    So how do I track down the cause of this deadlock?

    Saturday, April 5, 2014 10:44 AM
  • Next I would dump all stacks with

    ~*e!ClrStack

    and to check which thread holds locks

    !locks

    Then I would use on the thread that holds a lock

    !DumpStack

    to find out why it is not releasing a lock.

    Saturday, April 5, 2014 12:15 PM
  • Hi Alois,

    ~*e!clrstack

    0:019> ~*e!clrstack
    OS Thread Id: 0x19d8 (0)
    Child SP IP       Call Site
    0033d040 777d015d [InlinedCallFrame: 0033d040] System.GC._WaitForPendingFinalizers()
    0033d03c 71db23d4 System.GC.WaitForPendingFinalizers()
    0033d5bc 7248219b [DebuggerU2MCatchHandlerFrame: 0033d5bc] 
    0033d588 7248219b [CustomGCFrame: 0033d588] 
    0033d55c 7248219b [GCFrame: 0033d55c] 
    0033d540 7248219b [GCFrame: 0033d540] 
    0033d764 7248219b [HelperMethodFrame_PROTECTOBJ: 0033d764] System.RuntimeMethodHandle._InvokeMethodFast(System.IRuntimeMethodInfo, System.Object, System.Object[], System.SignatureStruct ByRef, System.Reflection.MethodAttributes, System.RuntimeType)
    0033d7e0 718ad8c9 System.RuntimeMethodHandle.InvokeMethodFast(System.IRuntimeMethodInfo, System.Object, System.Object[], System.Signature, System.Reflection.MethodAttributes, System.RuntimeType)
    0033d834 718ad610 System.Reflection.RuntimeMethodInfo.Invoke(System.Object, System.Reflection.BindingFlags, System.Reflection.Binder, System.Object[], System.Globalization.CultureInfo, Boolean)
    0033d870 718ac22d System.Reflection.RuntimeMethodInfo.Invoke(System.Object, System.Reflection.BindingFlags, System.Reflection.Binder, System.Object[], System.Globalization.CultureInfo)
    0033d894 71846bcc System.RuntimeType.InvokeMember(System.String, System.Reflection.BindingFlags, System.Reflection.Binder, System.Object, System.Object[], System.Reflection.ParameterModifier[], System.Globalization.CultureInfo, System.String[])
    0033d9f4 71db5fbd System.Type.InvokeMember(System.String, System.Reflection.BindingFlags, System.Reflection.Binder, System.Object, System.Object[])
    0033da0c 71e2f890 DomainNeutralILStubClass.IL_STUB_COMtoCLR(IntPtr, Int32, IntPtr, System.StubHelpers.NativeVariant, IntPtr, IntPtr)
    0033dbe4 72482581 [GCFrame: 0033dbe4] 
    0033dc54 72482581 [ContextTransitionFrame: 0033dc54] 
    0033dc88 72482581 [GCFrame: 0033dc88] 
    0033dde0 72482581 [ComMethodFrame: 0033dde0] 
    OS Thread Id: 0xd84 (1)
    Unable to walk the managed stack. The current thread is likely not a 
    managed thread. You can run !threads to get a list of managed threads in
    the process
    OS Thread Id: 0x14c8 (2)
    Unable to walk the managed stack. The current thread is likely not a 
    managed thread. You can run !threads to get a list of managed threads in
    the process
    OS Thread Id: 0xf9c (3)
    Unable to walk the managed stack. The current thread is likely not a 
    managed thread. You can run !threads to get a list of managed threads in
    the process
    OS Thread Id: 0x1268 (4)
    Unable to walk the managed stack. The current thread is likely not a 
    managed thread. You can run !threads to get a list of managed threads in
    the process
    OS Thread Id: 0x16f0 (5)
    Unable to walk the managed stack. The current thread is likely not a 
    managed thread. You can run !threads to get a list of managed threads in
    the process
    OS Thread Id: 0x11fc (6)
    Unable to walk the managed stack. The current thread is likely not a 
    managed thread. You can run !threads to get a list of managed threads in
    the process
    OS Thread Id: 0x1bc8 (7)
    Unable to walk the managed stack. The current thread is likely not a 
    managed thread. You can run !threads to get a list of managed threads in
    the process
    OS Thread Id: 0x698 (8)
    Unable to walk the managed stack. The current thread is likely not a 
    managed thread. You can run !threads to get a list of managed threads in
    the process
    OS Thread Id: 0x1a84 (9)
    Unable to walk the managed stack. The current thread is likely not a 
    managed thread. You can run !threads to get a list of managed threads in
    the process
    OS Thread Id: 0xeb0 (10)
    Unable to walk the managed stack. The current thread is likely not a 
    managed thread. You can run !threads to get a list of managed threads in
    the process
    OS Thread Id: 0x10ec (11)
    Child SP IP       Call Site
    05b3fc78 777cf8d1 [DebuggerU2MCatchHandlerFrame: 05b3fc78] 
    OS Thread Id: 0x428 (12)
    Child SP IP       Call Site
    GetFrameContext failed: 1
    OS Thread Id: 0xe2c (13)
    Unable to walk the managed stack. The current thread is likely not a 
    managed thread. You can run !threads to get a list of managed threads in
    the process
    OS Thread Id: 0x1ae8 (14)
    Unable to walk the managed stack. The current thread is likely not a 
    managed thread. You can run !threads to get a list of managed threads in
    the process
    OS Thread Id: 0x18ac (15)
    Unable to walk the managed stack. The current thread is likely not a 
    managed thread. You can run !threads to get a list of managed threads in
    the process
    OS Thread Id: 0x15c8 (16)
    Unable to walk the managed stack. The current thread is likely not a 
    managed thread. You can run !threads to get a list of managed threads in
    the process
    OS Thread Id: 0x1b94 (17)
    Unable to walk the managed stack. The current thread is likely not a 
    managed thread. You can run !threads to get a list of managed threads in
    the process
    OS Thread Id: 0x1738 (18)
    Child SP IP       Call Site
    GetFrameContext failed: 1
    OS Thread Id: 0x1bc0 (19)
    Unable to walk the managed stack. The current thread is likely not a 
    managed thread. You can run !threads to get a list of managed threads in
    the process


    DumpStack

    0:019> !DumpStack
    OS Thread Id: 0x1bc0 (19)
    Current frame: ntdll!DbgBreakPoint
    ChildEBP RetAddr  Caller, Callee
    0b4ffb44 7784f8ee ntdll!DbgUiRemoteBreakin+0x3c, calling ntdll!DbgBreakPoint
    0b4ffb74 7552336a kernel32!BaseThreadInitThunk+0xe
    0b4ffb80 777ebf32 ntdll!__RtlUserThreadStart+0x70
    0b4ffbc0 777ebf05 ntdll!_RtlUserThreadStart+0x1b, calling ntdll!__RtlUserThreadStart

    I did a !locks command and it just returns 1963 Connections but does not show any locks.  I quickly went through !locks -v and all seem to be NOT LOCKED

    Here is a ~*kb

       0  Id: 1b9c.19d8 Suspend: 1 Teb: 7efdd000 Unfrozen
    ChildEBP RetAddr  Args to Child              
    0033cbc4 762a15e9 00000002 0033cc14 00000001 ntdll!NtWaitForMultipleObjects+0x15
    0033cc60 755219fc 0033cc14 0033cc88 00000000 KERNELBASE!WaitForMultipleObjectsEx+0x100
    0033cca8 7590086a 00000002 7efde000 00000000 kernel32!WaitForMultipleObjectsExImplementation+0xe0
    0033ccfc 75d22bf1 00000050 00833000 ffffffff USER32!RealMsgWaitForMultipleObjectsEx+0x14d
    0033cd28 75d1202d 00833000 ffffffff 0033cd50 ole32!CCliModalLoop::BlockFn+0xa1 [d:\w7rtm\com\ole32\com\dcomrem\callctrl.cxx @ 1222]
    0033cda8 725ea2bd 00000002 ffffffff 00000001 ole32!CoWaitForMultipleHandles+0xcd [d:\w7rtm\com\ole32\com\dcomrem\sync.cxx @ 109]
    0033ce10 725ea249 00000001 00833000 00000000 clr!MsgWaitHelper+0x80
    0033ce30 7261ea17 00000001 00833000 00000000 clr!Thread::DoAppropriateAptStateWait+0x39
    0033cec4 7261ead8 00000001 00833000 00000000 clr!Thread::DoAppropriateWaitWorker+0x17d
    0033cf30 7261eb57 00000001 00833000 00000000 clr!Thread::DoAppropriateWait+0x60
    0033cf84 724a173e ffffffff 00000001 00000000 clr!CLREvent::WaitEx+0x106
    0033cf98 72577660 ffffffff 00000001 00000000 clr!CLREvent::Wait+0x19
    0033cff4 72637049 ffffffff 1caf5ef3 0033d040 clr!WKS::GCHeap::FinalizerThreadWait+0x114
    0033d034 71db23d4 1df009a9 72485c40 0033d5bc clr!GCInterface::WaitForPendingFinalizers+0x71
    0033d074 7248219b 00000000 00000000 0033d100 mscorlib_ni+0x7c23d4
    0033d084 724ba7aa 0033d150 00000000 0033d120 clr!CallDescrWorker+0x33
    0033d100 724ba94c 0033d150 00000000 0033d120 clr!CallDescrWorkerWithHandler+0x8e
    0033d240 724ba981 71db23a8 0033d364 0033d510 clr!MethodDesc::CallDescr+0x194
    0033d25c 724ba9a1 71db23a8 0033d364 0033d510 clr!MethodDesc::CallTargetWorker+0x21
    0033d274 72508d54 0033d510 1caf5aff 0033d7e4 clr!MethodDescCallSite::Call_RetArgSlot+0x1c
    0033d438 725090a6 71675d28 71db23a8 715f1000 clr!CallWithValueTypes_RetArgSlotWrapper+0x5c
    0033d6fc 72509268 71675d28 00000000 00000000 clr!InvokeImpl+0x621
    0033d7c8 718ad8c9 00840828 00000096 0033d7e4 clr!RuntimeMethodHandle::InvokeMethodFast+0x180
    0033d81c 718ad610 05d49ffc 00000096 05d4acc8 mscorlib_ni+0x2bd8c9
    0033d854 718ac22d 00000000 00000000 00000000 mscorlib_ni+0x2bd610
    0033d87c 71846bcc 00000000 00000000 05d3dd94 mscorlib_ni+0x2bc22d
    0033d9d0 71db5fbd 00000000 00000000 00000000 mscorlib_ni+0x256bcc
    0033d9f4 71e2f890 00000000 00000000 00000000 mscorlib_ni+0x7c5fbd
    0033da68 72482581 0033de38 00000000 00840000 mscorlib_ni+0x83f890
    0033da94 72575943 71e2f7d0 71db5fa0 05d49ffc clr!COMToCLRDispatchHelper+0x28
    0033db28 72575a1c 71db5fa0 05d49ffc 00000001 clr!BaseWrapper<Stub *,FunctionBase<Stub *,&DoNothing<Stub *>,&StubRelease<Stub>,2>,0,&CompareDefault<Stub *>,2>::~BaseWrapper<Stub *,FunctionBase<Stub *,&DoNothing<Stub *>,&StubRelease<Stub>,2>,0,&CompareDefault<Stub *>,2>+0xfa
    0033db4c 72575a82 00840828 0033dde0 049bf9e0 clr!COMToCLRWorkerBody+0xb4
    0033dba4 72576571 00840828 0033dde0 049bf9e0 clr!COMToCLRWorkerDebuggerWrapper+0x34
    0033ddb4 0366a182 00840828 0033dde0 1df009a9 clr!COMToCLRWorker+0x614
    WARNING: Frame IP not in any known module. Following frames may be wrong.
    0033ddc8 6a4a980d 0033de10 0033de38 00000000 0x366a182
    0033de5c 6a4a997a 049bf9f8 00000000 00000621 VSTOLoader!DllRegisterServer+0x61bb
    0033de8c 6a497ccb 050ce498 00000000 00000001 VSTOLoader!DllRegisterServer+0x6328
    0033dea0 6a4817de 00000621 00000003 0033df34 VSTOLoader!DllCanUnloadNow+0xb1cf
    0033deb4 2fc01899 050ce4e8 00000621 2fae1ad4 VSTOLoader+0x17de
    0033df00 2fc017f7 00000621 0033df34 03ab5d50 EXCEL!Ordinal40+0x221899
    0033df44 2fd65aa1 00000621 03ab5d68 00000000 EXCEL!Ordinal40+0x2217f7
    0033df6c 2fbb1dad 00000001 00000012 00000000 EXCEL!Ordinal40+0x385aa1
    0033e228 2fb08830 0033eb7c 00000012 00000000 EXCEL!Ordinal40+0x1d1dad
    0033e4e4 2fb0961e 00000000 0033eb7c 00000012 EXCEL!Ordinal40+0x128830
    0033e508 2fa10ae1 0033eb7c 00000012 00000000 EXCEL!Ordinal40+0x12961e
    0033e758 3032ab31 00000001 0033eb7c 00000012 EXCEL!Ordinal40+0x30ae1
    0033f81c 3070f2cd 080dd8d8 0033f890 0000fffe EXCEL!Ordinal40+0x94ab31
    0033fcc4 2fdb20f9 0033fd28 00000001 000080df EXCEL!LPenHelper+0x12f485
    0033fd64 2fa082fa 00000000 30943708 75900afa EXCEL!Ordinal40+0x3d20f9
    0033fe4c 2f9e3b60 00000000 30943c58 00764015 EXCEL!Ordinal40+0x282fa
    0033febc 2f9e3874 2f9e0000 00000000 00764015 EXCEL!Ordinal40+0x3b60
    0033ff4c 7552336a 7efde000 0033ff98 777ebf32 EXCEL!Ordinal40+0x3874
    0033ff58 777ebf32 7efde000 76d45a7b 00000000 kernel32!BaseThreadInitThunk+0xe
    0033ff98 777ebf05 2f9e2f7c 7efde000 00000000 ntdll!__RtlUserThreadStart+0x70
    0033ffb0 00000000 2f9e2f7c 7efde000 00000000 ntdll!_RtlUserThreadStart+0x1b
    
       1  Id: 1b9c.d84 Suspend: 1 Teb: 7efda000 Unfrozen
    ChildEBP RetAddr  Args to Child              
    02d7f828 762a149d 000001b8 00000000 00000000 ntdll!NtWaitForSingleObject+0x15
    02d7f894 75521194 000001b8 ffffffff 00000000 KERNELBASE!WaitForSingleObjectEx+0x98
    02d7f8ac 5e62ade5 000001b8 ffffffff 00000000 kernel32!WaitForSingleObjectExImplementation+0x75
    WARNING: Stack unwind information not available. Following frames may be wrong.
    02d7f8c0 2f9f37a6 000001b8 ffffffff 00000000 mso!Ordinal9535+0x1f
    02d7f8e0 2f9f36ed 00000000 02d7f8f8 7552336a EXCEL!Ordinal40+0x137a6
    02d7f8ec 7552336a 01df8000 02d7f938 777ebf32 EXCEL!Ordinal40+0x136ed
    02d7f8f8 777ebf32 01df8000 74305cdb 00000000 kernel32!BaseThreadInitThunk+0xe
    02d7f938 777ebf05 2f9f36e1 01df8000 00000000 ntdll!__RtlUserThreadStart+0x70
    02d7f950 00000000 2f9f36e1 01df8000 00000000 ntdll!_RtlUserThreadStart+0x1b
    
       2  Id: 1b9c.14c8 Suspend: 1 Teb: 7efd7000 Unfrozen
    ChildEBP RetAddr  Args to Child              
    0301f7bc 762a149d 000001c0 00000000 00000000 ntdll!NtWaitForSingleObject+0x15
    0301f828 75521194 000001c0 ffffffff 00000000 KERNELBASE!WaitForSingleObjectEx+0x98
    0301f840 5e62ade5 000001c0 ffffffff 00000000 kernel32!WaitForSingleObjectExImplementation+0x75
    WARNING: Stack unwind information not available. Following frames may be wrong.
    0301f854 2f9f37a6 000001c0 ffffffff 00000000 mso!Ordinal9535+0x1f
    0301f874 2f9f36ed 00000000 0301f88c 7552336a EXCEL!Ordinal40+0x137a6
    0301f880 7552336a 01e00000 0301f8cc 777ebf32 EXCEL!Ordinal40+0x136ed
    0301f88c 777ebf32 01e00000 75e65d2f 00000000 kernel32!BaseThreadInitThunk+0xe
    0301f8cc 777ebf05 2f9f36e1 01e00000 00000000 ntdll!__RtlUserThreadStart+0x70
    0301f8e4 00000000 2f9f36e1 01e00000 00000000 ntdll!_RtlUserThreadStart+0x1b
    
       3  Id: 1b9c.f9c Suspend: 1 Teb: 7efaf000 Unfrozen
    ChildEBP RetAddr  Args to Child              
    0323fbb8 762a149d 000001c8 00000000 00000000 ntdll!NtWaitForSingleObject+0x15
    0323fc24 75521194 000001c8 ffffffff 00000000 KERNELBASE!WaitForSingleObjectEx+0x98
    0323fc3c 5e62ade5 000001c8 ffffffff 00000000 kernel32!WaitForSingleObjectExImplementation+0x75
    WARNING: Stack unwind information not available. Following frames may be wrong.
    0323fc50 2f9f37a6 000001c8 ffffffff 00000000 mso!Ordinal9535+0x1f
    0323fc70 2f9f36ed 00000000 0323fc88 7552336a EXCEL!Ordinal40+0x137a6
    0323fc7c 7552336a 01e08000 0323fcc8 777ebf32 EXCEL!Ordinal40+0x136ed
    0323fc88 777ebf32 01e08000 75c4592b 00000000 kernel32!BaseThreadInitThunk+0xe
    0323fcc8 777ebf05 2f9f36e1 01e08000 00000000 ntdll!__RtlUserThreadStart+0x70
    0323fce0 00000000 2f9f36e1 01e08000 00000000 ntdll!_RtlUserThreadStart+0x1b
    
       4  Id: 1b9c.1268 Suspend: 1 Teb: 7efac000 Unfrozen
    ChildEBP RetAddr  Args to Child              
    0349f724 762a149d 000001d0 00000000 00000000 ntdll!NtWaitForSingleObject+0x15
    0349f790 75521194 000001d0 ffffffff 00000000 KERNELBASE!WaitForSingleObjectEx+0x98
    0349f7a8 5e62ade5 000001d0 ffffffff 00000000 kernel32!WaitForSingleObjectExImplementation+0x75
    WARNING: Stack unwind information not available. Following frames may be wrong.
    0349f7bc 2f9f37a6 000001d0 ffffffff 00000000 mso!Ordinal9535+0x1f
    0349f7dc 2f9f36ed 00000000 0349f7f4 7552336a EXCEL!Ordinal40+0x137a6
    0349f7e8 7552336a 01e10000 0349f834 777ebf32 EXCEL!Ordinal40+0x136ed
    0349f7f4 777ebf32 01e10000 75ae5dd7 00000000 kernel32!BaseThreadInitThunk+0xe
    0349f834 777ebf05 2f9f36e1 01e10000 00000000 ntdll!__RtlUserThreadStart+0x70
    0349f84c 00000000 2f9f36e1 01e10000 00000000 ntdll!_RtlUserThreadStart+0x1b
    
       5  Id: 1b9c.16f0 Suspend: 1 Teb: 7efa9000 Unfrozen
    ChildEBP RetAddr  Args to Child              
    035afcf4 777ec6c5 00000003 007cec88 00000001 ntdll!NtWaitForMultipleObjects+0x15
    035afe88 7552336a 00000000 035afed4 777ebf32 ntdll!TppWaiterpThread+0x33d
    035afe94 777ebf32 007cec58 75bd5b37 00000000 kernel32!BaseThreadInitThunk+0xe
    035afed4 777ebf05 777ec599 007cec58 00000000 ntdll!__RtlUserThreadStart+0x70
    035afeec 00000000 777ec599 007cec58 00000000 ntdll!_RtlUserThreadStart+0x1b
    
    #  6  Id: 1b9c.18cc Suspend: 1 Teb: 7efa6000 Unfrozen
    ChildEBP RetAddr  Args to Child              
    0887fbb8 7784f8ee 7e605e0b 00000000 00000000 ntdll!DbgBreakPoint
    0887fbe8 7552336a 00000000 0887fc34 777ebf32 ntdll!DbgUiRemoteBreakin+0x3c
    0887fbf4 777ebf32 00000000 7e6059d7 00000000 kernel32!BaseThreadInitThunk+0xe
    0887fc34 777ebf05 7784f8b2 00000000 00000000 ntdll!__RtlUserThreadStart+0x70
    0887fc4c 00000000 7784f8b2 00000000 00000000 ntdll!_RtlUserThreadStart+0x1b
    
      10  Id: 1b9c.eb0 Suspend: 1 Teb: 7ef9a000 Unfrozen
    ChildEBP RetAddr  Args to Child              
    05d1fdac 762a15e9 00000003 05d1fdfc 00000001 ntdll!NtWaitForMultipleObjects+0x15
    05d1fe48 755219fc 05d1fdfc 05d1fe70 00000000 KERNELBASE!WaitForMultipleObjectsEx+0x100
    05d1fe90 755241d8 00000003 7efde000 00000000 kernel32!WaitForMultipleObjectsExImplementation+0xe0
    05d1feac 725b35b8 00000003 05d1fed4 00000000 kernel32!WaitForMultipleObjects+0x18
    05d1ff10 725b34f6 194d7187 00000000 00000000 clr!DebuggerRCThread::MainLoop+0xd9
    05d1ff40 725b3431 194d71ab 00000000 00000000 clr!DebuggerRCThread::ThreadProc+0xca
    05d1ff6c 7552336a 00000000 05d1ffb8 777ebf32 clr!DebuggerRCThread::ThreadProcStatic+0x83
    05d1ff78 777ebf32 00000000 73365a5b 00000000 kernel32!BaseThreadInitThunk+0xe
    05d1ffb8 777ebf05 725b33ec 00000000 00000000 ntdll!__RtlUserThreadStart+0x70
    05d1ffd0 00000000 725b33ec 00000000 00000000 ntdll!_RtlUserThreadStart+0x1b
    
      11  Id: 1b9c.10ec Suspend: 1 Teb: 7ef97000 Unfrozen
    ChildEBP RetAddr  Args to Child              
    05b3f1ac 762a149d 000007a4 00000000 00000000 ntdll!NtWaitForSingleObject+0x15
    05b3f218 75521194 000007a4 ffffffff 00000000 KERNELBASE!WaitForSingleObjectEx+0x98
    05b3f230 75521148 000007a4 ffffffff 00000000 kernel32!WaitForSingleObjectExImplementation+0x75
    05b3f244 75d17690 000007a4 ffffffff 007e2020 kernel32!WaitForSingleObject+0x12
    05b3f268 75e3a4d1 007e2748 08073eb0 05b3f374 ole32!GetToSTA+0xad [d:\w7rtm\com\ole32\com\dcomrem\chancont.cxx @ 133]
    05b3f298 75e3cef0 05b3f360 05b3f488 007e2020 ole32!CRpcChannelBuffer::SwitchAptAndDispatchCall+0x140 [d:\w7rtm\com\ole32\com\dcomrem\channelb.cxx @ 4419]
    05b3f378 75d39d01 007e2020 05b3f488 05b3f470 ole32!CRpcChannelBuffer::SendReceive2+0xef [d:\w7rtm\com\ole32\com\dcomrem\channelb.cxx @ 4076]
    05b3f3f4 75d1792b 007e2020 05b3f488 05b3f470 ole32!CAptRpcChnl::SendReceive+0xaf [d:\w7rtm\com\ole32\com\dcomrem\callctrl.cxx @ 603]
    05b3f448 75e3ce06 00000001 0a088bf8 05b3f470 ole32!CCtxComChnl::SendReceive+0x95 [d:\w7rtm\com\ole32\com\dcomrem\ctxchnl.cxx @ 679]
    05b3f464 75be420b 0a3e17fc 05b3f4b4 75c60149 ole32!NdrExtpProxySendReceive+0x49 [d:\w7rtm\com\rpc\ndrole\proxy.cxx @ 1932]
    05b3f470 75c60149 194485c3 05b3f8bc 0700022b RPCRT4!NdrpProxySendReceive+0xe
    05b3f884 75e3c8e2 75d4fa10 75d549b8 05b3f8bc RPCRT4!NdrClientCall2+0x1a6
    05b3f8a4 75d398ad 0000000c 00000008 05b3f93c ole32!ObjectStublessClient+0xa2 [d:\w7rtm\com\rpc\ndrole\i386\stblsclt.cxx @ 474]
    05b3f8b4 75d1805c 0a3e17fc 05b3f8f0 00000001 ole32!ObjectStubless+0xf [d:\w7rtm\com\rpc\ndrole\i386\stubless.asm @ 154]
    05b3f93c 75d0d4b4 007c13e8 725f90da 05b3fa48 ole32!CObjectContext::InternalContextCallback+0x128 [d:\w7rtm\com\ole32\com\dcomrem\context.cxx @ 4299]
    05b3f98c 725f879c 007c13f8 725f90da 05b3fa48 ole32!CObjectContext::ContextCallback+0x92 [d:\w7rtm\com\ole32\com\dcomrem\context.cxx @ 4184]
    05b3faa4 725f8837 725f857a 05b3fb00 192f741f clr!CtxEntry::EnterContext+0x312
    05b3fad8 725f8665 00000000 192f75ef 72a995c8 clr!RCWCleanupList::ReleaseRCWListInCorrectCtx+0xdf
    05b3fb28 725e1536 192f75b3 00000000 0084c188 clr!RCWCleanupList::CleanupAllWrappers+0xff
    05b3fb74 725df497 00000001 05b3fcc0 724f76b3 clr!SyncBlockCache::CleanupSyncBlocks+0xde
    05b3fb80 724f76b3 0084c188 05b3fcc0 00833040 clr!Thread::DoExtraWorkForFinalizer+0x3b
    05b3fb94 7261f845 00000001 05b3fc78 0084c188 clr!WKS::GCHeap::FinalizerThreadWorker+0x9d
    05b3fba8 7261f8c7 05b3fcc0 192f729f 05b3fcc0 clr!Thread::DoExtraWorkForFinalizer+0x114
    05b3fc58 7261f982 05b3fcc0 192f727f 00000000 clr!Thread::ShouldChangeAbortToUnload+0x101
    05b3fcb8 72615c8f 00000000 00836490 00000000 clr!Thread::ShouldChangeAbortToUnload+0x399
    05b3fcdc 72615ca2 724f7628 00000008 05b3fd24 clr!ManagedThreadBase_NoADTransition+0x35
    05b3fcec 725c01ba 724f7628 192f73e3 00000000 clr!ManagedThreadBase::FinalizerBase+0xf
    05b3fd24 7261f648 00000000 00000000 00000000 clr!WKS::GCHeap::FinalizerThreadStart+0x10c
    05b3fdc0 7552336a 00833040 05b3fe0c 777ebf32 clr!Thread::intermediateThreadProc+0x4b
    05b3fdcc 777ebf32 00833040 73545bef 00000000 kernel32!BaseThreadInitThunk+0xe
    05b3fe0c 777ebf05 7261f600 00833040 00000000 ntdll!__RtlUserThreadStart+0x70
    05b3fe24 00000000 7261f600 00833040 00000000 ntdll!_RtlUserThreadStart+0x1b
    
      12  Id: 1b9c.428 Suspend: 1 Teb: 7ef94000 Unfrozen
    ChildEBP RetAddr  Args to Child              
    0821f974 762a149d 000003d8 00000000 00000000 ntdll!NtWaitForSingleObject+0x15
    0821f9e0 75521194 000003d8 ffffffff 00000000 KERNELBASE!WaitForSingleObjectEx+0x98
    0821f9f8 724a1806 000003d8 ffffffff 00000000 kernel32!WaitForSingleObjectExImplementation+0x75
    0821fa2c 724a1847 000003d8 ffffffff 00000000 clr!CLREvent::CreateManualEvent+0xf6
    0821fa7c 724a171d 00000000 14bd747b ffffffff clr!CLREvent::CreateManualEvent+0x137
    0821fabc 724a173e ffffffff 00000000 00000000 clr!CLREvent::WaitEx+0x126
    0821fad0 7256fd7d ffffffff 00000000 00000000 clr!CLREvent::Wait+0x19
    0821fba4 7261f648 08020520 00000000 00000000 clr!AppDomain::ADUnloadThreadStart+0x2f5
    0821fcc4 7552336a 080100c8 0821fd10 777ebf32 clr!Thread::intermediateThreadProc+0x4b
    0821fcd0 777ebf32 080100c8 7ec658f3 00000000 kernel32!BaseThreadInitThunk+0xe
    0821fd10 777ebf05 7261f600 080100c8 00000000 ntdll!__RtlUserThreadStart+0x70
    0821fd28 00000000 7261f600 080100c8 00000000 ntdll!_RtlUserThreadStart+0x1b
    
      13  Id: 1b9c.e2c Suspend: 1 Teb: 7ef2f000 Unfrozen
    ChildEBP RetAddr  Args to Child              
    0865fc80 762a149d 00000498 00000001 00000000 ntdll!NtWaitForSingleObject+0x15
    0865fcec 75521194 00000498 ffffffff 00000001 KERNELBASE!WaitForSingleObjectEx+0x98
    0865fd04 5e654179 00000498 ffffffff 00000001 kernel32!WaitForSingleObjectExImplementation+0x75
    WARNING: Stack unwind information not available. Following frames may be wrong.
    0865fd24 777ebf32 00000000 7e825887 00000000 mso!Ordinal7312+0xe0c
    0865fd64 777ebf05 5e654167 00000000 00000000 ntdll!__RtlUserThreadStart+0x70
    0865fd7c 00000000 5e654167 00000000 00000000 ntdll!_RtlUserThreadStart+0x1b
    
      14  Id: 1b9c.14fc Suspend: 1 Teb: 7ef2c000 Unfrozen
    ChildEBP RetAddr  Args to Child              
    0b38f8d8 77801ad0 0000023c 0b38f98c 7ddf5fdb ntdll!NtWaitForWorkViaWorkerFactory+0x12
    0b38fa38 7552336a 007cde00 0b38fa84 777ebf32 ntdll!TppWorkerThread+0x216
    0b38fa44 777ebf32 007cde00 7ddf5f67 00000000 kernel32!BaseThreadInitThunk+0xe
    0b38fa84 777ebf05 778025c1 007cde00 00000000 ntdll!__RtlUserThreadStart+0x70
    0b38fa9c 00000000 778025c1 007cde00 00000000 ntdll!_RtlUserThreadStart+0x1b
    
      18  Id: 1b9c.1738 Suspend: 1 Teb: 7ef20000 Unfrozen
    ChildEBP RetAddr  Args to Child              
    0944f774 7553f8be 0000060c 00000614 00000000 ntdll!NtSignalAndWaitForSingleObject+0x15
    0944f7e4 5ed17e88 0000060c 00000614 ffffffff kernel32!SignalObjectAndWait+0xbc
    WARNING: Stack unwind information not available. Following frames may be wrong.
    0944f820 5ed171a0 00000000 00000000 080bc6c0 mso!Ordinal9221+0x337f
    0944f860 7552336a 080bc6c0 0944f8ac 777ebf32 mso!Ordinal9221+0x2697
    0944f86c 777ebf32 080bc6c0 7fa35d4f 00000000 kernel32!BaseThreadInitThunk+0xe
    0944f8ac 777ebf05 5ed170b3 080bc6c0 00000000 ntdll!__RtlUserThreadStart+0x70
    0944f8c4 00000000 5ed170b3 080bc6c0 00000000 ntdll!_RtlUserThreadStart+0x1b
    


    • Edited by donky73 Saturday, April 5, 2014 3:52 PM
    Saturday, April 5, 2014 3:20 PM
  • I believe that the problem or at least one of them is the ole32!GetToSTA in Thread 11.  

    It looks like this

    0571eee8 7676a4d1 00612760 05399bc8 0571eff4 ole32!GetToSTA+0xad [d:\w7rtm\com\ole32\com\dcomrem\chancont.cxx @ 133]


    Which as far as I understand 00612760 which is the first parameter is the part I need to look at.

    I called dc 00612760

    0:011> dc 00612760
    00612760  006127e0 006126e0 0000112c 00001828  .'a..&a.,...(...
    00612770  e635b5d2 26fe807d 07bfaac6 50149b06  ..5.}..&.......P
    00612780  07bfaac6 50149b06 00007c04 1828112c  .......P.|..,.(.
    00612790  c50554b0 e7fd62de 00000303 00060724  .T...b......$...
    006127a0  053ee5f8 00000000 00000000 00000000  ..>.............
    006127b0  00000001 ffffffff 00602ca8 09de2664  .........,`.d&..
    006127c0  00000003 00000000 00000000 00000000  ................
    006127d0  00000000 00070005 00000000 00000000  ................


    I checked that 0000112c is my excel process so 00001828 is the thread it is calling into

    0:011> !Threads
    ThreadCount:      4
    UnstartedThread:  0
    BackgroundThread: 4
    PendingThread:    0
    DeadThread:       0
    Hosted Runtime:   no
                                       PreEmptive   GC Alloc                Lock
           ID  OSID ThreadOBJ    State GC           Context       Domain   Count APT Exception
       0    1  1978 0066f908   2004220 Enabled  05f338f8:05f34140 05340cf8     0 STA
      11    2   d68 0067b268      b220 Enabled  00000000:00000000 00665578     0 MTA (Finalizer)
      12    3  184c 05341450      1220 Enabled  00000000:00000000 00665578     0 Ukn
      18    4  1828 09ddaeb0       220 Enabled  00000000:00000000 00665578     0 STA

    Which shows that it is Thread 18.  This I know from Visual Studio is the VSTA smart tags thread. And also would be the reason why when I turn smart tags off I dont have this problem.

    So if I am on the right trail what is the next step or what is the Thread 18 doing, what do I need to do with it?

    Sunday, April 6, 2014 9:22 AM
  • Hello,

    >>Microsoft Excel is waiting for another application to complete an OLE action

    For this error, you can check this KB:

    http://support.microsoft.com/kb/2663513/en-US

    Hope it to be helpful.

    Regards.


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    Tuesday, April 8, 2014 2:38 AM
    Moderator
  • I have seen that KB.

    As you can see from the information above it appears to me that Excel and the VSTO smarttags code in other words not my code is having the problem.Thus if I can get to the bottom of which objects is trying to be released at what time I might be able to work around it.

    Currently the only solution is to turn off smarttags which is obviously not a solution.


    • Edited by donky73 Tuesday, April 8, 2014 9:58 AM
    Tuesday, April 8, 2014 9:58 AM
  • Hello,

    You can refer to this blog:

    How to: Debug Deadlocks Using Windbg?

    Regards.

    Wednesday, April 16, 2014 6:30 AM