Date: prev next · Thread: first prev next last
2015 Archives by date, by thread · List index


Hi ! I have a deadlock question to ask you.  I hope you can help me, thank
you!
I am trying to program a ContextMenuInterceptor by C++ in Secondary
development. but when I program in notifyContextMenuExecute method like :

class ContextMenuInterceptor : public
WeakImplHelper1<XContextMenuInterceptor>
{
    virtual ContextMenuInterceptorAction SAL_CALL notifyContextMenuExecute(
const ContextMenuExecuteEvent& aEvent )
       throw (::css::uno::RuntimeException, ::std::exception);
}

ContextMenuInterceptorAction
ContextMenuInterceptor::notifyContextMenuExecute( const
ContextMenuExecuteEvent& aEvent )
{
 Reference<XSelectionSupplier> xSupplier = aEvent.Selection;
 Any any = xSupplier->getSelection();
}

It leads to deadlock.

///mutli-threaded backtrace
main thread:
0  Id: 5418.4e60 Suspend: 1 Teb: 7efdd000 Unfrozen
ChildEBP RetAddr  Args to Child
00edd608 74dd15f7 00000002 00edd658 00000001
ntdll!ZwWaitForMultipleObjects+0x15 (FPO: [5,0,0])
00edd6a4 764b19f8 00edd658 00edd6cc 00000000
KERNELBASE!WaitForMultipleObjectsEx+0x100 (FPO: [Non-Fpo])
00edd6ec 76f1086a 00000002 7efde000 00000000
kernel32!WaitForMultipleObjectsExImplementation+0xe0 (FPO: [Non-Fpo])
00edd740 76f10b69 0000005c 00edd7a8 ffffffff
USER32!RealMsgWaitForMultipleObjectsEx+0x14d (FPO: [Non-Fpo])
00edd75c 0fcbca13 00000001 00edd7a8 00000000
USER32!MsgWaitForMultipleObjects+0x1f (FPO: [Non-Fpo])
00edd7a0 0fe359db 000002e4 00000000 51ddb8ac sal3!osl_waitCondition+0x83
(FPO: [Non-Fpo]) (CONV: cdecl)
[d:\libreofficecomplie\4.3.3.2_pure_src\sal\osl\w32\conditn.c @ 99]
00edd7f8 0fe3ea74 0abb5a08 00000000 00000000
cppu3!cppu_threadpool::JobQueue::enter+0x10b (FPO: [Non-Fpo]) (CONV:
thiscall)
[d:\libreofficecomplie\4.3.3.2_pure_src\cppu\source\threadpool\jobqueue.cxx
@ 81]
00edd840 0fe40c2d 00edd864 0abb5a08 00000000
cppu3!cppu_threadpool::ThreadPool::enter+0x104 (FPO: [Non-Fpo]) (CONV:
thiscall)
[d:\libreofficecomplie\4.3.3.2_pure_src\cppu\source\threadpool\threadpool.cxx
@ 349]
00edd878 0b6c37e8 0abb5a08 00edd8b4 53ebaa3a
cppu3!uno_threadpool_enter+0x8d (FPO: [Non-Fpo]) (CONV: cdecl)
[d:\libreofficecomplie\4.3.3.2_pure_src\cppu\source\threadpool\threadpool.cxx
@ 454]
00edd908 0b6e6614 0b082100 00edd980 00000000
binaryurplo!binaryurp::Bridge::makeCall+0x148 (FPO: [Non-Fpo]) (CONV:
thiscall)
[d:\libreofficecomplie\4.3.3.2_pure_src\binaryurp\source\bridge.cxx @ 626]
00edda14 0b6e61d2 0b095768 00eddc48 00eddb00
binaryurplo!binaryurp::Proxy::do_dispatch_throw+0x294 (FPO: [Non-Fpo])
(CONV: thiscall)
[d:\libreofficecomplie\4.3.3.2_pure_src\binaryurp\source\proxy.cxx @ 184]
00eddaac 0b6e6c86 0b095768 00eddc48 00eddb00
binaryurplo!binaryurp::Proxy::do_dispatch+0x52 (FPO: [Non-Fpo]) (CONV:
thiscall)
[d:\libreofficecomplie\4.3.3.2_pure_src\binaryurp\source\proxy.cxx @ 107]
00eddac4 085629cb 0b0820f0 0b095768 00eddc48
binaryurplo!proxy_dispatchInterface+0x36 (FPO: [Non-Fpo]) (CONV: cdecl)
[d:\libreofficecomplie\4.3.3.2_pure_src\binaryurp\source\proxy.cxx @ 61]
00eddb8c 08562fc0 0b0f9a88 0b095768 0b09e430 msci_uno!`anonymous
namespace'::cpp2uno_call+0x2eb (FPO: [Non-Fpo]) (CONV: cdecl)
[d:\libreofficecomplie\4.3.3.2_pure_src\bridges\source\cpp_uno\msvc_win32_intel\cpp2uno.cxx
@ 155]
00eddc30 08563091 00eddc50 00000003 00000000 msci_uno!`anonymous
namespace'::cpp_mediate+0x3e0 (FPO: [Non-Fpo]) (CONV: cdecl)
[d:\libreofficecomplie\4.3.3.2_pure_src\bridges\source\cpp_uno\msvc_win32_intel\cpp2uno.cxx
@ 334]
00eddc4c 055a0d6c 0b0f9a9c 00eddd00 51ddb52f msci_uno!`anonymous
namespace'::cpp_vtable_call+0x11 (FPO: [Non-Fpo]) (CONV: cdecl)
[d:\libreofficecomplie\4.3.3.2_pure_src\bridges\source\cpp_uno\msvc_win32_intel\cpp2uno.cxx
@ 366]
00eddcec 054e288d 0b045970 00edde28 00edde30
sfxlo!SfxViewShell::TryContextMenuInterception+0x1bc (FPO: [Non-Fpo])
(CONV: thiscall)
[d:\libreofficecomplie\4.3.3.2_pure_src\sfx2\source\view\viewsh.cxx @ 1976]
00edde6c 055aa313 0adcb3b8 0adda8f0 00edde90
sfxlo!SfxPopupMenuManager::ExecutePopup+0x37d (FPO: [Non-Fpo]) (CONV:
cdecl) [d:\libreofficecomplie\4.3.3.2_pure_src\sfx2\source\menu\mnumgr.cxx
@ 423]
00eddeb8 1929c64d 00eddf2c 00000000 0add4ae0
sfxlo!SfxDispatcher::ExecutePopup+0x153 (FPO: [Non-Fpo]) (CONV: cdecl)
[d:\libreofficecomplie\4.3.3.2_pure_src\sfx2\source\control\dispatch.cxx @
2181]
00ede17c 04a514d5 00ede1a0 51dd8810 0add4ae0 swlo!SwEditWin::Command+0x5ed
(FPO: [Non-Fpo]) (CONV: thiscall)
[d:\libreofficecomplie\4.3.3.2_pure_src\sw\source\core\uibase\docvw\edtwin.cxx
@ 5349]


child thread:
19  Id: 5418.55f4 Suspend: 1 Teb: 7ef84000 Unfrozen
ChildEBP RetAddr  Args to Child
1ffdf178 7742d993 00000144 00000000 00000000
ntdll!NtWaitForSingleObject+0x15 (FPO: [3,0,0])
1ffdf1dc 7742d877 00000000 00000000 0ad7ba60
ntdll!RtlpWaitOnCriticalSection+0x13e (FPO: [Non-Fpo])
1ffdf204 0fcbcf85 002a0958 002a0958 1ffdf228
ntdll!RtlEnterCriticalSection+0x150 (FPO: [Non-Fpo])
1ffdf214 04918bc5 002a0958 002a092c 002a1820 sal3!osl_acquireMutex+0x45
(FPO: [Non-Fpo]) (CONV: cdecl)
[d:\libreofficecomplie\4.3.3.2_pure_src\sal\osl\w32\mutex.c @ 72]
1ffdf228 04db5b12 002a0928 1ffdf240 048f7051 vcllo!osl::Mutex::acquire+0x15
(FPO: [Non-Fpo]) (CONV: thiscall)
[d:\libreofficecomplie\4.3.3.2_pure_src\include\osl\mutex.hxx @ 58]
1ffdf234 048f7051 1ffdf24c 1ffdf26c 190311c8
vcllo!SalYieldMutex::acquire+0x12 (FPO: [Non-Fpo]) (CONV: thiscall)
[d:\libreofficecomplie\4.3.3.2_pure_src\vcl\win\source\app\salinst.cxx @
134]
1ffdf240 190311c8 4d8b0b1e 002a0928 ffffffff
vcllo!SolarMutexGuard::SolarMutexGuard+0x21 (FPO: [Non-Fpo]) (CONV:
thiscall) [d:\libreofficecomplie\4.3.3.2_pure_src\include\vcl\svapp.hxx @
1565]
1ffdf26c 19031bfd 4d8b0bfa 1de8a620 1ffdf350
swlo!sw::UnoImplPtr<SwXTextRanges::Impl>::~UnoImplPtr<SwXTextRanges::Impl>+0x38
(FPO: [Non-Fpo]) (CONV: thiscall)
[d:\libreofficecomplie\4.3.3.2_pure_src\sw\inc\unobaseclass.hxx @ 107]
1ffdf288 19032bcf 1de8a620 1ffdf2ac 0f1266c3
swlo!SwXTextRanges::~SwXTextRanges+0x6d (FPO: [Non-Fpo]) (CONV: thiscall)
[d:\libreofficecomplie\4.3.3.2_pure_src\sw\source\core\unocore\unoobj2.cxx
@ 1576]
1ffdf294 0f1266c3 00000001 0fe64ff9 1de8a620 swlo!SwXTextRanges::`scalar
deleting destructor'+0xf (FPO: [Non-Fpo]) (CONV: thiscall)
1ffdf2ac 1903a5ad 1de8a620 1ffdf2d4 0856a282
cppuhelper3MSC!cppu::OWeakObject::release+0x43 (FPO: [Non-Fpo]) (CONV:
cdecl) [d:\libreofficecomplie\4.3.3.2_pure_src\cppuhelper\source\weak.cxx @
204]
1ffdf2b8 0856a282 1de8a620 0aceed80 0abb78b8
swlo!cppu::WeakImplHelper3<com::sun::star::lang::XUnoTunnel,com::sun::star::lang::XServiceInfo,com::sun::star::container::XIndexAccess>::release+0xd
(FPO: [Non-Fpo]) (CONV: cdecl)
[d:\libreofficecomplie\4.3.3.2_pure_src\include\cppuhelper\implbase3.hxx @
107]
1ffdf2d4 0fe654a7 0abb7860 0b166808 4ecd9c08
msci_uno!bridges::cpp_uno::shared::freeUnoInterfaceProxy+0x82 (FPO:
[Non-Fpo]) (CONV: cdecl)
[d:\libreofficecomplie\4.3.3.2_pure_src\bridges\source\cpp_uno\shared\unointerfaceproxy.cxx
@ 43]
1ffdf35c 0fe58811 1ffdf3a0 00000000 00000000
cppu3!s_stub_defenv_revokeInterface+0x207 (FPO: [Non-Fpo]) (CONV: cdecl)
[d:\libreofficecomplie\4.3.3.2_pure_src\cppu\source\uno\lbenv.cxx @ 391]
1ffdf374 0fe590ea 00000000 0abb7860 0fe652a0
cppu3!s_environment_invoke_v+0x91 (FPO: [Non-Fpo]) (CONV: cdecl)
[d:\libreofficecomplie\4.3.3.2_pure_src\cppu\source\uno\envstack.cxx @ 294]
1ffdf38c 0fe590bb 0abb7860 0fe652a0 1ffdf3a0
cppu3!uno_Environment_invoke_v+0x1a (FPO: [Non-Fpo]) (CONV: cdecl)
[d:\libreofficecomplie\4.3.3.2_pure_src\cppu\source\uno\envstack.cxx @ 313]
1ffdf3a4 0fe64ff9 0abb7860 0fe652a0 0abb7860
cppu3!uno_Environment_invoke+0x1b (FPO: [Non-Fpo]) (CONV: cdecl)
[d:\libreofficecomplie\4.3.3.2_pure_src\cppu\source\uno\envstack.cxx @ 322]
1ffdf3bc 0856a307 0abb7860 0b166808 1ffdf3dc
cppu3!defenv_revokeInterface+0x19 (FPO: [Non-Fpo]) (CONV: cdecl)
[d:\libreofficecomplie\4.3.3.2_pure_src\cppu\source\uno\lbenv.cxx @ 447]
1ffdf3cc 0b6ba5bf 0b166808 1ffdf438 1ffdf458
msci_uno!bridges::cpp_uno::shared::releaseProxy+0x37 (FPO: [Non-Fpo])
(CONV: cdecl)
[d:\libreofficecomplie\4.3.3.2_pure_src\bridges\source\cpp_uno\shared\unointerfaceproxy.cxx
@ 85]
1ffdf3dc 0b6c4fb8 4cfb876a 00000002 00000000
binaryurplo!com::sun::star::uno::UnoInterfaceReference::~UnoInterfaceReference+0x1f
(FPO: [Non-Fpo]) (CONV: thiscall)
[d:\libreofficecomplie\4.3.3.2_pure_src\include\uno\dispatcher.hxx @ 88]

//
CritSec +2a0958 at 002a0958
WaiterWoken        No
LockCount          1
RecursionCount     1
OwningThread       4e60
EntryCount         0
ContentionCount    14

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.