Description: current master f1604675e71c67024887d12bf73ccb86ac05a7a3 the problem is: * thread 6 runs async call SwXTextDocument::release() which blocks to acquire SolarMutex * thread 1 holds SolarMutex, blocks on sync call on same aThreadId Steps to Reproduce: have only seen it once Actual Results: (gdb) thread apply all bt Thread 8 (Thread 0x7faa995c7700 (LWP 612145)): #0 0x00007faabb116610 in __lll_lock_wait () at /lib64/libpthread.so.0 #1 0x00007faabb10efe1 in pthread_mutex_lock () at /lib64/libpthread.so.0 #2 0x00007faabb995ba6 in osl_acquireMutex(oslMutex) (pMutex=0x8b33b0) at /work/lo/master/sal/osl/unx/mutex.cxx:100 #3 0x00007faab3a42867 in osl::Mutex::acquire() (this=0x8b85b8) at /work/lo/master/include/osl/mutex.hxx:57 #4 0x00007faab43aa1ba in SvpSalYieldMutex::doAcquire(unsigned int) (this=0x8b85b0, nLockCount=1) at /work/lo/master/vcl/headless/svpinst.cxx:360 #5 0x00007faaa90e8d6e in comphelper::SolarMutex::acquire(unsigned int) (this=0x8b85b0, nLockCount=1) at /work/lo/master/include/comphelper/solarmutex.hxx:86 #6 0x00007faaa90e91a5 in osl::Guard::Guard(comphelper::SolarMutex&) (this=0x7faa995c5d80, t=...) at /work/lo/master/include/osl/mutex.hxx:135 #7 0x00007faaa90e8dc3 in SolarMutexGuard::SolarMutexGuard() (this=0x7faa995c5d80) at /work/lo/master/include/vcl/svapp.hxx:1359 #8 0x00007faaa9158476 in framework::OComponentAccess::createEnumeration() (this=0x5890aa0) at /work/lo/master/framework/source/helper/ocomponentaccess.cxx:55 #9 0x00007faabb67ff28 in gcc3::callVirtualMethod(void*, unsigned int, void*, _typelib_TypeDescriptionReference*, bool, unsigned long*, unsigned int, unsigned long*, double*) (pThis=0x5890ac8, nVtableIndex=5, pRegisterReturn=0x7faa995c5f20, pReturnTypeRef=0x9f66b0, bSimpleReturn=false, pStack=0x7faa995c5f30, nStack=0, pGPR=0x7faa995c6060, pFPR=0x7faa995c6090) at /work/lo/master/bridges/source/cpp_uno/gcc3_linux_x86-64/callvirtualmethod.cxx:133 #10 0x00007faabb67eb7b in cpp_call(bridges::cpp_uno::shared::UnoInterfaceProxy*, bridges::cpp_uno::shared::VtableSlot, typelib_TypeDescriptionReference*, sal_Int32, typelib_MethodParameter*, void*, void**, uno_Any**) (pThis=0x58914b0, aVtableSlot=..., pReturnTypeRef=0x9f66b0, nParams=0, pParams=0x0, pUnoReturn=0x588dce0, pUnoArgs=0x0, ppUnoExc=0x7faa995c6200) at /work/lo/master/bridges/source/cpp_uno/gcc3_linux_x86-64/uno2cpp.cxx:233 #11 0x00007faabb67f596 in bridges::cpp_uno::shared::unoInterfaceProxyDispatch(uno_Interface*, typelib_TypeDescription const*, void*, void**, uno_Any**) (pUnoI=0x58914b0, pMemberDescr=0x9f8190, pReturn=0x588dce0, pArgs=0x0, ppException=0x7faa995c6200) at /work/lo/master/bridges/source/cpp_uno/gcc3_linux_x86-64/uno2cpp.cxx:413 #12 0x00007faaa9f7a3d7 in binaryurp::IncomingRequest::execute_throw(binaryurp::BinaryAny*, std::__debug::vector >*) const (this=0x5891210, returnValue=0x7faa995c65c0, outArguments=0x7faa995c6640) at /work/lo/master/binaryurp/source/incomingrequest.cxx:236 #13 0x00007faaa9f79280 in binaryurp::IncomingRequest::execute() const (this=0x5891210) at /work/lo/master/binaryurp/source/incomingrequest.cxx:79 #14 0x00007faaa9f9de95 in binaryurp::(anonymous namespace)::request(void*) (pThreadSpecificData=0x5891210) at /work/lo/master/binaryurp/source/reader.cxx:85 #15 0x00007faaba3c22de in cppu_threadpool::JobQueue::enter(long, bool) (this=0x5891c40, nDisposeId=92869344, bReturnWhenNoJob=true) at /work/lo/master/cppu/source/threadpool/jobqueue.cxx:107 #16 0x00007faaba3c89ab in cppu_threadpool::ORequestThread::run() (this=0x58912e0) at /work/lo/master/cppu/source/threadpool/thread.cxx:165 #17 0x00007faaba3c8eda in osl::threadFunc(void*) (param=0x58912f0) at /work/lo/master/include/osl/thread.hxx:185 #18 0x00007faabb9acbfb in osl_thread_start_Impl(void*) (pData=0x20cb060) at /work/lo/master/sal/osl/unx/thread.cxx:256 #19 0x00007faabb10c4e2 in start_thread () at /lib64/libpthread.so.0 #20 0x00007faabb594693 in clone () at /lib64/libc.so.6 Thread 7 (Thread 0x7faa93c74700 (LWP 609090)): #0 0x00007faabb112d45 in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0 #1 0x00007faabb983130 in osl_waitCondition(oslCondition, TimeValue const*) (Condition=0x1a92660, pTimeout=0x0) at /work/lo/master/sal/osl/unx/conditn.cxx:231 #2 0x00007faaaff0cb1c in osl::Condition::wait(TimeValue const*) (this=0x4fe2000, pTimeout=0x0) at /work/lo/master/include/osl/conditn.hxx:119 #3 0x00007faaaff0768b in GrammarCheckingIterator::DequeueAndCheck() (this=0x4fe1e50) at /work/lo/master/linguistic/source/gciterator.cxx:701 #4 0x00007faaaff04e16 in lcl_workerfunc(void*) (gci=0x4fe1e50) at /work/lo/master/linguistic/source/gciterator.cxx:217 #5 0x00007faabb9acbfb in osl_thread_start_Impl(void*) (pData=0x551fd80) at /work/lo/master/sal/osl/unx/thread.cxx:256 #6 0x00007faabb10c4e2 in start_thread () at /lib64/libpthread.so.0 #7 0x00007faabb594693 in clone () at /lib64/libc.so.6 Thread 6 (Thread 0x7faaab0fb700 (LWP 608995)): #0 0x00007faabb116610 in __lll_lock_wait () at /lib64/libpthread.so.0 #1 0x00007faabb10efe1 in pthread_mutex_lock () at /lib64/libpthread.so.0 #2 0x00007faabb995ba6 in osl_acquireMutex(oslMutex) (pMutex=0x8b33b0) at /work/lo/master/sal/osl/unx/mutex.cxx:100 #3 0x00007faab3a42867 in osl::Mutex::acquire() (this=0x8b85b8) at /work/lo/master/include/osl/mutex.hxx:57 #4 0x00007faab43aa1ba in SvpSalYieldMutex::doAcquire(unsigned int) (this=0x8b85b0, nLockCount=1) at /work/lo/master/vcl/headless/svpinst.cxx:360 #5 0x00007faa96194988 in comphelper::SolarMutex::acquire(unsigned int) (this=0x8b85b0, nLockCount=1) at /work/lo/master/include/comphelper/solarmutex.hxx:86 #6 0x00007faa96195ec7 in osl::Guard::Guard(comphelper::SolarMutex&) (this=0x7faaab0f9be0, t=...) at /work/lo/master/include/osl/mutex.hxx:135 #7 0x00007faa961949dd in SolarMutexGuard::SolarMutexGuard() (this=0x7faaab0f9be0) at /work/lo/master/include/vcl/svapp.hxx:1359 #8 0x00007faa97439c4c in sw::UnoImplPtrDeleter::operator()(SwXTextDocument::Impl*) (this=0x57598d0, pUnoImpl=0x57e81c0) at /work/lo/master/sw/inc/unobaseclass.hxx:92 #9 0x00007faa97437572 in std::unique_ptr >::~unique_ptr() (this=0x57598d0, __in_chrg=) at /usr/include/c++/9/bits/unique_ptr.h:284 #10 0x00007faa9741af82 in SwXTextDocument::~SwXTextDocument() (this=0x5759620, __in_chrg=) at /work/lo/master/sw/source/uibase/uno/unotxdoc.cxx:441 #11 0x00007faa9741b036 in SwXTextDocument::~SwXTextDocument() (this=0x5759620, __in_chrg=) at /work/lo/master/sw/source/uibase/uno/unotxdoc.cxx:459 #12 0x00007faaba2b0824 in cppu::OWeakObject::release() (this=0x5759760) at /work/lo/master/cppuhelper/source/weak.cxx:233 #13 0x00007faab8ecc5fe in SfxBaseModel::release() (this=0x5759760) at /work/lo/master/sfx2/source/doc/sfxbasemodel.cxx:563 #14 0x00007faa974192f8 in SwXTextDocument::release() (this=0x5759620) at /work/lo/master/sw/source/uibase/uno/unotxdoc.cxx:363 #15 0x00007faabb681ae9 in bridges::cpp_uno::shared::freeUnoInterfaceProxy(uno_ExtEnvironment*, void*) (pEnv=0x20353d0, pProxy=0x583f900) at /work/lo/master/bridges/source/cpp_uno/shared/unointerfaceproxy.cxx:41 #16 0x00007faaba40b990 in (anonymous namespace)::s_stub_defenv_revokeInterface(va_list*) (pParam=0x7faaab0f9f50) at /work/lo/master/cppu/source/uno/lbenv.cxx:367 #17 0x00007faaba406790 in s_environment_invoke_v(uno_Environment*, uno_Environment*, uno_EnvCallee*, va_list*) (pCurrEnv=0x0, pTargetEnv=0x20353d0, pCallee=0x7faaba40b5f9 <(anonymous namespace)::s_stub_defenv_revokeInterface(va_list*)>, pParam=0x7faaab0f9f50) at /work/lo/master/cppu/source/uno/EnvStack.cxx:296 #18 0x00007faaba406846 in uno_Environment_invoke_v(uno_Environment*, uno_EnvCallee*, va_list*) (pTargetEnv=0x20353d0, pCallee=0x7faaba40b5f9 <(anonymous namespace)::s_stub_defenv_revokeInterface(va_list*)>, pParam=0x7faaab0f9f50) at /work/lo/master/cppu/source/uno/EnvStack.cxx:315 #19 0x00007faaba406901 in uno_Environment_invoke(uno_Environment*, uno_EnvCallee*, ...) (pEnv=0x20353d0, pCallee=0x7faaba40b5f9 <(anonymous namespace)::s_stub_defenv_revokeInterface(va_list*)>) at /work/lo/master/cppu/source/uno/EnvStack.cxx:324 #20 0x00007faaba40bdd6 in (anonymous namespace)::defenv_revokeInterface(uno_ExtEnvironment*, void*) (pEnv=0x20353d0, pInterface=0x583f900) at /work/lo/master/cppu/source/uno/lbenv.cxx:421 #21 0x00007faabb681c11 in bridges::cpp_uno::shared::releaseProxy(uno_Interface*) (pUnoI=0x583f900) at /work/lo/master/bridges/source/cpp_uno/shared/unointerfaceproxy.cxx:78 #22 0x00007faaa9f58e23 in com::sun::star::uno::UnoInterfaceReference::~UnoInterfaceReference() (this=0x7faaab0fa0d0, __in_chrg=) at /work/lo/master/include/uno/dispatcher.hxx:103 #23 0x00007faaa9f53d94 in binaryurp::Bridge::releaseStub(rtl::OUString const&, com::sun::star::uno::TypeDescription const&) (this=0x20384f0, oid="5759620;gcc3[0];19db4ecca6e0446bb4b5ce947d4bf04a", type=...) at /work/lo/master/binaryurp/source/bridge.cxx:485 #24 0x00007faaa9f79b83 in binaryurp::IncomingRequest::execute_throw(binaryurp::BinaryAny*, std::__debug::vector >*) const (this=0x58440f0, returnValue=0x7faaab0fa5c0, outArguments=0x7faaab0fa640) at /work/lo/master/binaryurp/source/incomingrequest.cxx:138 #25 0x00007faaa9f79280 in binaryurp::IncomingRequest::execute() const (this=0x58440f0) at /work/lo/master/binaryurp/source/incomingrequest.cxx:79 #26 0x00007faaa9f9de95 in binaryurp::(anonymous namespace)::request(void*) (pThreadSpecificData=0x58440f0) at /work/lo/master/binaryurp/source/reader.cxx:85 #27 0x00007faaba3c22de in cppu_threadpool::JobQueue::enter(long, bool) (this=0x58457a0, nDisposeId=34440304, bReturnWhenNoJob=true) at /work/lo/master/cppu/source/threadpool/jobqueue.cxx:107 ^^^ m_mapQueue.find( aThreadId ).second.second #28 0x00007faaba3c89ab in cppu_threadpool::ORequestThread::run() (this=0x20d8470) at /work/lo/master/cppu/source/threadpool/thread.cxx:165 #29 0x00007faaba3c8eda in osl::threadFunc(void*) (param=0x20d8480) at /work/lo/master/include/osl/thread.hxx:185 #30 0x00007faabb9acbfb in osl_thread_start_Impl(void*) (pData=0x50b0990) at /work/lo/master/sal/osl/unx/thread.cxx:256 #31 0x00007faabb10c4e2 in start_thread () at /lib64/libpthread.so.0 #32 0x00007faabb594693 in clone () at /lib64/libc.so.6 Thread 5 (Thread 0x7faa9a0bb700 (LWP 608791)): #0 0x00007faabb5958ec in recv () at /lib64/libc.so.6 #1 0x00007faabb998424 in osl_receivePipe(oslPipe, void*, sal_Int32) (pPipe=0x2038460, pBuffer=0x5676138, BytesToRead=8) at /work/lo/master/sal/osl/unx/pipe.cxx:438 #2 0x00007faabb998a05 in osl_readPipe(oslPipe, void*, sal_Int32) (pPipe=0x2038460, pBuffer=0x5676138, n=8) at /work/lo/master/sal/osl/unx/pipe.cxx:508 #3 0x00007faaaa027820 in osl::StreamPipe::read(void*, int) const (this=0x115c650, pBuffer=0x5676138, n=8) at /work/lo/master/include/osl/pipe.hxx:196 #4 0x00007faaaa02656b in io_acceptor::(anonymous namespace)::PipeConnection::read(com::sun::star::uno::Sequence&, sal_Int32) (this=0x115c620, aReadBytes=uno::Sequence of length 8 = {...}, nBytesToRead=8) at /work/lo/master/io/source/acceptor/acc_pipe.cxx:82 #5 0x00007faaa9f9dca2 in binaryurp::(anonymous namespace)::read(com::sun::star::uno::Reference const&, sal_uInt32, bool) (connection=uno::Reference to (io_acceptor::(anonymous namespace)::PipeConnection *) 0x115c648, size=8, eofOk=true) at /work/lo/master/binaryurp/source/reader.cxx:69 #6 0x00007faaa9f9e0f9 in binaryurp::Reader::execute() (this=0x20c76b0) at /work/lo/master/binaryurp/source/reader.cxx:104 #7 0x00007faab99c2592 in salhelper::Thread::run() (this=0x20c76b0) at /work/lo/master/salhelper/source/thread.cxx:40 #8 0x00007faab99c28e6 in osl::threadFunc(void*) (param=0x20c76c0) at /work/lo/master/include/osl/thread.hxx:185 #9 0x00007faabb9acbfb in osl_thread_start_Impl(void*) (pData=0x20c6de0) at /work/lo/master/sal/osl/unx/thread.cxx:256 #10 0x00007faabb10c4e2 in start_thread () at /lib64/libpthread.so.0 #11 0x00007faabb594693 in clone () at /lib64/libc.so.6 Thread 4 (Thread 0x7faa9a999700 (LWP 608789)): #0 0x00007faabb112d45 in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0 #1 0x00007faabb983130 in osl_waitCondition(oslCondition, TimeValue const*) (Condition=0x2039af0, pTimeout=0x0) at /work/lo/master/sal/osl/unx/conditn.cxx:231 #2 0x00007faaa9f59c70 in osl::Condition::wait(TimeValue const*) (this=0x20c90f0, pTimeout=0x0) at /work/lo/master/include/osl/conditn.hxx:119 #3 0x00007faaa9fa5bd4 in binaryurp::Writer::execute() (this=0x20c8f10) at /work/lo/master/binaryurp/source/writer.cxx:150 #4 0x00007faab99c2592 in salhelper::Thread::run() (this=0x20c8f10) at /work/lo/master/salhelper/source/thread.cxx:40 #5 0x00007faab99c28e6 in osl::threadFunc(void*) (param=0x20c8f20) at /work/lo/master/include/osl/thread.hxx:185 #6 0x00007faabb9acbfb in osl_thread_start_Impl(void*) (pData=0x20c74f0) at /work/lo/master/sal/osl/unx/thread.cxx:256 #7 0x00007faabb10c4e2 in start_thread () at /lib64/libpthread.so.0 #8 0x00007faabb594693 in clone () at /lib64/libc.so.6 Thread 3 (Thread 0x7faaa9f3b700 (LWP 608620)): #0 0x00007faabb59569f in accept () at /lib64/libc.so.6 #1 0x00007faabb997fb8 in osl_acceptPipe(oslPipe) (pPipe=0x1f776d0) at /work/lo/master/sal/osl/unx/pipe.cxx:380 #2 0x00007faaaa027712 in osl::Pipe::accept(osl::StreamPipe&) (this=0x7faaa9f3a608, Connection=...) at /work/lo/master/include/osl/pipe.hxx:151 #3 0x00007faaaa026b06 in io_acceptor::PipeAcceptor::accept() (this=0x8b3a90) at /work/lo/master/io/source/acceptor/acc_pipe.cxx:156 #4 0x00007faaaa033392 in io_acceptor::(anonymous namespace)::OAcceptor::accept(rtl::OUString const&) (this=0x1b0a780, sConnectionDescription="pipe,name=pytest786c4164-3090-11ea-b572-8c89a5bfb18f") at /work/lo/master/io/source/acceptor/acceptor.cxx:207 #5 0x00007faaaa8dccf0 in desktop::Acceptor::run() (this=0x1b09670) at /work/lo/master/desktop/source/offacc/acceptor.cxx:109 #6 0x00007faaaa8dc61d in desktop::offacc_workerfunc(void*) (acc=0x1b09670) at /work/lo/master/desktop/source/offacc/acceptor.cxx:47 #7 0x00007faabb9acbfb in osl_thread_start_Impl(void*) (pData=0x1b0c6a0) at /work/lo/master/sal/osl/unx/thread.cxx:256 #8 0x00007faabb10c4e2 in start_thread () at /lib64/libpthread.so.0 #9 0x00007faabb594693 in clone () at /lib64/libc.so.6 Thread 2 (Thread 0x7faaaa89a700 (LWP 608619)): #0 0x00007faabb59569f in accept () at /lib64/libc.so.6 #1 0x00007faabb997fb8 in osl_acceptPipe(oslPipe) (pPipe=0x1afef00) at /work/lo/master/sal/osl/unx/pipe.cxx:380 #2 0x00007faabb75b114 in osl::Pipe::accept(osl::StreamPipe&) (this=0x1afda70, Connection=...) at /work/lo/master/include/osl/pipe.hxx:151 #3 0x00007faabb759645 in desktop::PipeIpcThread::execute() (this=0x1afda40) at /work/lo/master/desktop/source/app/officeipcthread.cxx:1140 #4 0x00007faab99c2592 in salhelper::Thread::run() (this=0x1afda40) at /work/lo/master/salhelper/source/thread.cxx:40 #5 0x00007faab99c28e6 in osl::threadFunc(void*) (param=0x1afda50) at /work/lo/master/include/osl/thread.hxx:185 #6 0x00007faabb9acbfb in osl_thread_start_Impl(void*) (pData=0x1a75eb0) at /work/lo/master/sal/osl/unx/thread.cxx:256 #7 0x00007faabb10c4e2 in start_thread () at /lib64/libpthread.so.0 #8 0x00007faabb594693 in clone () at /lib64/libc.so.6 Thread 1 (Thread 0x7faaab405cc0 (LWP 608450)): #0 0x00007faabb112d45 in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0 #1 0x00007faabb983130 in osl_waitCondition(oslCondition, TimeValue const*) (Condition=0x588d0a0, pTimeout=0x0) at /work/lo/master/sal/osl/unx/conditn.cxx:231 #2 0x00007faaba3c2f28 in osl::Condition::wait(TimeValue const*) (this=0x588fe90, pTimeout=0x0) at /work/lo/master/include/osl/conditn.hxx:119 #3 0x00007faaba3c2117 in cppu_threadpool::JobQueue::enter(long, bool) (this=0x588fdb0, nDisposeId=34144576, bReturnWhenNoJob=false) at /work/lo/master/cppu/source/threadpool/jobqueue.cxx:73 ^^^ m_mapQueue.find( aThreadId ).second.first #4 0x00007faaba3d1491 in cppu_threadpool::ThreadPool::enter(rtl::ByteSequence const&, long) (this=0x20c9180, aThreadId=..., nDisposeId=34144576) at /work/lo/master/cppu/source/threadpool/threadpool.cxx:312 #5 0x00007faaba3d1b0c in uno_threadpool_enter(uno_ThreadPool, void**) (hPool=0x2090140, ppJob=0x7ffe7b490680) at /work/lo/master/cppu/source/threadpool/threadpool.cxx:416 #6 0x00007faaa9f54791 in binaryurp::Bridge::makeCall(rtl::OUString const&, com::sun::star::uno::TypeDescription const&, bool, std::__debug::vector > const&, binaryurp::BinaryAny*, std::__debug::vector >*) (this=0x20384f0, oid="21dfaf0;uno[0];8d9eb;566c3cc06d45461991d3f7f67781921", member=..., setter=false, inArguments=std::__debug::vector of length 1, capacity 1 = {...}, returnValue=0x7ffe7b490730, outArguments=0x7ffe7b4907f0) at /work/lo/master/binaryurp/source/bridge.cxx:605 #7 0x00007faaa9f9cfbe in binaryurp::Proxy::do_dispatch_throw(_typelib_TypeDescription const*, void*, void**, _uno_Any**) const (this=0x5671470, member=0x50ab0b0, returnValue=0x7ffe7b490dc0, arguments=0x7ffe7b490980, exception=0x7ffe7b490a30) at /work/lo/master/binaryurp/source/proxy.cxx:168 #8 0x00007faaa9f9ca5b in binaryurp::Proxy::do_dispatch(_typelib_TypeDescription const*, void*, void**, _uno_Any**) const (this=0x5671470, member=0x50ab0b0, returnValue=0x7ffe7b490dc0, arguments=0x7ffe7b490980, exception=0x7ffe7b490a30) at /work/lo/master/binaryurp/source/proxy.cxx:101 #9 0x00007faaa9f9c836 in binaryurp::(anonymous namespace)::proxy_dispatchInterface(uno_Interface*, typelib_TypeDescription const*, void*, void**, uno_Any**) (pUnoI=0x5671470, pMemberType=0x50ab0b0, pReturn=0x7ffe7b490dc0, pArgs=0x7ffe7b490980, ppException=0x7ffe7b490a30) at /work/lo/master/binaryurp/source/proxy.cxx:60 #10 0x00007faabb66fa6c in cpp2uno_call(bridges::cpp_uno::shared::CppInterfaceProxy*, typelib_TypeDescription const*, typelib_TypeDescriptionReference*, sal_Int32, typelib_MethodParameter*, void**, void**, void**, sal_uInt64*) (pThis=0x1f37020, pMemberTypeDescr=0x50ab0b0, pReturnTypeRef=0x8bdc50, nParams=1, pParams=0x50a3120, gpreg=0x7ffe7b490df0, fpreg=0x7ffe7b490e10, ovrflw=0x7ffe7b490e60, pRegisterReturn=0x7ffe7b490dc0) at /work/lo/master/bridges/source/cpp_uno/gcc3_linux_x86-64/cpp2uno.cxx:185 #11 0x00007faabb6704f5 in cpp_vtable_call(sal_Int32, sal_Int32, void**, void**, void**, sal_uInt64*) (nFunctionIndex=4, nVtableOffset=0, gpreg=0x7ffe7b490de0, fpreg=0x7ffe7b490e10, ovrflw=0x7ffe7b490e60, pRegisterReturn=0x7ffe7b490dc0) at /work/lo/master/bridges/source/cpp_uno/gcc3_linux_x86-64/cpp2uno.cxx:373 #12 0x00007faabb68c6fc in privateSnippetExecutor () at /work/lo/master/instdir/program/libgcc3_uno.so #13 0x00007faab8f3efe5 in comphelper::OInterfaceContainerHelper2::NotifySingleListener::operator()(com::sun::star::uno::Reference const&) const (this=0x7ffe7b490f10, listener=uno::Reference to (com::sun::star::uno::XInterface *) 0x1f37048) at /work/lo/master/include/comphelper/interfacecontainer2.hxx:253 #14 0x00007faab8f3e18b in comphelper::OInterfaceContainerHelper2::forEach >(comphelper::OInterfaceContainerHelper2::NotifySingleListener const&) (this=0x1b8bc10, func=...) at /work/lo/master/include/comphelper/interfacecontainer2.hxx:266 #15 0x00007faab8f3d53b in comphelper::OInterfaceContainerHelper2::notifyEach(void (com::sun::star::document::XDocumentEventListener::*)(com::sun::star::document::DocumentEvent const&), com::sun::star::document::DocumentEvent const&) (this=0x1b8bc10, NotificationMethod=&virtual com::sun::star::document::XDocumentEventListener::documentEventOccured(com::sun::star::document::DocumentEvent const&), Event=...) at /work/lo/master/include/comphelper/interfacecontainer2.hxx:279 #16 0x00007faab8f3b49a in (anonymous namespace)::SfxGlobalEvents_Impl::implts_notifyListener(com::sun::star::document::DocumentEvent const&) (this=0x1b8bb80, aEvent=...) at /work/lo/master/sfx2/source/notify/globalevents.cxx:389 #17 0x00007faab8f3a286 in (anonymous namespace)::SfxGlobalEvents_Impl::documentEventOccured(com::sun::star::document::DocumentEvent const&) (this=0x1b8bb80, Event=...) at /work/lo/master/sfx2/source/notify/globalevents.cxx:208 #18 0x00007faab8ee4c2b in (anonymous namespace)::NotifySingleListenerIgnoreRE::operator()(com::sun::star::uno::Reference const&) const (this=0x7ffe7b4910f0, listener=uno::Reference to ((anonymous namespace)::SfxGlobalEvents_Impl *) 0x1b8bbd0) at /work/lo/master/sfx2/source/doc/sfxbasemodel.cxx:3193 #19 0x00007faab8ee42a3 in cppu::OInterfaceContainerHelper::forEach >((anonymous namespace)::NotifySingleListenerIgnoreRE const&) (this=0x588c9f0, func=...) at /work/lo/master/include/cppuhelper/interfacecontainer.h:288 #20 0x00007faab8edb7af in SfxBaseModel::postEvent_Impl(rtl::OUString const&, com::sun::star::uno::Reference const&) (this=0x57e6e50, aName="OnCreate", xController=empty uno::Reference) at /work/lo/master/sfx2/source/doc/sfxbasemodel.cxx:3227 #21 0x00007faab8ed9249 in SfxBaseModel::Notify(SfxBroadcaster&, SfxHint const&) (this=0x57e6e50, rBC=..., rHint=...) at /work/lo/master/sfx2/source/doc/sfxbasemodel.cxx:2876 #22 0x00007faab8591057 in SfxBroadcaster::Broadcast(SfxHint const&) (this=0x58b89b0, rHint=...) at /work/lo/master/svl/source/notify/SfxBroadcaster.cxx:49 #23 0x00007faab8a81862 in SfxApplication::NotifyEvent(SfxEventHint const&, bool) (this=0x1b8bfb0, rEventHint=..., bSynchron=true) at /work/lo/master/sfx2/source/appl/appcfg.cxx:814 #24 0x00007faab8ea6937 in SfxObjectShell::SetInitialized_Impl(bool) (this=0x58b89b0, i_fromInitNew=true) at /work/lo/master/sfx2/source/doc/objxtor.cxx:1090 #25 0x00007faab8e8e3ab in SfxObjectShell::DoInitNew(SfxMedium*) (this=0x58b89b0, pMed=0x0) at /work/lo/master/sfx2/source/doc/objstor.cxx:503 #26 0x00007faa969aa08e in SwXMLTextBlocks::SwXMLTextBlocks(rtl::OUString const&) (this=0x56983d0, rFile="file:///work/lo/master/workdir/UITest/writer_dialogs/user/user/autotext/mytexts.bau") at /work/lo/master/sw/source/core/swg/SwXMLTextBlocks.cxx:66 #27 0x00007faa969ba99c in SwTextBlocks::SwTextBlocks(rtl::OUString const&) (this=0x57ddda0, rFile="file:///work/lo/master/workdir/UITest/writer_dialogs/user/user/autotext/mytexts.bau") at /work/lo/master/sw/source/core/swg/swblocks.cxx:230 #28 0x00007faa9726b7bc in SwGlossaries::GetGlosDoc(rtl::OUString const&, bool) const (this=0x1f38e20, rName="mytexts*1", bCreate=false) at /work/lo/master/sw/source/uibase/misc/glosdoc.cxx:286 #29 0x00007faa9726ab74 in SwGlossaries::GetGroupDoc(rtl::OUString const&, bool) (this=0x1f38e20, rName="mytexts*1", bCreate=false) at /work/lo/master/sw/source/uibase/misc/glosdoc.cxx:171 #30 0x00007faa97176ca1 in SwGlossaryHdl::IsReadOnly(rtl::OUString const*) const (this=0x5686360, pGrpNm=0x7ffe7b491958) at /work/lo/master/sw/source/uibase/dochdl/gloshdl.cxx:642 #31 0x00007faa9315c358 in SwGlossaryDlg::Init() (this=0x565bb00) at /work/lo/master/sw/source/ui/misc/glossary.cxx:734 #32 0x00007faa93157587 in SwGlossaryDlg::SwGlossaryDlg(SfxViewFrame const*, SwGlossaryHdl*, SwWrtShell*) (this=0x565bb00, pViewFrame=0x50abc80, pGlosHdl=0x5686360, pWrtShell=0x50dd7e0) at /work/lo/master/sw/source/ui/misc/glossary.cxx:250 #33 0x00007faa92fdc480 in std::make_unique(SfxViewFrame*&, SwGlossaryHdl*&, SwWrtShell*&) (__args#0=@0x7ffe7b491d48: 0x50abc80, __args#1=@0x7ffe7b491d40: 0x5686360, __args#2=@0x7ffe7b491d38: 0x50dd7e0) at /usr/include/c++/9/bits/unique_ptr.h:849 #34 0x00007faa92fcd460 in SwAbstractDialogFactory_Impl::CreateGlossaryDlg(SfxViewFrame*, SwGlossaryHdl*, SwWrtShell*) (this=0x7faa934701c8 , pViewFrame=0x50abc80, pGlosHdl=0x5686360, pWrtShell=0x50dd7e0) at /work/lo/master/sw/source/ui/dialog/swdlgfact.cxx:1019 #35 0x00007faa97173b28 in SwGlossaryHdl::GlossaryDlg() (this=0x5686360) at /work/lo/master/sw/source/uibase/dochdl/gloshdl.cxx:83 #36 0x00007faa973178e2 in SwTextShell::ExecGlossary(SfxRequest&) (this=0x52fb360, rReq=...) at /work/lo/master/sw/source/uibase/shells/textglos.cxx:50 #37 0x00007faa97319af0 in SfxStubSwTextShellExecGlossary(SfxShell*, SfxRequest&) (pShell=0x52fb360, rReq=...) at /work/lo/master/workdir/SdiTarget/sw/sdi/swslots.hxx:3049 #38 0x00007faab8bc8e40 in SfxShell::CallExec(void (*)(SfxShell*, SfxRequest&), SfxRequest&) (this=0x52fb360, pFunc=0x7faa97319ac2 , rReq=...) at /work/lo/master/include/sfx2/shell.hxx:197 #39 0x00007faab8bb4e50 in SfxDispatcher::Call_Impl(SfxShell&, SfxSlot const&, SfxRequest&, bool) (this=0x50cea30, rShell=..., rSlot=..., rReq=..., bRecord=true) at /work/lo/master/sfx2/source/control/dispatch.cxx:254 #40 0x00007faab8bb8958 in SfxDispatcher::PostMsgHandler(std::unique_ptr >) (this=0x50cea30, pReq=std::unique_ptr = {...}) at /work/lo/master/sfx2/source/control/dispatch.cxx:991 #41 0x00007faab8bdfe54 in std::__invoke_impl >), SfxDispatcher*&, std::unique_ptr > >(std::__invoke_memfun_deref, void (SfxDispatcher::*&)(std::unique_ptr >), SfxDispatcher*&, std::unique_ptr >&&) (__f=@0x1a8a9f0: (void (SfxDispatcher::*)(SfxDispatcher * const, std::unique_ptr >)) 0x7faab8bb87da >)>, __t=@0x1a8aa00: 0x50cea30, __args#0=...) at /usr/include/c++/9/bits/invoke.h:73 #42 0x00007faab8bdce17 in std::__invoke >), SfxDispatcher*&, std::unique_ptr > >(void (SfxDispatcher::*&)(std::unique_ptr >), SfxDispatcher*&, std::unique_ptr >&&) (__fn=@0x1a8a9f0: (void (SfxDispatcher::*)(SfxDispatcher * const, std::unique_ptr >)) 0x7faab8bb87da >)>, __args#0=@0x1a8aa00: 0x50cea30, __args#1=...) at /usr/include/c++/9/bits/invoke.h:95 #43 0x00007faab8bd7f04 in std::_Bind))(std::unique_ptr >)>::__call >&&, 0ul, 1ul>(std::tuple >&&>&&, std::_Index_tuple<0ul, 1ul>) (this=0x1a8a9f0, __args=...) at /usr/include/c++/9/functional:400 #44 0x00007faab8bd1d24 in std::_Bind))(std::unique_ptr >)>::operator() >, void>(std::unique_ptr >&&) (this=0x1a8a9f0, __args#0=...) at /usr/include/c++/9/functional:484 #45 0x00007faab8bcdabc in std::_Function_handler >), std::_Bind))(std::unique_ptr >)> >::_M_invoke(std::_Any_data const&, std::unique_ptr >&&) (__functor=..., __args#0=...) at /usr/include/c++/9/bits/std_function.h:300 #46 0x00007faab8f41227 in std::function >)>::operator()(std::unique_ptr >) const (this=0x50d6350, __args#0=std::unique_ptr = {...}) at /usr/include/c++/9/bits/std_function.h:690 #47 0x00007faab8f410a8 in SfxHintPoster::DoEvent_Impl(void*) (this=0x50d6340, pPostedHint=0x20d1560) at /work/lo/master/sfx2/source/notify/hintpost.cxx:47 #48 0x00007faab8f41047 in SfxHintPoster::LinkStubDoEvent_Impl(void*, void*) (instance=0x50d6340, data=0x20d1560) at /work/lo/master/sfx2/source/notify/hintpost.cxx:44 #49 0x00007faab3bb47e5 in Link::Call(void*) const (this=0x1f3b938, data=0x20d1560) at /work/lo/master/include/tools/link.hxx:111 #50 0x00007faab3bb1c55 in ImplHandleUserEvent(ImplSVEvent*) (pSVEvent=0x1f3b930) at /work/lo/master/vcl/source/window/winproc.cxx:2006 #51 0x00007faab3bb393c in ImplWindowFrameProc(vcl::Window*, SalEvent, void const*) (_pWindow=0x1b98220, nEvent=SalEvent::UserEvent, pEvent=0x1f3b930) at /work/lo/master/vcl/source/window/winproc.cxx:2559 #52 0x00007faab439280c in SalFrame::CallCallback(SalEvent, void const*) const (this=0x1b94d40, nEvent=SalEvent::UserEvent, pEvent=0x1f3b930) at /work/lo/master/vcl/inc/salframe.hxx:299 #53 0x00007faab43a9ddf in SvpSalInstance::ProcessEvent(SalUserEventList::SalUserEvent) (this=0x8b86f0, aEvent=...) at /work/lo/master/vcl/headless/svpinst.cxx:293 #54 0x00007faab415362d in SalUserEventList::DispatchUserEvents(bool) (this=0x8b8710, bHandleAllCurrentEvents=false) at /work/lo/master/vcl/source/app/salusereventlist.cxx:108 #55 0x00007faab43aa50f in SvpSalInstance::DoYield(bool, bool) (this=0x8b86f0, bWait=true, bHandleAllCurrentEvents=false) at /work/lo/master/vcl/headless/svpinst.cxx:438 #56 0x00007faab41e0a45 in ImplYield(bool, bool) (i_bWait=true, i_bAllEvents=false) at /work/lo/master/vcl/source/app/svapp.cxx:446 #57 0x00007faab41e0f63 in Application::Yield() () at /work/lo/master/vcl/source/app/svapp.cxx:510 #58 0x00007faab41e0842 in Application::Execute() () at /work/lo/master/vcl/source/app/svapp.cxx:427 #59 0x00007faabb7079b9 in desktop::Desktop::Main() (this=0x7ffe7b492fe0) at /work/lo/master/desktop/source/app/app.cxx:1609 #60 0x00007faab41fbfe8 in ImplSVMain() () at /work/lo/master/vcl/source/app/svmain.cxx:191 #61 0x00007faab41fc10d in SVMain() () at /work/lo/master/vcl/source/app/svmain.cxx:225 #62 0x00007faabb762441 in soffice_main() () at /work/lo/master/desktop/source/app/sofficemain.cxx:171 #63 0x000000000040087e in sal_main () at /work/lo/master/desktop/source/app/main.c:48 #64 0x0000000000400864 in main (argc=7, argv=0x7ffe7b4933a8) at /work/lo/master/desktop/source/app/main.c:47 (gdb) thread [Current thread is 1 (Thread 0x7faaab405cc0 (LWP 608450))] (gdb) frame 3 #3 0x00007faaba3c2117 in cppu_threadpool::JobQueue::enter (this=0x588fdb0, nDisposeId=34144576, bReturnWhenNoJob=false) at /work/lo/master/cppu/source/threadpool/jobqueue.cxx:73 73 m_cndWait.wait(); (gdb) p *this $1 = { m_mutex = { mutex = 0x588fc10 }, m_lstJob = std::__debug::deque with 1 element = {{ pThreadSpecificData = 0x588d8f0, doRequest = 0x0 }}, m_lstCallstack = std::__debug::deque with 1 element = {34144576}, m_nToDo = 1, m_bSuspended = true, m_cndWait = { condition = 0x588d0a0 }, m_DisposedCallerAdmin = std::shared_ptr (use count 6, weak count 0) = { get() = 0x20341e0 } } (gdb) up #4 0x00007faaba3d1491 in cppu_threadpool::ThreadPool::enter (this=0x20c9180, aThreadId=..., nDisposeId=34144576) at /work/lo/master/cppu/source/threadpool/threadpool.cxx:312 312 void *pReturn = pQueue->enter( nDisposeId ); (gdb) p *this $2 = cppu_threadpool::ThreadPool@0x20c9180 (gdb) p m_mapQueue.find( aThreadId ) $3 = { >, true>> = { _M_cur = 0x5842220 }, } (gdb) p *m_mapQueue.find( aThreadId ) $4 = { first = { _pSequence = 0x50a93a0 }, second = { first = 0x588fdb0, second = 0x58457a0 } } Expected Results: no deadlock Reproducible: Didn't try User Profile Reset: No Additional Info: