To comment on the following update, log in, then open the issue:
http://www.openoffice.org/issues/show_bug.cgi?id=106922
                 Issue #|106922
                 Summary|Error connecting to OOo once OOo has been started by a
                        |pplication, then closed.
               Component|api
                 Version|OOO310m19
                Platform|Unknown
                     URL|
              OS/Version|Linux
                  Status|UNCONFIRMED
       Status whiteboard|
                Keywords|
              Resolution|
              Issue type|DEFECT
                Priority|P3
            Subcomponent|code
             Assigned to|jsc
             Reported by|matthewpirocchi





------- Additional comments from [email protected] Sat Nov 14 
19:23:09 +0000 2009 -------
I have a small application that generates three different template documents in 
OOo Writer. When one of the three "generate" buttons is clicked, this is part 
of 
the code that is executed (in C#):

// Connect to OOo
if (componentContext == null)
    componentContext = uno.util.Bootstrap.bootstrap();
XMultiServiceFactory multiServiceFactory =
    (XMultiServiceFactory) componentContext.getServiceManager();
XComponentLoader loader = (XComponentLoader)
    multiServiceFactory.createInstance
        ("com.sun.star.frame.Desktop");

// Initialize class members document, text, and cursor
document = (XTextDocument) loader.loadComponentFromURL
    ("private:factory/swriter", "_blank", 0,
     new PropertyValue[0]);
text = document.getText();
cursor = text.createTextCursor();


The following steps cause a crash:

1. The user generates a document.
2. The user closes the document (closing OOo).
3. The user tries to generate another document.

This exception is thrown:
unoidl.com.sun.star.lang.DisposedException: URP-Bridge: disposed(tid=4) 
Unexpected connection closure

How do I check to make sure the connection is still open before trying to 
generate another chart? And how do I reconnect if it has been closed?

More specifically, this is the complete error message:
Marshaling clicked signal
Exception in Gtk# callback delegate
  Note: Applications can use GLib.ExceptionManager.UnhandledException to handle 
the exception.
System.Reflection.TargetInvocationException: Exception has been thrown by the 
target of an invocation. ---> unoidl.com.sun.star.lang.DisposedException: URP-
Bridge: disposed(tid=4) Unexpected connection closure
  at com.sun.star.bridges.mono_uno.UnoInterfaceProxy.ConstructReturnMessage 
(Any 
result, System.Object[] args, uno.Typelib.InterfaceMethodTypeDescription* 
methodTD, IMethodCallMessage callmsg, Any exception) [0x00000] 
  at com.sun.star.bridges.mono_uno.UnoInterfaceProxy.Invoke (IMessage request) 
[0x00000] 
  at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke 
(System.Runtime.Remoting.Proxies.RealProxy rp, IMessage msg, System.Exception& 
exc, System.Object[]& out_args) [0x00000] 
  --- End of inner exception stack trace ---
  at System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags 
invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, 
System.Globalization.CultureInfo culture) [0x00000] 
  at System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] 
parameters) [0x00000] 
  at System.Delegate.DynamicInvokeImpl (System.Object[] args) [0x00000] 
  at System.MulticastDelegate.DynamicInvokeImpl (System.Object[] args) 
[0x00000] 
  at System.Delegate.DynamicInvoke (System.Object[] args) [0x00000] 
  at GLib.Signal.ClosureInvokedCB (System.Object o, GLib.ClosureInvokedArgs 
args) [0x00000] 
  at GLib.SignalClosure.Invoke (GLib.ClosureInvokedArgs args) [0x00000] 
  at GLib.SignalClosure.MarshalCallback (IntPtr raw_closure, IntPtr return_val, 
UInt32 n_param_vals, IntPtr param_values, IntPtr invocation_hint, IntPtr 
marshal_data) [0x00000] 
   at GLib.ExceptionManager.RaiseUnhandledException(System.Exception e, Boolean 
is_terminal)
   at GLib.SignalClosure.MarshalCallback(IntPtr raw_closure, IntPtr return_val, 
UInt32 n_param_vals, IntPtr param_values, IntPtr invocation_hint, IntPtr 
marshal_data)
   at Gtk.Application.gtk_main()
   at Gtk.Application.Run()
   at TestDrive.MainClass.Main(System.String[] args) in 
/home/matthew/Dropbox/OpenSBS-mono/TestDrive/Main.cs:line 28

The application was terminated by a signal: SIGHUP

If I get rid of the line "if (componentContext == null)" (i.e., always try to 
connect, even when we have already connected), I get a stacktrace accompanied 
by 
this message:

=================================================================
Got a SIGSEGV while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries 
used by your application.
=================================================================

---------------------------------------------------------------------
Please do not reply to this automatically generated notification from
Issue Tracker. Please log onto the website and enter your comments.
http://qa.openoffice.org/issue_handling/project_issues.html#notification

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to