https://bugs.documentfoundation.org/show_bug.cgi?id=148156

Mike Kaganski <[email protected]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                URL|                            |https://ask.libreoffice.org
                   |                            |/t/open-report-macro-works-
                   |                            |perfectly-in-ubuntu-but-not
                   |                            |-in-windows-10/75559
             Status|UNCONFIRMED                 |NEW
     Ever confirmed|0                           |1
                 CC|                            |[email protected]

--- Comment #1 from Mike Kaganski <[email protected]> ---
Repro using current master.
Also repro with Version: 7.0.0.3 (x64)
Build ID: 8061b3e9204bef6b321a21033174034a5e2ea88e
CPU threads: 12; OS: Windows 10.0 Build 19044; UI render: default; VCL: win
Locale: en-US (ru_RU); UI: en-US
Calc: CL.

The sample doesn't work correctly on older versions (6.4 and earlier), where
pressing the "Invoice Bisnis" button produces "General Error" dialog, followed
by "The document "InvoiceBisnis" could not be opened." dialog, so not possible
to see if that is a regression.

Related discussion in [1] suggests that it may work in some configuration;
mention of working 7.2 on Windows made me initially suspect a regression in
7.3, but I also see the deadlock in Version: 7.2.0.4 (x64) / LibreOffice
Community
Build ID: 9a9c6381e3f7a62afc1329bd359cc48accb6435b
CPU threads: 12; OS: Windows 10.0 Build 19044; UI render: Skia/Raster; VCL: win
Locale: ru-RU (ru_RU); UI: en-US
Calc: CL

so it must be another difference in play here.

The deadlock is:

Thread 0:

> ntdll.dll!NtWaitForAlertByThreadId()  Unknown
> ntdll.dll!RtlpWaitOnAddressWithTimeout()      Unknown
> ntdll.dll!RtlpWaitOnAddress() Unknown
> ntdll.dll!RtlpWaitOnCriticalSection() Unknown
> ntdll.dll!RtlpEnterCriticalSectionContended() Unknown
> ntdll.dll!RtlEnterCriticalSection()   Unknown
> sal3.dll!osl_acquireMutex(_oslMutexImpl * Mutex) Line 65      C++
> dbulo.dll!osl::Mutex::acquire() Line 61       C++
> dbulo.dll!osl::Guard<osl::Mutex>::Guard<osl::Mutex>(osl::Mutex & t) Line 143  
> C++
> dbulo.dll!dbaui::OGenericUnoController::frameAction(const 
> com::sun::star::frame::FrameActionEvent & aEvent) Line 753  C++
> fwklo.dll!`anonymous 
> namespace'::XFrameImpl::implts_sendFrameActionEvent(const 
> com::sun::star::frame::FrameAction & aAction) Line 2950        C++
> fwklo.dll!`anonymous namespace'::XFrameImpl::deactivate() Line 1359   C++
> fwklo.dll!`anonymous namespace'::XFrameImpl::deactivate() Line 1364   C++
> fwklo.dll!`anonymous namespace'::XFrameImpl::deactivate() Line 1333   C++
> fwklo.dll!framework::Desktop::setActiveFrame(const 
> com::sun::star::uno::Reference<com::sun::star::frame::XFrame> & xFrame) Line 
> 786   C++
> fwklo.dll!`anonymous namespace'::XFrameImpl::activate() Line 1267     C++
> fwklo.dll!`anonymous namespace'::XFrameImpl::windowActivated(const 
> com::sun::star::lang::EventObject & __formal) Line 2481    C++
> tklo.dll!TopWindowListenerMultiplexer::windowActivated(const 
> com::sun::star::lang::EventObject & evt) Line 115        C++
> tklo.dll!VCLXWindow::ProcessWindowEvent(const VclWindowEvent & 
> rVclWindowEvent) Line 552      C++
> tklo.dll!VCLXWindow::WindowEventListener(VclWindowEvent & rEvent) Line 401    
> C++
> tklo.dll!VCLXWindow::LinkStubWindowEventListener(void * instance, 
> VclWindowEvent & data) Line 394     C++
> vcllo.dll!Link<VclWindowEvent &,void>::Call(VclWindowEvent & data) Line 111   
> C++
> vcllo.dll!vcl::Window::CallEventListeners(VclEventId nEvent, void * pData) 
> Line 259   C++
> vcllo.dll!vcl::Window::ImplCallActivateListeners(vcl::Window * pOld) Line 
> 3429        C++
> vcllo.dll!vcl::Window::ImplGrabFocus(GetFocusFlags nFlags) Line 386   C++
> vcllo.dll!vcl::Window::GrabFocus() Line 2985  C++
> vcllo.dll!vcl::Window::ImplAsyncFocusHdl(void * __formal) Line 2007   C++
> vcllo.dll!vcl::Window::LinkStubImplAsyncFocusHdl(void * instance, void * 
> data) Line 1980      C++
> vcllo.dll!Link<void *,void>::Call(void * data) Line 111       C++
> vcllo.dll!ImplHandleUserEvent(ImplSVEvent * pSVEvent) Line 2235       C++
> vcllo.dll!ImplWindowFrameProc(vcl::Window * _pWindow, SalEvent nEvent, const 
> void * pEvent) Line 2803 C++
> vcllo.dll!SalFrame::CallCallback(SalEvent nEvent, const void * pEvent) Line 
> 308       C++
> vclplug_winlo.dll!ImplHandleUserEvent(HWND__ * hWnd, __int64 lParam) Line 
> 4210        C++
> vclplug_winlo.dll!SalFrameWndProc(HWND__ * hWnd, unsigned int nMsg, unsigned 
> __int64 wParam, __int64 lParam, bool & rDef) Line 5858   C++
> vclplug_winlo.dll!SalFrameWndProcW(HWND__ * hWnd, unsigned int nMsg, unsigned 
> __int64 wParam, __int64 lParam) Line 5965       C++
> user32.dll!UserCallWinProcCheckWow()  Unknown
> user32.dll!DispatchMessageWorker()    Unknown
> vclplug_winlo.dll!ImplSalDispatchMessage(const tagMSG * pMsg) Line 471        
> C++
> vclplug_winlo.dll!ImplSalYield(bool bWait, bool bHandleAllCurrentEvents) Line 
> 502     C++
> vclplug_winlo.dll!SalComWndProc(HWND__ * __formal, unsigned int nMsg, 
> unsigned __int64 wParam, __int64 lParam, bool & rDef) Line 635  C++
> vclplug_winlo.dll!SalComWndProcW(HWND__ * hWnd, unsigned int nMsg, unsigned 
> __int64 wParam, __int64 lParam) Line 720  C++
> user32.dll!UserCallWinProcCheckWow()  Unknown
> user32.dll!DispatchClientMessage()    Unknown
> user32.dll!__fnDWORD()        Unknown
> ntdll.dll!KiUserCallbackDispatcherContinue()  Unknown
> win32u.dll!NtUserPeekMessage()        Unknown
> user32.dll!_PeekMessage()     Unknown
> user32.dll!PeekMessageW()     Unknown
> vclplug_winlo.dll!ImplSalYield(bool bWait, bool bHandleAllCurrentEvents) Line 
> 497     C++
> vclplug_winlo.dll!WinSalInstance::DoYield(bool bWait, bool 
> bHandleAllCurrentEvents) Line 577  C++
> vcllo.dll!ImplYield(bool i_bWait, bool i_bAllEvents) Line 474 C++
> vcllo.dll!Application::Yield() Line 559       C++
> vcllo.dll!Application::Execute() Line 452     C++
> sofficeapp.dll!desktop::Desktop::Main() Line 1604     C++
> vcllo.dll!ImplSVMain() Line 202       C++
> vcllo.dll!SVMain() Line 235   C++
> sofficeapp.dll!soffice_main() Line 98 C++
> soffice.bin!sal_main() Line 51        C
> soffice.bin!main(int argc, char * * argv) Line 49     C
> soffice.bin!invoke_main() Line 79     C++
> soffice.bin!__scrt_common_main_seh() Line 288 C++
> soffice.bin!__scrt_common_main() Line 331     C++
> soffice.bin!mainCRTStartup(void * __formal) Line 17   C++
> kernel32.dll!BaseThreadInitThunk()    Unknown
> ntdll.dll!RtlUserThreadStart()        Unknown

Note waiting for mutex in OGenericUnoController::frameAction, after acquiring
solar mutex in ImplHandleUserEvent(HWND, LPARAM).

"frm::OComponentEventThread" thread:

> win32u.dll!NtUserMessageCall()        Unknown
> user32.dll!SendMessageWorker(struct tagWND *,unsigned int,unsigned 
> __int64,__int64,int)       Unknown
> user32.dll!SendMessageW()     Unknown
> vclplug_winlo.dll!WinSalInstance::DoYield(bool bWait, bool 
> bHandleAllCurrentEvents) Line 566  C++
> vcllo.dll!ImplYield(bool i_bWait, bool i_bAllEvents) Line 474 C++
> vcllo.dll!Application::Reschedule(bool i_bAllEvents) Line 494 C++
> fwklo.dll!framework::StatusIndicatorFactory::impl_reschedule(bool bForce) 
> Line 532    C++
> fwklo.dll!framework::StatusIndicatorFactory::start(const 
> com::sun::star::uno::Reference<com::sun::star::task::XStatusIndicator> & 
> xChild, const rtl::OUString & sText, long nRange) Line 134  C++
> fwklo.dll!framework::StatusIndicator::start(const rtl::OUString & sText, long 
> nRange) Line 48 C++
> swlo.dll!XMLReader::Read(SwDoc & rDoc, const rtl::OUString & rBaseURL, SwPaM 
> & rPaM, const rtl::OUString & rName) Line 638    C++
> swlo.dll!SwReader::Read(const Reader & rOptions) Line 192     C++
> swlo.dll!SwDocShell::Load(SfxMedium & rMedium) Line 531       C++
> sfxlo.dll!SfxObjectShell::LoadOwnFormat(SfxMedium & rMedium) Line 3172        
> C++
> sfxlo.dll!SfxObjectShell::DoLoad(SfxMedium * pMed) Line 685   C++
> sfxlo.dll!SfxBaseModel::load(const 
> com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> & 
> seqArguments) Line 1923      C++
> sfxlo.dll!`anonymous namespace'::SfxFrameLoader_Impl::load(const 
> com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> & rArgs, 
> const com::sun::star::uno::Reference<com::sun::star::frame::XFrame> & 
> _rTargetFrame) Line 679   C++
> fwklo.dll!framework::LoadEnv::impl_loadContent() Line 1156    C++
> fwklo.dll!framework::LoadEnv::start() Line 395        C++
> fwklo.dll!framework::LoadEnv::startLoading(const rtl::OUString & sURL, const 
> com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> & 
> lMediaDescriptor, const 
> com::sun::star::uno::Reference<com::sun::star::frame::XFrame> & xBaseFrame, 
> const rtl::OUString & sTarget, long nSearchFlags, LoadEnvFeatures eFeature) 
> Line 300   C++
> fwklo.dll!framework::LoadEnv::loadComponentFromURL(const 
> com::sun::star::uno::Reference<com::sun::star::frame::XComponentLoader> & 
> xLoader, const 
> com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext> & 
> xContext, const rtl::OUString & sURL, const rtl::OUString & sTarget, long 
> nSearchFlags, const 
> com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> & lArgs) 
> Line 168        C++
> fwklo.dll!`anonymous namespace'::XFrameImpl::loadComponentFromURL(const 
> rtl::OUString & sURL, const rtl::OUString & sTargetFrameName, long 
> nSearchFlags, const 
> com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> & 
> lArguments) Line 594     C++
> rptlo.dll!reportdesign::OReportEngineJFree::createDocumentAlive(const 
> com::sun::star::uno::Reference<com::sun::star::frame::XFrame> & _frame, bool 
> _bHidden) Line 280 C++
> rptlo.dll!reportdesign::OReportEngineJFree::createDocumentAlive(const 
> com::sun::star::uno::Reference<com::sun::star::frame::XFrame> & _frame) Line 
> 242        C++
> dbalo.dll!dbaccess::ODocumentDefinition::onCommandOpenSomething(const 
> com::sun::star::uno::Any & _rOpenArgument, const bool _bActivate, const 
> com::sun::star::uno::Reference<com::sun::star::ucb::XCommandEnvironment> & 
> _rxEnvironment) Line 934     C++
> dbalo.dll!dbaccess::ODocumentDefinition::execute(const 
> com::sun::star::ucb::Command & aCommand, long CommandId, const 
> com::sun::star::uno::Reference<com::sun::star::ucb::XCommandEnvironment> & 
> Environment) Line 1005       C++
> dbalo.dll!dbaccess::ODocumentContainer::loadComponentFromURL(const 
> rtl::OUString & _sURL, const rtl::OUString & __formal, long __formal, const 
> com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> & 
> Arguments) Line 561      C++
> dbulo.dll!dbaui::OLinkedDocumentsAccess::impl_open(const rtl::OUString & 
> _rLinkName, com::sun::star::uno::Reference<com::sun::star::lang::XComponent> 
> & _xDefinition, dbaui::ElementOpenMode _eOpenMode, const 
> comphelper::NamedValueCollection & _rAdditionalArgs) Line 148  C++
> dbulo.dll!dbaui::OLinkedDocumentsAccess::open(const rtl::OUString & 
> _rLinkName, com::sun::star::uno::Reference<com::sun::star::lang::XComponent> 
> & _xDefinition, dbaui::ElementOpenMode _eOpenMode, const 
> comphelper::NamedValueCollection & _rAdditionalArgs) Line 299       C++
> dbulo.dll!dbaui::OApplicationController::openElementWithArguments(const 
> rtl::OUString & _sName, dbaui::ElementType _eType, dbaui::ElementOpenMode 
> _eOpenMode, unsigned short _nInstigatorCommand, const 
> comphelper::NamedValueCollection & _rAdditionalArguments) Line 1778   C++
> dbulo.dll!dbaui::OApplicationController::loadComponentWithArguments(long 
> ObjectType, const rtl::OUString & ObjectName, unsigned char ForEditing, const 
> com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> & 
> Arguments) Line 433      C++
> dbulo.dll!dbaui::OApplicationController::loadComponent(long ObjectType, const 
> rtl::OUString & ObjectName, unsigned char ForEditing) Line 422  C++
> dbalo.dll!dbaccess::ODocumentDefinition::impl_openUI_nolck_throw(bool 
> _bForEditing) Line 1813 C++
> dbalo.dll!dbaccess::ODocumentDefinition::open() Line 1850     C++
> mscx_uno.dll!`anonymous 
> namespace'::cpp_call(bridges::cpp_uno::shared::UnoInterfaceProxy * pThis, 
> bridges::cpp_uno::shared::VtableSlot aVtableSlot, 
> _typelib_TypeDescriptionReference * pReturnTypeRef, long nParams, 
> _typelib_MethodParameter * pParams, void * pUnoReturn, void * * pUnoArgs, 
> _uno_Any * * ppUnoExc) Line 214       C++
> mscx_uno.dll!unoInterfaceProxyDispatch(_uno_Interface * pUnoI, const 
> _typelib_TypeDescription * pMemberTD, void * pReturn, void * * pArgs, 
> _uno_Any * * ppException) Line 430 C++
> reflectionlo.dll!stoc_corefl::`anonymous 
> namespace'::IdlInterfaceMethodImpl::invoke(const com::sun::star::uno::Any & 
> rObj, com::sun::star::uno::Sequence<com::sun::star::uno::Any> & rArgs) Line 
> 674  C++
> sblo.dll!SbUnoObject::Notify(SfxBroadcaster & rBC, const SfxHint & rHint) 
> Line 2247   C++
> svllo.dll!SfxBroadcaster::Broadcast(const SfxHint & rHint) Line 40    C++
> sblo.dll!SbxVariable::Broadcast(SfxHintId nHintId) Line 151   C++
> sblo.dll!SbxValue::SbxValue(const SbxValue & r) Line 67       C++
> sblo.dll!SbxVariable::SbxVariable(const SbxVariable & r) Line 45      C++
> sblo.dll!SbxMethod::SbxMethod(const SbxMethod & r) Line 838   C++
> sblo.dll!SbiRuntime::FindElement(SbxObject * pObj, unsigned long nOp1, 
> unsigned long nOp2, ErrCode nNotFound, bool bLocal, bool bStatic) Line 3709   
>  C++
> sblo.dll!SbiRuntime::StepELEM(unsigned long nOp1, unsigned long nOp2) Line 
> 4194       C++
> sblo.dll!SbiRuntime::Step() Line 831  C++
> sblo.dll!`anonymous namespace'::RunInitGuard::run() Line 1014 C++
> sblo.dll!SbModule::Run(SbMethod * pMeth) Line 1177    C++
> sblo.dll!SbModule::Notify(SfxBroadcaster & rBC, const SfxHint & rHint) Line 
> 775       C++
> svllo.dll!SfxBroadcaster::Broadcast(const SfxHint & rHint) Line 40    C++
> sblo.dll!SbMethod::Broadcast(SfxHintId nHintId) Line 2115     C++
> sblo.dll!SbxValue::Get(SbxValues & rRes) Line 289     C++
> sblo.dll!SbMethod::Call(SbxValue * pRet, SbxVariable * pCaller) Line 2072     
> C++
> basprovlo.dll!basprov::BasicScriptImpl::invoke(const 
> com::sun::star::uno::Sequence<com::sun::star::uno::Any> & aParams, 
> com::sun::star::uno::Sequence<short> & aOutParamIndex, 
> com::sun::star::uno::Sequence<com::sun::star::uno::Any> & aOutParam) Line 251 
>  C++
> sfxlo.dll!SfxObjectShell::CallXScript(const 
> com::sun::star::uno::Reference<com::sun::star::uno::XInterface> & 
> _rxScriptContext, const rtl::OUString & _rScriptURL, const 
> com::sun::star::uno::Sequence<com::sun::star::uno::Any> & aParams, 
> com::sun::star::uno::Any & aRet, com::sun::star::uno::Sequence<short> & 
> aOutParamIndex, com::sun::star::uno::Sequence<com::sun::star::uno::Any> & 
> aOutParam, bool bRaiseError, const com::sun::star::uno::Any * pCaller) Line 
> 1424        C++
> sfxlo.dll!SfxObjectShell::CallXScript(const rtl::OUString & rScriptURL, const 
> com::sun::star::uno::Sequence<com::sun::star::uno::Any> & aParams, 
> com::sun::star::uno::Any & aRet, com::sun::star::uno::Sequence<short> & 
> aOutParamIndex, com::sun::star::uno::Sequence<com::sun::star::uno::Any> & 
> aOutParam, bool bRaiseError, const com::sun::star::uno::Any * pCaller) Line 
> 1453   C++
> svxcorelo.dll!svxform::`anonymous namespace'::NewStyleUNOScript::invoke(const 
> com::sun::star::uno::Sequence<com::sun::star::uno::Any> & _rArguments, 
> com::sun::star::uno::Any & _rSynchronousResult) Line 831 C++
> svxcorelo.dll!svxform::FormScriptingEnvironment::doFireScriptEvent(const 
> com::sun::star::script::ScriptEvent & _rEvent, com::sun::star::uno::Any * 
> _pSynchronousResult) Line 906      C++
> svxcorelo.dll!svxform::FormScriptListener::impl_doFireScriptEvent_nothrow(std::unique_lock<std::mutex>
>  & _rGuard, const com::sun::star::script::ScriptEvent & _rEvent, 
> com::sun::star::uno::Any * _pSynchronousResult) Line 685       C++
> svxcorelo.dll!svxform::FormScriptListener::approveFiring(const 
> com::sun::star::script::ScriptEvent & _rEvent) Line 717        C++
> comphelper.dll!comphelper::`anonymous 
> namespace'::AttacherAllListener_Impl::approveFiring(const 
> com::sun::star::script::AllEventObject & Event) Line 246      C++
> evtattlo.dll!comp_EventAttacher::`anonymous 
> namespace'::FilterAllListenerImpl::approveFiring(const 
> com::sun::star::script::AllEventObject & Event) Line 483   C++
> evtattlo.dll!comp_EventAttacher::`anonymous 
> namespace'::InvocationToAllListenerMapper::invoke(const rtl::OUString & 
> FunctionName, const com::sun::star::uno::Sequence<com::sun::star::uno::Any> & 
> Params, com::sun::star::uno::Sequence<short> & __formal, 
> com::sun::star::uno::Sequence<com::sun::star::uno::Any> & __formal) Line 166  
>      C++
> mscx_uno.dll!`anonymous 
> namespace'::cpp_call(bridges::cpp_uno::shared::UnoInterfaceProxy * pThis, 
> bridges::cpp_uno::shared::VtableSlot aVtableSlot, 
> _typelib_TypeDescriptionReference * pReturnTypeRef, long nParams, 
> _typelib_MethodParameter * pParams, void * pUnoReturn, void * * pUnoArgs, 
> _uno_Any * * ppUnoExc) Line 214       C++
> mscx_uno.dll!unoInterfaceProxyDispatch(_uno_Interface * pUnoI, const 
> _typelib_TypeDescription * pMemberTD, void * pReturn, void * * pArgs, 
> _uno_Any * * ppException) Line 430 C++
> invocadaptlo.dll!stoc_invadp::`anonymous 
> namespace'::AdapterImpl::invoke(const _typelib_TypeDescription * pMemberType, 
> void * pReturn, void * * pArgs, _uno_Any * * ppException) Line 461     C++
> invocadaptlo.dll!adapter_dispatch(_uno_Interface * pUnoI, const 
> _typelib_TypeDescription * pMemberType, void * pReturn, void * * pArgs, 
> _uno_Any * * ppException) Line 606    C++
> mscx_uno.dll!cpp2uno_call(bridges::cpp_uno::shared::CppInterfaceProxy * 
> pThis, const _typelib_TypeDescription * pMemberTD, 
> _typelib_TypeDescriptionReference * pReturnTypeRef, const long nParams, 
> _typelib_MethodParameter * pParams, void * * pCallStack, void * * const 
> pReturnAddr) Line 152      C++
> mscx_uno.dll!cpp_mediate(void * * pCallStack, long nFunctionIndex, long 
> nVtableOffset, __int64 * const pRegisterReturn) Line 339      C++
> mscx_uno.dll!cpp_vtable_call(__int64 nOffsetAndIndex, void * * pCallStack) 
> Line 44    C++
> mscx_uno.dll!privateSnippetExecutor() Unknown
> frmlo.dll!frm::OClickableImageBaseControl::approveAction() Line 180   C++
> frmlo.dll!frm::OClickableImageBaseControl::actionPerformed_Impl(bool 
> bNotifyListener, const com::sun::star::awt::MouseEvent & rEvt) Line 193  C++
> frmlo.dll!frm::OButtonControl::actionPerformed_Impl(bool _bNotifyListener, 
> const com::sun::star::awt::MouseEvent & _rEvt) Line 514    C++
> frmlo.dll!frm::OImageProducerThread_Impl::processEvent(cppu::OComponentHelper 
> * pCompImpl, const com::sun::star::lang::EventObject * pEvt, const 
> com::sun::star::uno::Reference<com::sun::star::awt::XControl> & __formal, 
> bool __formal) Line 832    C++
> frmlo.dll!frm::OComponentEventThread::run() Line 172  C++
> frmlo.dll!threadFunc(void * param) Line 190   C++
> sal3.dll!oslWorkerWrapperFunction(void * pData) Line 67       C++
> kernel32.dll!BaseThreadInitThunk()    Unknown
> ntdll.dll!RtlUserThreadStart()        Unknown

Note waiting for solar mutes in WinSalInstance::DoYield, after acquiring mutex
in OApplicationController::loadComponentWithArguments.

Jan-Marek: do you have an idea what to do?

[1]
https://ask.libreoffice.org/t/open-report-macro-works-perfectly-in-ubuntu-but-not-in-windows-10/75559

-- 
You are receiving this mail because:
You are the assignee for the bug.

Reply via email to