Date: prev next · Thread: first prev next last
2019 Archives by date, by thread · List index


Hi Thorsten,

Thanks for your analysis!

On 21.04.2019 0:22, Thorsten Behrens wrote:
Kaganski Mike wrote:
However, I suppose that it's possible in theory that some user python
script could ultimately need initializing gpgme. In that case, the
problem would hit the user. Having a modal dialog waiting on a possibly
headless server is not a correct behavior :-)

Hmm - so the uitests are rigging the office in a very specific way,
using subprocess.Popen to spawn a child soffice process from python
(which calls CreateProcess on Windows). Code for that is in
uitest/libreoffice/connection.py, Python3 help blurb is

  https://docs.python.org/3/library/subprocess.html#subprocess.Popen

It is a tad surprising that this would somehow 'think' it is still the
main python executable on Windows, perhaps there's a way to
parameterize the Popen call differently to rectify that?

I am quite sure that's python.exe process that I debug in VS here (path: 
C:\lo\src\core\instdir\program\python-core-3.5.5\bin\python.exe, 
launched by python.exe in C:\lo\src\core\instdir\program); with a 
command line like this:

"C:\lo\src\core\instdir\program\\python-core-3.5.5" "-m" "unittest" "insertremovecells"

... and a call stack like this:

xsec_xmlsec.dll!SecurityEnvironmentGpg::{ctor}::__l2::<lambda>() Line 49
      at c:\lo\src\core\xmlsecurity\source\gpg\securityenvironment.cxx(49)
xsec_xmlsec.dll!SecurityEnvironmentGpg::SecurityEnvironmentGpg() Line 66
      at c:\lo\src\core\xmlsecurity\source\gpg\securityenvironment.cxx(66)
xsec_xmlsec.dll!SEInitializerGpg::createSecurityContext(const rtl::OUString & __formal) Line 45
      at c:\lo\src\core\xmlsecurity\source\gpg\seinitializer.cxx(45)
xmlsecurity.dll!DocumentSignatureManager::init() Line 80
      at c:\lo\src\core\xmlsecurity\source\helper\documentsignaturemanager.cxx(80)
xmlsecurity.dll!DocumentDigitalSignatures::ImplVerifySignatures(const 
com::sun::star::uno::Reference<com::sun::star::embed::XStorage> & rxStorage, const 
com::sun::star::uno::Reference<com::sun::star::io::XInputStream> & xSignStream, 
DocumentSignatureMode eMode) Line 313
      at c:\lo\src\core\xmlsecurity\source\component\documentdigitalsignatures.cxx(313)
xmlsecurity.dll!DocumentDigitalSignatures::verifyDocumentContentSignatures(const 
com::sun::star::uno::Reference<com::sun::star::embed::XStorage> & rxStorage, const 
com::sun::star::uno::Reference<com::sun::star::io::XInputStream> & xSignInStream) Line 176
      at c:\lo\src\core\xmlsecurity\source\component\documentdigitalsignatures.cxx(176)
sfxlo.dll!SfxObjectShell::ImplAnalyzeSignature(bool bScriptingContent, const 
com::sun::star::uno::Reference<com::sun::star::security::XDocumentDigitalSignatures> & xSigner) 
Line 1538
      at c:\lo\src\core\sfx2\source\doc\objserv.cxx(1538)
sfxlo.dll!SfxObjectShell::ImplGetSignatureState(bool bScriptingContent) Line 1567
      at c:\lo\src\core\sfx2\source\doc\objserv.cxx(1567)
sfxlo.dll!SfxObjectShell::GetDocumentSignatureState() Line 1718
      at c:\lo\src\core\sfx2\source\doc\objserv.cxx(1718)
sfxlo.dll!SfxObjectShell::CheckForBrokenDocSignatures_Impl() Line 981
      at c:\lo\src\core\sfx2\source\doc\objmisc.cxx(981)
sfxlo.dll!SfxObjectShell::CheckSecurityOnLoading_Impl() Line 933
      at c:\lo\src\core\sfx2\source\doc\objmisc.cxx(933)
sfxlo.dll!SfxObjectShell::FinishedLoading(SfxLoadedFlags nFlags) Line 1081
      at c:\lo\src\core\sfx2\source\doc\objmisc.cxx(1081)
sclo.dll!ScDocShell::Load(SfxMedium & rMedium) Line 658
      at c:\lo\src\core\sc\source\ui\docshell\docsh.cxx(658)
sfxlo.dll!SfxObjectShell::LoadOwnFormat(SfxMedium & rMedium) Line 3041
      at c:\lo\src\core\sfx2\source\doc\objstor.cxx(3041)
sfxlo.dll!SfxObjectShell::DoLoad(SfxMedium * pMed) Line 723
      at c:\lo\src\core\sfx2\source\doc\objstor.cxx(723)
sfxlo.dll!SfxBaseModel::load(const 
com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> & seqArguments) Line 1795
      at c:\lo\src\core\sfx2\source\doc\sfxbasemodel.cxx(1795)
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 693
      at c:\lo\src\core\sfx2\source\view\frmload.cxx(693)
fwklo.dll!framework::LoadEnv::impl_loadContent() Line 1141
      at c:\lo\src\core\framework\source\loadenv\loadenv.cxx(1141)
fwklo.dll!framework::LoadEnv::startLoading() Line 375
      at c:\lo\src\core\framework\source\loadenv\loadenv.cxx(375)
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 nFlags, const 
com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> & lArgs) Line 162
      at c:\lo\src\core\framework\source\loadenv\loadenv.cxx(162)
fwklo.dll!framework::Desktop::loadComponentFromURL(const rtl::OUString & sURL, const 
rtl::OUString & sTargetFrameName, long nSearchFlags, const 
com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> & lArguments) Line 618
      at c:\lo\src\core\framework\source\services\desktop.cxx(618)
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
      at c:\lo\src\core\bridges\source\cpp_uno\msvc_win32_x86-64\uno2cpp.cxx(214)
mscx_uno.dll!bridges::cpp_uno::shared::unoInterfaceProxyDispatch(_uno_Interface * pUnoI, const 
_typelib_TypeDescription * pMemberTD, void * pReturn, void * * pArgs, _uno_Any * * ppException) 
Line 429
      at c:\lo\src\core\bridges\source\cpp_uno\msvc_win32_x86-64\uno2cpp.cxx(429)
reflectionlo.dll!stoc_corefl::IdlInterfaceMethodImpl::invoke(const com::sun::star::uno::Any & 
rObj, com::sun::star::uno::Sequence<com::sun::star::uno::Any> & rArgs) Line 699
      at c:\lo\src\core\stoc\source\corereflection\criface.cxx(699)
invocationlo.dll!stoc_inv::Invocation_Impl::invoke(const rtl::OUString & FunctionName, const 
com::sun::star::uno::Sequence<com::sun::star::uno::Any> & InParams, 
com::sun::star::uno::Sequence<short> & OutIndices, 
com::sun::star::uno::Sequence<com::sun::star::uno::Any> & OutParams) Line 681
      at c:\lo\src\core\stoc\source\invocation\invocation.cxx(681)
pyuno_d.pyd!pyuno::PyUNO_callable_call(_object * self, _object * args, _object * __formal) Line 96
      at c:\lo\src\core\pyuno\source\module\pyuno_callable.cxx(96)
python35_d.dll!PyObject_Call(_object * func, _object * arg, _object * kw) Line 2166
      at c:\lo\src\core\workdir\unpackedtarball\python3\objects\abstract.c(2166)
python35_d.dll!do_call(_object * func, _object * * * pp_stack, int na, int nk) Line 4991
      at c:\lo\src\core\workdir\unpackedtarball\python3\python\ceval.c(4991)
python35_d.dll!call_function(_object * * * pp_stack, int oparg) Line 4787
      at c:\lo\src\core\workdir\unpackedtarball\python3\python\ceval.c(4787)
python35_d.dll!PyEval_EvalFrameEx(_frame * f, int throwflag) Line 3291
      at c:\lo\src\core\workdir\unpackedtarball\python3\python\ceval.c(3291)
python35_d.dll!fast_function(_object * func, _object * * * pp_stack, int n, int na, int nk) Line 
4857
      at c:\lo\src\core\workdir\unpackedtarball\python3\python\ceval.c(4857)
python35_d.dll!call_function(_object * * * pp_stack, int oparg) Line 4783
      at c:\lo\src\core\workdir\unpackedtarball\python3\python\ceval.c(4783)
python35_d.dll!PyEval_EvalFrameEx(_frame * f, int throwflag) Line 3291
      at c:\lo\src\core\workdir\unpackedtarball\python3\python\ceval.c(3291)
python35_d.dll!_PyEval_EvalCodeWithName(_object * _co, _object * globals, _object * locals, 
_object * * args, int argcount, _object * * kws, int kwcount, _object * * defs, int defcount, 
_object * kwdefs, _object * closure, _object * name, _object * qualname) Line 4071
      at c:\lo\src\core\workdir\unpackedtarball\python3\python\ceval.c(4071)
python35_d.dll!PyEval_EvalCodeEx(_object * _co, _object * globals, _object * locals, _object * * 
args, int argcount, _object * * kws, int kwcount, _object * * defs, int defcount, _object * 
kwdefs, _object * closure) Line 4096
      at c:\lo\src\core\workdir\unpackedtarball\python3\python\ceval.c(4096)
python35_d.dll!function_call(_object * func, _object * arg, _object * kw) Line 627
      at c:\lo\src\core\workdir\unpackedtarball\python3\objects\funcobject.c(627)
python35_d.dll!PyObject_Call(_object * func, _object * arg, _object * kw) Line 2166
      at c:\lo\src\core\workdir\unpackedtarball\python3\objects\abstract.c(2166)
python35_d.dll!ext_do_call(_object * func, _object * * * pp_stack, int flags, int na, int nk) 
Line 5089
      at c:\lo\src\core\workdir\unpackedtarball\python3\python\ceval.c(5089)
python35_d.dll!PyEval_EvalFrameEx(_frame * f, int throwflag) Line 3331
      at c:\lo\src\core\workdir\unpackedtarball\python3\python\ceval.c(3331)
python35_d.dll!_PyEval_EvalCodeWithName(_object * _co, _object * globals, _object * locals, 
_object * * args, int argcount, _object * * kws, int kwcount, _object * * defs, int defcount, 
_object * kwdefs, _object * closure, _object * name, _object * qualname) Line 4071
      at c:\lo\src\core\workdir\unpackedtarball\python3\python\ceval.c(4071)
python35_d.dll!PyEval_EvalCodeEx(_object * _co, _object * globals, _object * locals, _object * * 
args, int argcount, _object * * kws, int kwcount, _object * * defs, int defcount, _object * 
kwdefs, _object * closure) Line 4096
      at c:\lo\src\core\workdir\unpackedtarball\python3\python\ceval.c(4096)
python35_d.dll!function_call(_object * func, _object * arg, _object * kw) Line 627
      at c:\lo\src\core\workdir\unpackedtarball\python3\objects\funcobject.c(627)
python35_d.dll!PyObject_Call(_object * func, _object * arg, _object * kw) Line 2166
      at c:\lo\src\core\workdir\unpackedtarball\python3\objects\abstract.c(2166)
python35_d.dll!method_call(_object * func, _object * arg, _object * kw) Line 330
      at c:\lo\src\core\workdir\unpackedtarball\python3\objects\classobject.c(330)
python35_d.dll!PyObject_Call(_object * func, _object * arg, _object * kw) Line 2166
      at c:\lo\src\core\workdir\unpackedtarball\python3\objects\abstract.c(2166)
python35_d.dll!slot_tp_call(_object * self, _object * args, _object * kwds) Line 6099
      at c:\lo\src\core\workdir\unpackedtarball\python3\objects\typeobject.c(6099)
python35_d.dll!PyObject_Call(_object * func, _object * arg, _object * kw) Line 2166
      at c:\lo\src\core\workdir\unpackedtarball\python3\objects\abstract.c(2166)
python35_d.dll!do_call(_object * func, _object * * * pp_stack, int na, int nk) Line 4991
      at c:\lo\src\core\workdir\unpackedtarball\python3\python\ceval.c(4991)
python35_d.dll!call_function(_object * * * pp_stack, int oparg) Line 4787
      at c:\lo\src\core\workdir\unpackedtarball\python3\python\ceval.c(4787)
python35_d.dll!PyEval_EvalFrameEx(_frame * f, int throwflag) Line 3291
      at c:\lo\src\core\workdir\unpackedtarball\python3\python\ceval.c(3291)
python35_d.dll!_PyEval_EvalCodeWithName(_object * _co, _object * globals, _object * locals, 
_object * * args, int argcount, _object * * kws, int kwcount, _object * * defs, int defcount, 
_object * kwdefs, _object * closure, _object * name, _object * qualname) Line 4071
      at c:\lo\src\core\workdir\unpackedtarball\python3\python\ceval.c(4071)
python35_d.dll!PyEval_EvalCodeEx(_object * _co, _object * globals, _object * locals, _object * * 
args, int argcount, _object * * kws, int kwcount, _object * * defs, int defcount, _object * 
kwdefs, _object * closure) Line 4096
      at c:\lo\src\core\workdir\unpackedtarball\python3\python\ceval.c(4096)
python35_d.dll!function_call(_object * func, _object * arg, _object * kw) Line 627
      at c:\lo\src\core\workdir\unpackedtarball\python3\objects\funcobject.c(627)
python35_d.dll!PyObject_Call(_object * func, _object * arg, _object * kw) Line 2166
      at c:\lo\src\core\workdir\unpackedtarball\python3\objects\abstract.c(2166)
python35_d.dll!ext_do_call(_object * func, _object * * * pp_stack, int flags, int na, int nk) 
Line 5089
      at c:\lo\src\core\workdir\unpackedtarball\python3\python\ceval.c(5089)
python35_d.dll!PyEval_EvalFrameEx(_frame * f, int throwflag) Line 3331
      at c:\lo\src\core\workdir\unpackedtarball\python3\python\ceval.c(3331)
python35_d.dll!_PyEval_EvalCodeWithName(_object * _co, _object * globals, _object * locals, 
_object * * args, int argcount, _object * * kws, int kwcount, _object * * defs, int defcount, 
_object * kwdefs, _object * closure, _object * name, _object * qualname) Line 4071
      at c:\lo\src\core\workdir\unpackedtarball\python3\python\ceval.c(4071)
python35_d.dll!PyEval_EvalCodeEx(_object * _co, _object * globals, _object * locals, _object * * 
args, int argcount, _object * * kws, int kwcount, _object * * defs, int defcount, _object * 
kwdefs, _object * closure) Line 4096
      at c:\lo\src\core\workdir\unpackedtarball\python3\python\ceval.c(4096)
python35_d.dll!function_call(_object * func, _object * arg, _object * kw) Line 627
      at c:\lo\src\core\workdir\unpackedtarball\python3\objects\funcobject.c(627)
python35_d.dll!PyObject_Call(_object * func, _object * arg, _object * kw) Line 2166
      at c:\lo\src\core\workdir\unpackedtarball\python3\objects\abstract.c(2166)
python35_d.dll!method_call(_object * func, _object * arg, _object * kw) Line 330
      at c:\lo\src\core\workdir\unpackedtarball\python3\objects\classobject.c(330)
python35_d.dll!PyObject_Call(_object * func, _object * arg, _object * kw) Line 2166
      at c:\lo\src\core\workdir\unpackedtarball\python3\objects\abstract.c(2166)
python35_d.dll!slot_tp_call(_object * self, _object * args, _object * kwds) Line 6099
      at c:\lo\src\core\workdir\unpackedtarball\python3\objects\typeobject.c(6099)
python35_d.dll!PyObject_Call(_object * func, _object * arg, _object * kw) Line 2166
      at c:\lo\src\core\workdir\unpackedtarball\python3\objects\abstract.c(2166)
python35_d.dll!do_call(_object * func, _object * * * pp_stack, int na, int nk) Line 4991
      at c:\lo\src\core\workdir\unpackedtarball\python3\python\ceval.c(4991)
python35_d.dll!call_function(_object * * * pp_stack, int oparg) Line 4787
      at c:\lo\src\core\workdir\unpackedtarball\python3\python\ceval.c(4787)
python35_d.dll!PyEval_EvalFrameEx(_frame * f, int throwflag) Line 3291
      at c:\lo\src\core\workdir\unpackedtarball\python3\python\ceval.c(3291)
python35_d.dll!_PyEval_EvalCodeWithName(_object * _co, _object * globals, _object * locals, 
_object * * args, int argcount, _object * * kws, int kwcount, _object * * defs, int defcount, 
_object * kwdefs, _object * closure, _object * name, _object * qualname) Line 4071
      at c:\lo\src\core\workdir\unpackedtarball\python3\python\ceval.c(4071)
python35_d.dll!PyEval_EvalCodeEx(_object * _co, _object * globals, _object * locals, _object * * 
args, int argcount, _object * * kws, int kwcount, _object * * defs, int defcount, _object * 
kwdefs, _object * closure) Line 4096
      at c:\lo\src\core\workdir\unpackedtarball\python3\python\ceval.c(4096)
python35_d.dll!function_call(_object * func, _object * arg, _object * kw) Line 627
      at c:\lo\src\core\workdir\unpackedtarball\python3\objects\funcobject.c(627)
python35_d.dll!PyObject_Call(_object * func, _object * arg, _object * kw) Line 2166
      at c:\lo\src\core\workdir\unpackedtarball\python3\objects\abstract.c(2166)
python35_d.dll!ext_do_call(_object * func, _object * * * pp_stack, int flags, int na, int nk) 
Line 5089
      at c:\lo\src\core\workdir\unpackedtarball\python3\python\ceval.c(5089)
python35_d.dll!PyEval_EvalFrameEx(_frame * f, int throwflag) Line 3331
      at c:\lo\src\core\workdir\unpackedtarball\python3\python\ceval.c(3331)
python35_d.dll!_PyEval_EvalCodeWithName(_object * _co, _object * globals, _object * locals, 
_object * * args, int argcount, _object * * kws, int kwcount, _object * * defs, int defcount, 
_object * kwdefs, _object * closure, _object * name, _object * qualname) Line 4071
      at c:\lo\src\core\workdir\unpackedtarball\python3\python\ceval.c(4071)
python35_d.dll!PyEval_EvalCodeEx(_object * _co, _object * globals, _object * locals, _object * * 
args, int argcount, _object * * kws, int kwcount, _object * * defs, int defcount, _object * 
kwdefs, _object * closure) Line 4096
      at c:\lo\src\core\workdir\unpackedtarball\python3\python\ceval.c(4096)
python35_d.dll!function_call(_object * func, _object * arg, _object * kw) Line 627
      at c:\lo\src\core\workdir\unpackedtarball\python3\objects\funcobject.c(627)
python35_d.dll!PyObject_Call(_object * func, _object * arg, _object * kw) Line 2166
      at c:\lo\src\core\workdir\unpackedtarball\python3\objects\abstract.c(2166)
python35_d.dll!method_call(_object * func, _object * arg, _object * kw) Line 330
      at c:\lo\src\core\workdir\unpackedtarball\python3\objects\classobject.c(330)
python35_d.dll!PyObject_Call(_object * func, _object * arg, _object * kw) Line 2166
      at c:\lo\src\core\workdir\unpackedtarball\python3\objects\abstract.c(2166)
python35_d.dll!slot_tp_call(_object * self, _object * args, _object * kwds) Line 6099
      at c:\lo\src\core\workdir\unpackedtarball\python3\objects\typeobject.c(6099)
python35_d.dll!PyObject_Call(_object * func, _object * arg, _object * kw) Line 2166
      at c:\lo\src\core\workdir\unpackedtarball\python3\objects\abstract.c(2166)
python35_d.dll!do_call(_object * func, _object * * * pp_stack, int na, int nk) Line 4991
      at c:\lo\src\core\workdir\unpackedtarball\python3\python\ceval.c(4991)
python35_d.dll!call_function(_object * * * pp_stack, int oparg) Line 4787
      at c:\lo\src\core\workdir\unpackedtarball\python3\python\ceval.c(4787)
python35_d.dll!PyEval_EvalFrameEx(_frame * f, int throwflag) Line 3291
      at c:\lo\src\core\workdir\unpackedtarball\python3\python\ceval.c(3291)
python35_d.dll!_PyEval_EvalCodeWithName(_object * _co, _object * globals, _object * locals, 
_object * * args, int argcount, _object * * kws, int kwcount, _object * * defs, int defcount, 
_object * kwdefs, _object * closure, _object * name, _object * qualname) Line 4071
      at c:\lo\src\core\workdir\unpackedtarball\python3\python\ceval.c(4071)
python35_d.dll!PyEval_EvalCodeEx(_object * _co, _object * globals, _object * locals, _object * * 
args, int argcount, _object * * kws, int kwcount, _object * * defs, int defcount, _object * 
kwdefs, _object * closure) Line 4096
      at c:\lo\src\core\workdir\unpackedtarball\python3\python\ceval.c(4096)
python35_d.dll!function_call(_object * func, _object * arg, _object * kw) Line 627
      at c:\lo\src\core\workdir\unpackedtarball\python3\objects\funcobject.c(627)
python35_d.dll!PyObject_Call(_object * func, _object * arg, _object * kw) Line 2166
      at c:\lo\src\core\workdir\unpackedtarball\python3\objects\abstract.c(2166)
python35_d.dll!ext_do_call(_object * func, _object * * * pp_stack, int flags, int na, int nk) 
Line 5089
      at c:\lo\src\core\workdir\unpackedtarball\python3\python\ceval.c(5089)
python35_d.dll!PyEval_EvalFrameEx(_frame * f, int throwflag) Line 3331
      at c:\lo\src\core\workdir\unpackedtarball\python3\python\ceval.c(3331)
python35_d.dll!_PyEval_EvalCodeWithName(_object * _co, _object * globals, _object * locals, 
_object * * args, int argcount, _object * * kws, int kwcount, _object * * defs, int defcount, 
_object * kwdefs, _object * closure, _object * name, _object * qualname) Line 4071
      at c:\lo\src\core\workdir\unpackedtarball\python3\python\ceval.c(4071)
python35_d.dll!PyEval_EvalCodeEx(_object * _co, _object * globals, _object * locals, _object * * 
args, int argcount, _object * * kws, int kwcount, _object * * defs, int defcount, _object * 
kwdefs, _object * closure) Line 4096
      at c:\lo\src\core\workdir\unpackedtarball\python3\python\ceval.c(4096)
python35_d.dll!function_call(_object * func, _object * arg, _object * kw) Line 627
      at c:\lo\src\core\workdir\unpackedtarball\python3\objects\funcobject.c(627)
python35_d.dll!PyObject_Call(_object * func, _object * arg, _object * kw) Line 2166
      at c:\lo\src\core\workdir\unpackedtarball\python3\objects\abstract.c(2166)
python35_d.dll!method_call(_object * func, _object * arg, _object * kw) Line 330
      at c:\lo\src\core\workdir\unpackedtarball\python3\objects\classobject.c(330)
python35_d.dll!PyObject_Call(_object * func, _object * arg, _object * kw) Line 2166
      at c:\lo\src\core\workdir\unpackedtarball\python3\objects\abstract.c(2166)
python35_d.dll!slot_tp_call(_object * self, _object * args, _object * kwds) Line 6099
      at c:\lo\src\core\workdir\unpackedtarball\python3\objects\typeobject.c(6099)
python35_d.dll!PyObject_Call(_object * func, _object * arg, _object * kw) Line 2166
      at c:\lo\src\core\workdir\unpackedtarball\python3\objects\abstract.c(2166)
python35_d.dll!do_call(_object * func, _object * * * pp_stack, int na, int nk) Line 4991
      at c:\lo\src\core\workdir\unpackedtarball\python3\python\ceval.c(4991)
python35_d.dll!call_function(_object * * * pp_stack, int oparg) Line 4787
      at c:\lo\src\core\workdir\unpackedtarball\python3\python\ceval.c(4787)
python35_d.dll!PyEval_EvalFrameEx(_frame * f, int throwflag) Line 3291
      at c:\lo\src\core\workdir\unpackedtarball\python3\python\ceval.c(3291)
python35_d.dll!fast_function(_object * func, _object * * * pp_stack, int n, int na, int nk) Line 
4857
      at c:\lo\src\core\workdir\unpackedtarball\python3\python\ceval.c(4857)
python35_d.dll!call_function(_object * * * pp_stack, int oparg) Line 4783
      at c:\lo\src\core\workdir\unpackedtarball\python3\python\ceval.c(4783)
python35_d.dll!PyEval_EvalFrameEx(_frame * f, int throwflag) Line 3291
      at c:\lo\src\core\workdir\unpackedtarball\python3\python\ceval.c(3291)
python35_d.dll!fast_function(_object * func, _object * * * pp_stack, int n, int na, int nk) Line 
4857
      at c:\lo\src\core\workdir\unpackedtarball\python3\python\ceval.c(4857)
python35_d.dll!call_function(_object * * * pp_stack, int oparg) Line 4783
      at c:\lo\src\core\workdir\unpackedtarball\python3\python\ceval.c(4783)
python35_d.dll!PyEval_EvalFrameEx(_frame * f, int throwflag) Line 3291
      at c:\lo\src\core\workdir\unpackedtarball\python3\python\ceval.c(3291)
python35_d.dll!_PyEval_EvalCodeWithName(_object * _co, _object * globals, _object * locals, 
_object * * args, int argcount, _object * * kws, int kwcount, _object * * defs, int defcount, 
_object * kwdefs, _object * closure, _object * name, _object * qualname) Line 4071
      at c:\lo\src\core\workdir\unpackedtarball\python3\python\ceval.c(4071)
python35_d.dll!PyEval_EvalCodeEx(_object * _co, _object * globals, _object * locals, _object * * 
args, int argcount, _object * * kws, int kwcount, _object * * defs, int defcount, _object * 
kwdefs, _object * closure) Line 4096
      at c:\lo\src\core\workdir\unpackedtarball\python3\python\ceval.c(4096)
python35_d.dll!function_call(_object * func, _object * arg, _object * kw) Line 627
      at c:\lo\src\core\workdir\unpackedtarball\python3\objects\funcobject.c(627)
python35_d.dll!PyObject_Call(_object * func, _object * arg, _object * kw) Line 2166
      at c:\lo\src\core\workdir\unpackedtarball\python3\objects\abstract.c(2166)
python35_d.dll!method_call(_object * func, _object * arg, _object * kw) Line 330
      at c:\lo\src\core\workdir\unpackedtarball\python3\objects\classobject.c(330)
python35_d.dll!PyObject_Call(_object * func, _object * arg, _object * kw) Line 2166
      at c:\lo\src\core\workdir\unpackedtarball\python3\objects\abstract.c(2166)
python35_d.dll!slot_tp_init(_object * self, _object * args, _object * kwds) Line 6314
      at c:\lo\src\core\workdir\unpackedtarball\python3\objects\typeobject.c(6314)
python35_d.dll!type_call(_typeobject * type, _object * args, _object * kwds) Line 905
      at c:\lo\src\core\workdir\unpackedtarball\python3\objects\typeobject.c(905)
python35_d.dll!PyObject_Call(_object * func, _object * arg, _object * kw) Line 2166
      at c:\lo\src\core\workdir\unpackedtarball\python3\objects\abstract.c(2166)
python35_d.dll!do_call(_object * func, _object * * * pp_stack, int na, int nk) Line 4991
      at c:\lo\src\core\workdir\unpackedtarball\python3\python\ceval.c(4991)
python35_d.dll!call_function(_object * * * pp_stack, int oparg) Line 4787
      at c:\lo\src\core\workdir\unpackedtarball\python3\python\ceval.c(4787)
python35_d.dll!PyEval_EvalFrameEx(_frame * f, int throwflag) Line 3291
      at c:\lo\src\core\workdir\unpackedtarball\python3\python\ceval.c(3291)
python35_d.dll!_PyEval_EvalCodeWithName(_object * _co, _object * globals, _object * locals, 
_object * * args, int argcount, _object * * kws, int kwcount, _object * * defs, int defcount, 
_object * kwdefs, _object * closure, _object * name, _object * qualname) Line 4071
      at c:\lo\src\core\workdir\unpackedtarball\python3\python\ceval.c(4071)
python35_d.dll!PyEval_EvalCodeEx(_object * _co, _object * globals, _object * locals, _object * * 
args, int argcount, _object * * kws, int kwcount, _object * * defs, int defcount, _object * 
kwdefs, _object * closure) Line 4096
      at c:\lo\src\core\workdir\unpackedtarball\python3\python\ceval.c(4096)
python35_d.dll!PyEval_EvalCode(_object * co, _object * globals, _object * locals) Line 783
      at c:\lo\src\core\workdir\unpackedtarball\python3\python\ceval.c(783)
python35_d.dll!builtin_exec_impl(_object * module, _object * source, _object * globals, _object * 
locals) Line 956
      at c:\lo\src\core\workdir\unpackedtarball\python3\python\bltinmodule.c(956)
python35_d.dll!builtin_exec(_object * module, _object * args) Line 274
      at c:\lo\src\core\workdir\unpackedtarball\python3\python\clinic\bltinmodule.c.h(274)
python35_d.dll!PyCFunction_Call(_object * func, _object * args, _object * kwds) Line 109
      at c:\lo\src\core\workdir\unpackedtarball\python3\objects\methodobject.c(109)
python35_d.dll!call_function(_object * * * pp_stack, int oparg) Line 4758
      at c:\lo\src\core\workdir\unpackedtarball\python3\python\ceval.c(4758)
python35_d.dll!PyEval_EvalFrameEx(_frame * f, int throwflag) Line 3291
      at c:\lo\src\core\workdir\unpackedtarball\python3\python\ceval.c(3291)
python35_d.dll!_PyEval_EvalCodeWithName(_object * _co, _object * globals, _object * locals, 
_object * * args, int argcount, _object * * kws, int kwcount, _object * * defs, int defcount, 
_object * kwdefs, _object * closure, _object * name, _object * qualname) Line 4071
      at c:\lo\src\core\workdir\unpackedtarball\python3\python\ceval.c(4071)
python35_d.dll!fast_function(_object * func, _object * * * pp_stack, int n, int na, int nk) Line 
4871
      at c:\lo\src\core\workdir\unpackedtarball\python3\python\ceval.c(4871)
python35_d.dll!call_function(_object * * * pp_stack, int oparg) Line 4783
      at c:\lo\src\core\workdir\unpackedtarball\python3\python\ceval.c(4783)
python35_d.dll!PyEval_EvalFrameEx(_frame * f, int throwflag) Line 3291
      at c:\lo\src\core\workdir\unpackedtarball\python3\python\ceval.c(3291)
python35_d.dll!_PyEval_EvalCodeWithName(_object * _co, _object * globals, _object * locals, 
_object * * args, int argcount, _object * * kws, int kwcount, _object * * defs, int defcount, 
_object * kwdefs, _object * closure, _object * name, _object * qualname) Line 4071
      at c:\lo\src\core\workdir\unpackedtarball\python3\python\ceval.c(4071)
python35_d.dll!PyEval_EvalCodeEx(_object * _co, _object * globals, _object * locals, _object * * 
args, int argcount, _object * * kws, int kwcount, _object * * defs, int defcount, _object * 
kwdefs, _object * closure) Line 4096
      at c:\lo\src\core\workdir\unpackedtarball\python3\python\ceval.c(4096)
python35_d.dll!function_call(_object * func, _object * arg, _object * kw) Line 627
      at c:\lo\src\core\workdir\unpackedtarball\python3\objects\funcobject.c(627)
python35_d.dll!PyObject_Call(_object * func, _object * arg, _object * kw) Line 2166
      at c:\lo\src\core\workdir\unpackedtarball\python3\objects\abstract.c(2166)
python35_d.dll!RunModule(wchar_t * modname, int set_argv0) Line 208
      at c:\lo\src\core\workdir\unpackedtarball\python3\modules\main.c(208)
python35_d.dll!Py_Main(int argc, wchar_t * * argv) Line 735
      at c:\lo\src\core\workdir\unpackedtarball\python3\modules\main.c(735)
python.exe!wmain(int argc, wchar_t * * argv) Line 15
      at c:\lo\src\core\workdir\unpackedtarball\python3\programs\python.c(15)
python.exe!invoke_main() Line 91
      at d:\agent\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl(91)
python.exe!__scrt_common_main_seh() Line 288
      at d:\agent\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl(288)
python.exe!__scrt_common_main() Line 331
      at d:\agent\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl(331)
python.exe!wmainCRTStartup() Line 17
      at d:\agent\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_wmain.cpp(17)
kernel32.dll!BaseThreadInitThunk()
ntdll.dll!RtlUserThreadStart()

- so I don't think that it's soffice.bin somehow "thinking" it's python.

1. First of all - do I understand it correctly that the problem is real
- so there are possible scenarios involving e.g. python (or another
process which executable is not in LO's instdir/program), that might
need gpgme?

See above - but even for uitests, the issue might become relevant, so
I see at least no harm in keeping that fix (unless Popen can be fixed
to not have Windows inherit too much parent process attributes).

Ok - so then I'll merge it.

2. To find the executable, I use UNO_PATH envvar. As far as I can tell,
even directly running soffice.bin without having UNO_PATH set in
environment, sets the variable correctly, so this works as expected. But
is there a better way?

The canonical way seems to be something like:

     OUString aProgramURL("$BRAND_BASE_DIR/" LIBO_LIBEXEC_FOLDER "/<executable>");
     rtl::Bootstrap::expandMacros(aProgramURL);

Thanks! Done.

3. The patch needs to add a gpgmepp wrapper for gpgme_set_global_flag
function,
[snip]
If there's no way to do that, then I'll create a pr to
https://github.com/KDE/gpgmepp.

Yes please, that's how we did that in the past, too.

Will do - waiting for account confirmation.

-- 
Best regards,
Mike Kaganski

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.