Issue 117294 - lock order violation in SFX_IMPL_XSERVICEINFO
Summary: lock order violation in SFX_IMPL_XSERVICEINFO
Status: CLOSED FIXED
Alias: None
Product: General
Classification: Code
Component: code (show other issues)
Version: DEV300m101
Hardware: All All
: P3 Normal (vote)
Target Milestone: ---
Assignee: Stephan Bergmann
QA Contact: issues@framework
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-03-09 11:50 UTC by Stephan Bergmann
Modified: 2017-05-20 10:31 UTC (History)
1 user (show)

See Also:
Issue Type: DEFECT
Latest Confirmation in: ---
Developer Difficulty: ---


Attachments

Note You need to log in before you can comment on or make changes to this issue.
Description Stephan Bergmann 2011-03-09 11:50:31 UTC
At least on DEV300_m101 based CWS sb140, unxlngx6 non-pro, running soffice under valgrind --tool=helgrind with an org.openofice.test.OfficeConnection-based test that simply calls OfficeConnection.setUp() immediately followed by OfficeConnection.tearDown(), valgrind reports

> Thread #1: lock order "0xE964910 before 0x5248160" violated
>   at 0x4C2BC62: pthread_mutex_lock (valgrind-3.6.1/helgrind/hg_intercepts.c:496)
>   by 0x4E61713: osl_acquireMutex (ooo/sal/osl/unx/mutex.c:129)
>   by 0x7009A2B: osl::Mutex::acquire() (unxlngx6/inc/osl/mutex.hxx:66)
>   by 0x7009A58: osl::Guard<osl::Mutex>::Guard(osl::Mutex*) (unxlngx6/inc/osl/mutex.hxx:145)
>   by 0x700CAE1: typelib_static_sequence_type_init (ooo/cppu/source/typelib/static_types.cxx:343)
>   by 0x77D4B4B: com::sun::star::uno::Type const& cppu::getTypeFavourUnsigned<rtl::OUString>(com::sun::star::uno::Sequence<rtl::OUString> const*) (unxlngx6/inc/com/sun/star/uno/Sequence.hxx:228)
>   by 0x77D4B66: com::sun::star::uno::Sequence<rtl::OUString>::Sequence(int) (unxlngx6/inc/com/sun/star/uno/Sequence.hxx:99)
>   by 0x7977859: SfxGlobalEvents_Impl::impl_getStaticSupportedServiceNames() (ooo/sfx2/source/notify/eventsupplier.cxx:577)
>   by 0x79778E0: SfxGlobalEvents_Impl::impl_createFactory(com::sun::star::uno::Reference<com::sun::star::lang::XMultiServiceFactory> const&) (ooo/sfx2/source/notify/eventsupplier.cxx:578)
>   by 0x77EC59D: component_getFactory (ooo/sfx2/source/appl/appuno.cxx:2166)
>   by 0x6D8E59A: s_getFactory (ooo/cppuhelper/source/shlib.cxx:347)
>   by 0x702FAC6: s_environment_invoke_v(_uno_Environment*, _uno_Environment*, void (*)(__va_list_tag (*) [1]), __va_list_tag (*) [1]) (ooo/cppu/source/uno/EnvStack.cxx:292)
>   by 0x702FB58: uno_Environment_invoke_v (ooo/cppu/source/uno/EnvStack.cxx:311)
>   by 0x6D8B1DF: com::sun::star::uno::Environment::invoke(void (*)(__va_list_tag (*) [1]), ...) const (unxlngx6/inc/uno/environment.hxx:244)
>   by 0x6D904E8: cppu::loadSharedLibComponentFactory(rtl::OUString const&, rtl::OUString const&, rtl::OUString const&, com::sun::star::uno::Reference<com::sun::star::lang::XMultiServiceFactory> const&, com::sun::star::uno::Reference<com::sun::star::registry::XRegistryKey> const&) (ooo/cppuhelper/source/shlib.cxx:419)
>   by 0x15EA6810: stoc_loader::DllComponentLoader::activate(rtl::OUString const&, rtl::OUString const&, rtl::OUString const&, com::sun::star::uno::Reference<com::sun::star::registry::XRegistryKey> const&) (ooo/stoc/source/loader/dllcomponentloader.cxx:227)
>   by 0x6D7D68C: cppu::ORegistryFactoryHelper::createModuleFactory() (ooo/cppuhelper/source/factory.cxx:900)
>   by 0x6D7DC9B: cppu::ORegistryFactoryHelper::createInstanceEveryTime(com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext> const&) (ooo/cppuhelper/source/factory.cxx:750)
>   by 0x6D7BCFC: cppu::OSingleFactoryHelper::createInstanceWithContext(com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext> const&) (ooo/cppuhelper/source/factory.cxx:215)
>   by 0x6D7C3FA: cppu::OFactoryComponentHelper::createInstanceWithContext(com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext> const&) (ooo/cppuhelper/source/factory.cxx:499)
>   by 0x15E66D45: stoc_smgr::OServiceManager::createInstanceWithContext(rtl::OUString const&, com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext> const&) (ooo/stoc/source/servicemanager/servicemanager.cxx:1250)
>   by 0x15E64DA9: stoc_smgr::OServiceManager::createInstance(rtl::OUString const&) (ooo/stoc/source/servicemanager/servicemanager.cxx:1360)
>   by 0x527DD0A: desktop::Desktop::Main() (ooo/desktop/source/app/app.cxx:1710)
>   by 0x9961F47: ImplSVMain() (ooo/vcl/source/app/svmain.cxx:189)
>   by 0x9962082: SVMain() (ooo/vcl/source/app/svmain.cxx:226)
>   by 0x52A89CF: soffice_main (ooo/desktop/source/app/sofficemain.cxx:49)
>   by 0x401192: sal_main (ooo/desktop/source/app/main.c:35)
>   by 0x401177: main (ooo/desktop/source/app/main.c:34)
>  Required order was established by acquisition of lock at 0xE964910
>   at 0x4C2BC62: pthread_mutex_lock (valgrind-3.6.1/helgrind/hg_intercepts.c:496)
>   by 0x4E61713: osl_acquireMutex (ooo/sal/osl/unx/mutex.c:129)
>   by 0x7009A2B: osl::Mutex::acquire() (unxlngx6/inc/osl/mutex.hxx:66)
>   by 0x7009A58: osl::Guard<osl::Mutex>::Guard(osl::Mutex*) (unxlngx6/inc/osl/mutex.hxx:145)
>   by 0x700CD4A: typelib_static_type_getByTypeClass (ooo/cppu/source/typelib/static_types.cxx:162)
>   by 0x15E5406C: cppu::detail::getTypeFromTypeClass(_typelib_TypeClass) (unxlngx6/inc/cppu/unotype.hxx:111)
>   by 0x15E5408D: cppu::detail::cppu_detail_getUnoType(rtl::OUString const*) (unxlngx6/inc/cppu/unotype.hxx:194)
>   by 0x15E5409D: cppu::UnoType<rtl::OUString>::get() (unxlngx6/inc/cppu/unotype.hxx:269)
>   by 0x15E5C06A: com::sun::star::uno::Type const& cppu::getTypeFavourUnsigned<rtl::OUString>(rtl::OUString const*) (unxlngx6/inc/cppu/unotype.hxx:290)
>   by 0x15E5C092: com::sun::star::uno::Type const& cppu::getTypeFavourUnsigned<rtl::OUString>(com::sun::star::uno::Sequence<rtl::OUString> const*) (unxlngx6/inc/com/sun/star/uno/Sequence.hxx:228)
>   by 0x15E5C0D4: com::sun::star::uno::Sequence<rtl::OUString>::Sequence(rtl::OUString const*, int) (unxlngx6/inc/com/sun/star/uno/Sequence.hxx:82)
>   by 0x15E5F9C6: __static_initialization_and_destruction_0(int, int) (ooo/stoc/source/security/file_policy.cxx:70)
>   by 0x15E5FC06: global constructors keyed to _ZN8stoc_sec10FilePolicyC2ERKN3com3sun4star3uno9ReferenceINS4_17XComponentContextEEE (ooo/stoc/source/security/file_policy.cxx:604)
>   by 0x15EDAD21: ??? (in unxlngx6/installation/opt/openoffice.org/ure/lib/bootstrap.uno.so)
>  followed by a later acquisition of lock at 0x5248160
>   at 0x4C2BC62: pthread_mutex_lock (valgrind-3.6.1/helgrind/hg_intercepts.c:496)
>   by 0x4E61713: osl_acquireMutex (ooo/sal/osl/unx/mutex.c:129)
>   by 0x7009A2B: osl::Mutex::acquire() (unxlngx6/inc/osl/mutex.hxx:66)
>   by 0x7009A58: osl::Guard<osl::Mutex>::Guard(osl::Mutex*) (unxlngx6/inc/osl/mutex.hxx:145)
>   by 0x7009C4C: TypeDescriptor_Init_Impl::getMutex() (ooo/cppu/source/typelib/typelib.cxx:237)
>   by 0x70015F6: typelib_typedescriptionreference_new (ooo/cppu/source/typelib/typelib.cxx:2346)
>   by 0x700D752: typelib_static_type_getByTypeClass (ooo/cppu/source/typelib/static_types.cxx:305)
>   by 0x15E5406C: cppu::detail::getTypeFromTypeClass(_typelib_TypeClass) (unxlngx6/inc/cppu/unotype.hxx:111)
>   by 0x15E5408D: cppu::detail::cppu_detail_getUnoType(rtl::OUString const*) (unxlngx6/inc/cppu/unotype.hxx:194)
>   by 0x15E5409D: cppu::UnoType<rtl::OUString>::get() (unxlngx6/inc/cppu/unotype.hxx:269)
>   by 0x15E5C06A: com::sun::star::uno::Type const& cppu::getTypeFavourUnsigned<rtl::OUString>(rtl::OUString const*) (unxlngx6/inc/cppu/unotype.hxx:290)
>   by 0x15E5C092: com::sun::star::uno::Type const& cppu::getTypeFavourUnsigned<rtl::OUString>(com::sun::star::uno::Sequence<rtl::OUString> const*) (unxlngx6/inc/com/sun/star/uno/Sequence.hxx:228)
>   by 0x15E5C0D4: com::sun::star::uno::Sequence<rtl::OUString>::Sequence(rtl::OUString const*, int) (unxlngx6/inc/com/sun/star/uno/Sequence.hxx:82)
>   by 0x15E5F9C6: __static_initialization_and_destruction_0(int, int) (ooo/stoc/source/security/file_policy.cxx:70)
>   by 0x15E5FC06: global constructors keyed to _ZN8stoc_sec10FilePolicyC2ERKN3com3sun4star3uno9ReferenceINS4_17XComponentContextEEE (ooo/stoc/source/security/file_policy.cxx:604)
>   by 0x15EDAD21: ??? (in unxlngx6/installation/opt/openoffice.org/ure/lib/bootstrap.uno.so)
Comment 1 Stephan Bergmann 2011-03-09 11:53:21 UTC
fixed as <http://hg.services.openoffice.org/cws/sb140/rev/6d35e6736ad0>
Comment 2 Oliver-Rainer Wittmann 2012-06-13 12:24:44 UTC
getting rid of value "enhancement" for field "severity".
For enhancement the field "issue type" shall be used.