diff options
author | Noel Grandin <noel.grandin@collabora.co.uk> | 2024-09-05 14:39:50 +0200 |
---|---|---|
committer | Noel Grandin <noel.grandin@collabora.co.uk> | 2024-09-09 16:08:33 +0200 |
commit | 07db23624497d303dca142ba9376cdcf265b20d8 (patch) | |
tree | d53760aaf32fc0bd52cf95065098fc0d0e2f4813 /comphelper/source | |
parent | 22cb250074606a9e637787245f8e18a11ac5c252 (diff) |
tsan:lock-order-inversion in forms
ThreadSanitizer: lock-order-inversion (potential deadlock)
Cycle in lock order graph: M0 (0x720c00011640) => M1 (0x720c00474120) =>
M0
Mutex M1 acquired here while holding mutex M0 in thread T8:
3 osl::Guard<osl::Mutex>::Guard(osl::Mutex&)
4
comphelper::OPropertySetAggregationHelper::setAggregation(com::sun::star::uno::Reference<com::sun::star::uno::XInterface>
const&)
^^ acquires cppu mutex
5 frm::ODatabaseForm::impl_construct()
6
frm::ODatabaseForm::ODatabaseForm(com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext>
const&)
7 com_sun_star_comp_forms_ODatabaseForm_get_implementation
12
cppuhelper::ServiceManager::Data::Implementation::doCreateInstance(com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext>
const&)
13
cppuhelper::ServiceManager::Data::Implementation::createInstance(com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext>
const&, bool)
14 cppuhelper::ServiceManager::createInstanceWithContext(rtl::OUString
const&,
com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext>
const&)
15 cppuhelper::ServiceManager::createInstance(rtl::OUString const&)
16 non-virtual thunk to
cppuhelper::ServiceManager::createInstance(rtl::OUString const&)
17 FmFormPageImpl::getDefaultForm()
18
FmFormPageImpl::findPlaceInFormComponentHierarchy(com::sun::star::uno::Reference<com::sun::star::form::XFormComponent>
const&,
com::sun::star::uno::Reference<com::sun::star::sdbc::XDataSource>
const&, rtl::OUString const&, rtl::OUString const&, int)
19 FmXUndoEnvironment::Inserted(FmFormObj*)
20 FmXUndoEnvironment::Inserted(SdrObject*)
21 FmXUndoEnvironment::Notify(SfxBroadcaster&, SfxHint const&)
22 non-virtual thunk to FmXUndoEnvironment::Notify(SfxBroadcaster&,
SfxHint const&)
23 SfxBroadcaster::Broadcast(SfxHint const&)
24 SdrObjList::InsertObject(SdrObject*, unsigned long)
25 FmFormPage::InsertObject(SdrObject*, unsigned long)
26
SvxDrawPage::add(com::sun::star::uno::Reference<com::sun::star::drawing::XShape>
const&)
27
SwFmDrawPage::add(com::sun::star::uno::Reference<com::sun::star::drawing::XShape>
const&)
^^ acquires solar mutex
28 non-virtual thunk to
SwFmDrawPage::add(com::sun::star::uno::Reference<com::sun::star::drawing::XShape>
const&)
33 binaryurp::IncomingRequest::execute() const
35 cppu_threadpool::JobQueue::enter(void const*, bool)
Mutex M0 acquired here while holding mutex M1 in thread T8:
6 SolarMutexClearableGuard::SolarMutexClearableGuard()
7 SfxModelGuard::SfxModelGuard(SfxBaseModel const&,
SfxModelGuard::AllowedModelState)
^^ acquires solar mutex
8 SfxBaseModel::getArgs2(com::sun::star::uno::Sequence<rtl::OUString>
const&)
9 SfxBaseModel::getArgs()
10 SwXTextDocument::getArgs()
11 non-virtual thunk to SwXTextDocument::getArgs()
12
dbtools::isEmbeddedInDatabase(com::sun::star::uno::Reference<com::sun::star::uno::XInterface>
const&,
com::sun::star::uno::Reference<com::sun::star::sdbc::XConnection>&)
13 frm::ODatabaseForm::setFastPropertyValue_NoBroadcast(int,
com::sun::star::uno::Any const&)
15 cppu::OPropertySetHelper::setFastPropertyValue(int,
com::sun::star::uno::Any const&)
^^ acquires cppu mutex
16 comphelper::OPropertySetAggregationHelper::setFastPropertyValue(int,
com::sun::star::uno::Any const&)
17 cppu::OPropertySetHelper::setPropertyValue(rtl::OUString const&,
com::sun::star::uno::Any const&)
18 non-virtual thunk to
cppu::OPropertySetHelper::setPropertyValue(rtl::OUString const&,
com::sun::star::uno::Any const&)
20 cpp_call(bridges::cpp_uno::shared::UnoInterfaceProxy*,
bridges::cpp_uno::shared::VtableSlot,
_typelib_TypeDescriptionReference*, int, _typelib_MethodParameter*,
void*, void**, _uno_Any**)
/home/noel/libo-tsan/bridges/source/cpp_uno/gcc3_linux_x86-64/uno2cpp.cxx:229
(libgcc3_uno.so+0x2118a)
22 binaryurp::IncomingRequest::execute_throw(binaryurp::BinaryAny*,
std::vector<binaryurp::BinaryAny, std::allocator<binaryurp::BinaryAny>
>*) const
23 binaryurp::IncomingRequest::execute() const
Change-Id: I00de2ad02b7ab247ee0aa62abcb11f5d46c9b157
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173067
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
Diffstat (limited to 'comphelper/source')
0 files changed, 0 insertions, 0 deletions