Comment 2 for bug 787539

Revision history for this message
In , Michael Meeks (michael-meeks) wrote :

running this:

soffice "--accept=socket,host=localhost,port=2002;urp;"

and also this:

#!/usr/bin/python

import uno

class test():
    def __init__(self):
        localContext = uno.getComponentContext()
        resolver = localContext.ServiceManager.createInstanceWithContext(
                        "com.sun.star.bridge.UnoUrlResolver", localContext )
        ctx = resolver.resolve( "uno:socket,host=localhost,port=2002;urp;StarOffice.ComponentContext" )
        smgr = ctx.ServiceManager
        print 'smgr'
        desktop = smgr.createInstanceWithContext( "com.sun.star.frame.Desktop",ctx)
        print 'desktop'
        model = desktop.getCurrentComponent()

        vcl = smgr.createInstance("com.sun.star.resource.VclStringResourceLoader")
        print vcl
# vcl.setValue("FileName", "test")

if __name__ == "__main__":
    print 'test'
    test()

fails nastily :-) like this (different line numbers)

Traceback (most recent call last):
  File "test.py", line 27, in <module>
    test()
  File "test.py", line 16, in __init__
    desktop = smgr.createInstanceWithContext( "com.sun.star.frame.Desktop",ctx)
__main__.RuntimeException: Binary URP bridge disposed during call

the exception trace is:

Breakpoint 1, 0xb7a127e0 in __cxa_throw () from /opt/OOInstall/basis3.4/program/../ure-link/lib/libstdc++.so.6
(gdb) bt
#0 0xb7a127e0 in __cxa_throw () from /opt/OOInstall/basis3.4/program/../ure-link/lib/libstdc++.so.6
#1 0xb6c232eb in binaryurp::Bridge::getWriter (this=0xb6c9d9b0) at /data/opt/libreoffice/bootstrap/clone/ure/binaryurp/source/bridge.cxx:330
#2 0xb6c26c99 in binaryurp::Bridge::sendRequest (this=0xb6c9d9b0, tid=..., oid=..., type=..., member=..., inArguments=...)
    at /data/opt/libreoffice/bootstrap/clone/ure/binaryurp/source/bridge.cxx:945
#3 0xb6c26be7 in binaryurp::Bridge::makeReleaseCall (this=0xb6c9d9b0, oid=..., type=...)
    at /data/opt/libreoffice/bootstrap/clone/ure/binaryurp/source/bridge.cxx:936
#4 0xb6c24561 in binaryurp::Bridge::freeProxy (this=0xb6c9d9b0, proxy=...)
    at /data/opt/libreoffice/bootstrap/clone/ure/binaryurp/source/bridge.cxx:500
#5 0xb6c3eb7d in binaryurp::Proxy::do_free (this=0x8118630) at /data/opt/libreoffice/bootstrap/clone/ure/binaryurp/source/proxy.cxx:107
#6 0xb6c21f64 in binaryurp::(anonymous namespace)::freeProxyCallback (pProxy=0x8118630)
    at /data/opt/libreoffice/bootstrap/clone/ure/binaryurp/source/bridge.cxx:97
#7 0xb7b3b925 in ?? () from /opt/OOInstall/basis3.4/program/../ure-link/lib/libuno_cppu.so.3
#8 0xb7b3facd in ?? () from /opt/OOInstall/basis3.4/program/../ure-link/lib/libuno_cppu.so.3
#9 0xb7b3fb4a in uno_Environment_invoke_v () from /opt/OOInstall/basis3.4/program/../ure-link/lib/libuno_cppu.so.3
#10 0xb7b3fb7d in uno_Environment_invoke () from /opt/OOInstall/basis3.4/program/../ure-link/lib/libuno_cppu.so.3
#11 0xb7b385a7 in ?? () from /opt/OOInstall/basis3.4/program/../ure-link/lib/libuno_cppu.so.3
#12 0xb6c24504 in binaryurp::Bridge::revokeProxy (this=0xb6c9d9b0, proxy=...)
    at /data/opt/libreoffice/bootstrap/clone/ure/binaryurp/source/bridge.cxx:495
#13 0xb6c3eb48 in binaryurp::Proxy::do_release (this=0x8118630) at /data/opt/libreoffice/bootstrap/clone/ure/binaryurp/source/proxy.cxx:102
#14 0xb6c3e8c2 in binaryurp::(anonymous namespace)::proxy_releaseInterface (pInterface=0x8118630)
    at /data/opt/libreoffice/bootstrap/clone/ure/binaryurp/source/proxy.cxx:61
#15 0xb6df7e91 in ?? () from /data/opt/OOInstall/ure/lib/libgcc3_uno.so
#16 0xb7b3b925 in ?? () from /opt/OOInstall/basis3.4/program/../ure-link/lib/libuno_cppu.so.3
#17 0xb7b3facd in ?? () from /opt/OOInstall/basis3.4/program/../ure-link/lib/libuno_cppu.so.3
#18 0xb7b3fb4a in uno_Environment_invoke_v () from /opt/OOInstall/basis3.4/program/../ure-link/lib/libuno_cppu.so.3
#19 0xb7b3fb7d in uno_Environment_invoke () from /opt/OOInstall/basis3.4/program/../ure-link/lib/libuno_cppu.so.3
#20 0xb7b385a7 in ?? () from /opt/OOInstall/basis3.4/program/../ure-link/lib/libuno_cppu.so.3
#21 0xb6df8101 in ?? () from /data/opt/OOInstall/ure/lib/libgcc3_uno.so
#22 0xb6df6525 in ?? () from /data/opt/OOInstall/ure/lib/libgcc3_uno.so
#23 0xb6df7109 in ?? () from /data/opt/OOInstall/ure/lib/libgcc3_uno.so
#24 0xb7b5e099 in com::sun::star::uno::cpp_release(void*) () from /opt/OOInstall/basis3.4/program/pyuno.so
#25 0xb7b33298 in uno_any_destruct () from /opt/OOInstall/basis3.4/program/../ure-link/lib/libuno_cppu.so.3
#26 0xb7b5e2c6 in com::sun::star::uno::Any::~Any() () from /opt/OOInstall/basis3.4/program/pyuno.so
#27 0xb7b63a02 in pyuno::PyUNO_callable_call(_object*, _object*, _object*) () from /opt/OOInstall/basis3.4/program/pyuno.so
#28 0xb7ec2b40 in PyObject_Call (func=0xb7c6f130, arg=0xb7c325cc, kw=0x0) at Objects/abstract.c:2522
#29 0xb7ede4d3 in do_call (f=0x80d1e3c, throwflag=0) at Python/ceval.c:4230
#30 call_function (f=0x80d1e3c, throwflag=0) at Python/ceval.c:4035
#31 PyEval_EvalFrameEx (f=0x80d1e3c, throwflag=0) at Python/ceval.c:2665
#32 0xb7ee3e2f in PyEval_EvalCodeEx (co=0xb7c28da0, globals=0xb7c6e35c, locals=0x0, args=0xb7bd2378, argcount=1, kws=0x0, kwcount=0, defs=0x0,
    defcount=0, closure=0x0) at Python/ceval.c:3252
#33 0xb7ec7a07 in function_call (func=0xb7bdce2c, arg=0xb7bd236c, kw=0x0) at Objects/funcobject.c:526
---Type <return> to continue, or q <return> to quit---
#34 0xb7ec2b40 in PyObject_Call (func=0xb7bdce2c, arg=0xb7bd236c, kw=0x0) at Objects/abstract.c:2522
#35 0xb7ec39c0 in instancemethod_call (func=0xb7bdce2c, arg=0xb7bd236c, kw=0x0) at Objects/classobject.c:2578
#36 0xb7ec2b40 in PyObject_Call (func=0xb7bcf89c, arg=0xb7c3e02c, kw=0x0) at Objects/abstract.c:2522
#37 0xb7edc9c6 in PyEval_CallObjectWithKeywords (func=0xb7bcf89c, arg=0xb7c3e02c, kw=0x0) at Python/ceval.c:3881
#38 0xb7ec491b in PyInstance_New (klass=0xb7c3aa4c, arg=0xb7c3e02c, kw=0x0) at Objects/classobject.c:571
#39 0xb7ec2b40 in PyObject_Call (func=0xb7c3aa4c, arg=0xb7c3e02c, kw=0x0) at Objects/abstract.c:2522
#40 0xb7ede4d3 in do_call (f=0x805bc3c, throwflag=0) at Python/ceval.c:4230
#41 call_function (f=0x805bc3c, throwflag=0) at Python/ceval.c:4035
#42 PyEval_EvalFrameEx (f=0x805bc3c, throwflag=0) at Python/ceval.c:2665
#43 0xb7ee3fd9 in PyEval_EvalCodeEx (co=0xb7c2c578, globals=0xb7c6e35c, locals=0xb7c6e35c, args=0x0, argcount=0, kws=0x0, kwcount=0, defs=0x0,
    defcount=0, closure=0x0) at Python/ceval.c:3252
#44 0xb7f13653 in PyEval_EvalCode (co=0xb7c2c578, globals=0xb7c6e35c, locals=0xb7c6e35c) at Python/ceval.c:666
#45 0xb7f21b0c in run_mod (mod=<value optimized out>, filename=<value optimized out>, globals=0xb7c6e35c, locals=0xb7c6e35c, flags=0xbfffefdc,
    arena=0x80cd2a8) at Python/pythonrun.c:1346
#46 0xb7f21fce in PyRun_FileExFlags (fp=0x8067ab0, filename=0xbffff2fd "test.py", start=257, globals=0xb7c6e35c, locals=0xb7c6e35c, closeit=1,
    flags=0xbfffefdc) at Python/pythonrun.c:1332
#47 0xb7f2276b in PyRun_SimpleFileExFlags (fp=0x8067ab0, filename=<value optimized out>, closeit=1, flags=0xbfffefdc) at Python/pythonrun.c:936
#48 0xb7f22d0a in PyRun_AnyFileExFlags (fp=0x8067ab0, filename=0xbffff2fd "test.py", closeit=1, flags=0xbfffefdc) at Python/pythonrun.c:740
#49 0xb7f2c3a7 in Py_Main (argc=2, argv=0xbffff0c4) at Modules/main.c:599
#50 0x08048687 in main ()

and the exception site:

gdb) l
325 if (terminated_) {
326 throw css::lang::DisposedException(
327 rtl::OUString(
328 RTL_CONSTASCII_USTRINGPARAM(
329 "Binary URP bridge already disposed")),
330 static_cast< cppu::OWeakObject * >(this));
331 }
332 OSL_ASSERT(writer_.is());
333 return writer_;