http://openoffice.org/bugzilla/show_bug.cgi?id=117296

        Issue Type: DEFECT
           Summary: lock order violation in fileaccess service
                    implementation
    Classification: Code
           Product: framework
           Version: DEV300m101
          Platform: All
        OS/Version: All
            Status: NEW
          Priority: P3
         Component: code
        AssignedTo: [email protected]
        ReportedBy: [email protected]
         QAContact: [email protected]


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 0x1D31DDC9: 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 0x1D31E0F8: com::sun::star::uno::Sequence<rtl::OUString>::Sequence(int) 
> (unxlngx6/inc/com/sun/star/uno/Sequence.hxx:99)
>   by 0x1D31671D: io_FileAccess::FileAccess_getSupportedServiceNames() 
> (ooo/fileaccess/source/FileAccess.cxx:894)
>   by 0x1D316860: component_getFactory 
> (ooo/fileaccess/source/FileAccess.cxx:928)
>   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 0x1C57E541: 
> dp_log::ProgressLogImpl::ProgressLogImpl(com::sun::star::uno::Sequence<com::sun::star::uno::Any>
>  const&, 
> com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext> 
> const&) (ooo/desktop/source/deployment/dp_log.cxx:110)
>   by 0x1C581BD4: cppu::ImplInheritanceHelper1<dp_log::ProgressLogImpl, 
> com::sun::star::lang::XServiceInfo>::ImplInheritanceHelper1<com::sun::star::uno::Sequence<com::sun::star::uno::Any>,
>  com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext> 
> >(com::sun::star::uno::Sequence<com::sun::star::uno::Any> const&, 
> com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext> 
> const&) (unxlngx6/inc/cppuhelper/implbase1.hxx:182)
>   by 0x1C581C76: 
> comphelper::service_decl::detail::OwnServiceImpl<cppu::ImplInheritanceHelper1<dp_log::ProgressLogImpl,
>  com::sun::star::lang::XServiceInfo> 
> >::OwnServiceImpl(comphelper::service_decl::ServiceDecl const&, 
> com::sun::star::uno::Sequence<com::sun::star::uno::Any> const&, 
> com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext> 
> const&) (unxlngx6/inc/comphelper/servicedecl.hxx:179)
>   by 0x1C581D24: 
> comphelper::service_decl::detail::ServiceImpl<dp_log::ProgressLogImpl>::ServiceImpl(comphelper::service_decl::ServiceDecl
>  const&, com::sun::star::uno::Sequence<com::sun::star::uno::Any> const&, 
> com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext> 
> const&) (unxlngx6/inc/comphelper/servicedecl.hxx:212)
>   by 0x1C581DD9: 
> comphelper::service_decl::detail::CreateFunc<comphelper::service_decl::detail::ServiceImpl<dp_log::ProgressLogImpl>,
>  
> comphelper::service_decl::detail::PostProcessDefault<comphelper::service_decl::detail::ServiceImpl<dp_log::ProgressLogImpl>
>  >, comphelper::service_decl::with_args<true> 
> >::operator()(comphelper::service_decl::ServiceDecl const&, 
> com::sun::star::uno::Sequence<com::sun::star::uno::Any> const&, 
> com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext> 
> const&) const (unxlngx6/inc/comphelper/servicedecl.hxx:260)
>   by 0x1C581E54: 
> boost::detail::function::function_obj_invoker3<comphelper::service_decl::detail::CreateFunc<comphelper::service_decl::detail::ServiceImpl<dp_log::ProgressLogImpl>,
>  
> comphelper::service_decl::detail::PostProcessDefault<comphelper::service_decl::detail::ServiceImpl<dp_log::ProgressLogImpl>
>  >, comphelper::service_decl::with_args<true> >, 
> com::sun::star::uno::Reference<com::sun::star::uno::XInterface>, 
> comphelper::service_decl::ServiceDecl const&, 
> com::sun::star::uno::Sequence<com::sun::star::uno::Any> const&, 
> com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext> 
> const&>::invoke(boost::detail::function::function_buffer&, 
> comphelper::service_decl::ServiceDecl const&, 
> com::sun::star::uno::Sequence<com::sun::star::uno::Any> const&, 
> com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext> 
> const&) (unxlngx6/inc/boost/function/function_template.hpp:131)
>   by 0x6A8691A: 
> boost::function3<com::sun::star::uno::Reference<com::sun::star::uno::XInterface>,
>  comphelper::service_decl::ServiceDecl const&, 
> com::sun::star::uno::Sequence<com::sun::star::uno::Any> const&, 
> com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext> 
> const&>::operator()(comphelper::service_decl::ServiceDecl const&, 
> com::sun::star::uno::Sequence<com::sun::star::uno::Any> const&, 
> com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext> 
> const&) const (unxlngx6/inc/boost/function/function_template.hpp:989)
>   by 0x6A8611D: 
> comphelper::service_decl::ServiceDecl::Factory::createInstanceWithArgumentsAndContext(com::sun::star::uno::Sequence<com::sun::star::uno::Any>
>  const&, 
> com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext> 
> const&) (ooo/comphelper/source/misc/servicedecl.cxx:116)
>   by 0x6D7D9AE: 
> cppu::ORegistryFactoryHelper::createInstanceWithArgumentsAndContext(com::sun::star::uno::Sequence<com::sun::star::uno::Any>
>  const&, 
> com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext> 
> const&) (ooo/cppuhelper/source/factory.cxx:825)
>   by 0x15E6682D: 
> stoc_smgr::OServiceManager::createInstanceWithArgumentsAndContext(rtl::OUString
>  const&, com::sun::star::uno::Sequence<com::sun::star::uno::Any> const&, 
> com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext> 
> const&) (ooo/stoc/source/servicemanager/servicemanager.cxx:1314)
>   by 0x1C5949FB: 
> dp_manager::PackageManagerImpl::create(com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext>
>  const&, rtl::OUString const&) 
> (ooo/desktop/source/deployment/manager/dp_manager.cxx:454)
>   by 0x1C59B7E7: 
> dp_manager::factory::PackageManagerFactoryImpl::getPackageManager(rtl::OUString
>  const&) (ooo/desktop/source/deployment/manager/dp_managerfac.cxx:165)
>   by 0x1C5A5D6F: dp_manager::ExtensionManager::getSharedRepository() 
> (ooo/desktop/source/deployment/manager/dp_extensionmanager.cxx:206)
>   by 0x1C5B0340: 
> dp_manager::ExtensionManager::synchronize(com::sun::star::uno::Reference<com::sun::star::task::XAbortChannel>
>  const&, 
> com::sun::star::uno::Reference<com::sun::star::ucb::XCommandEnvironment> 
> const&) (ooo/desktop/source/deployment/manager/dp_extensionmanager.cxx:1352)
>   by 0x7267187: 
> dp_misc::syncRepositories(com::sun::star::uno::Reference<com::sun::star::ucb::XCommandEnvironment>
>  const&) (ooo/desktop/source/deployment/misc/dp_misc.cxx:611)
>   by 0x528DF3A: desktop::Desktop::SynchronizeExtensionRepositories() 
> (ooo/desktop/source/app/check_ext_deps.cxx:430)
>   by 0x527DE27: desktop::Desktop::Main() (ooo/desktop/source/app/app.cxx:1727)
>   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)

-- 
Configure bugmail: http://openoffice.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.

---------------------------------------------------------------------
Please do not reply to this automatically generated notification
from Bugzilla. Please log into the website and enter your comments.
---------------------------------------------------------------------
--
-----------------------------------------------------------------
To unsubscribe send email to [email protected]
For additional commands send email to [email protected]
with Subject: help
--
-----------------------------------------------------------------
To unsubscribe send email to [email protected]
For additional commands send email to [email protected]
with Subject: help

Reply via email to