In Ubuntu Lucid, with the PPA version; I get this stack trace as Docky crashes when I clear recent documents. $ docky [Info 11:46:36.393] Docky version: 2.1.0 bzr docky r1332 ppa [Info 11:46:36.494] Kernel version: 2.6.32.22 [Info 11:46:36.497] CLR version: 2.0.50727.1433 Marshaling changed 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. ---> System.InvalidOperationException: Operation is not valid due to the current state of the object at System.Linq.Enumerable.First[FileDockItem] (IEnumerable`1 source) [0x00000] at RecentDocuments.RecentDocumentsItem.UpdateInfo () [0x00000] at RecentDocuments.RecentDocumentsItem.RefreshRecentDocs () [0x00000] at RecentDocuments.RecentDocumentsItem.m__2 (System.Object , System.EventArgs ) [0x00000] at (wrapper managed-to-native) System.Reflection.MonoMethod:InternalInvoke (object,object[],System.Exception&) at System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [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.RecentManager.gtk_recent_manager_purge_items(IntPtr , IntPtr ByRef ) at Gtk.RecentManager.PurgeItems() at RecentDocuments.RecentDocumentsItemProvider+c__AnonStorey0.<>m__0(System.Object o, Gtk.ResponseArgs args) at System.Reflection.MonoMethod.InternalInvoke(System.Object , System.Object[] , System.Exception ByRef ) at System.Reflection.MonoMethod.Invoke(System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) at System.Reflection.MethodBase.Invoke(System.Object obj, System.Object[] parameters) at System.Delegate.DynamicInvokeImpl(System.Object[] args) at System.MulticastDelegate.DynamicInvokeImpl(System.Object[] args) at System.Delegate.DynamicInvoke(System.Object[] args) at GLib.Signal.ClosureInvokedCB(System.Object o, GLib.ClosureInvokedArgs args) at GLib.SignalClosure.Invoke(GLib.ClosureInvokedArgs args) 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 Docky.Docky.Main(System.String[] args) Cairo.Context: called from finalization thread, programmer is missing a call to Dispose Cairo.Context: called from finalization thread, programmer is missing a call to Dispose Cairo.Context: called from finalization thread, programmer is missing a call to Dispose Cairo.Context: called from finalization thread, programmer is missing a call to Dispose Cairo.Context: called from finalization thread, programmer is missing a call to Dispose Cairo.Context: called from finalization thread, programmer is missing a call to Dispose Cairo.Context: called from finalization thread, programmer is missing a call to Dispose Cairo.Context: called from finalization thread, programmer is missing a call to Dispose Cairo.Context: called from finalization thread, programmer is missing a call to Dispose Cairo.Context: called from finalization thread, programmer is missing a call to Dispose Cairo.Context: called from finalization thread, programmer is missing a call to Dispose Cairo.Context: called from finalization thread, programmer is missing a call to Dispose Cairo.Context: called from finalization thread, programmer is missing a call to Dispose Cairo.Context: called from finalization thread, programmer is missing a call to Dispose Cairo.Context: called from finalization thread, programmer is missing a call to Dispose Cairo.Context: called from finalization thread, programmer is missing a call to Dispose Cairo.Context: called from finalization thread, programmer is missing a call to Dispose Cairo.Context: called from finalization thread, programmer is missing a call to Dispose Cairo.Context: called from finalization thread, programmer is missing a call to Dispose Cairo.Context: called from finalization thread, programmer is missing a call to Dispose Cairo.Context: called from finalization thread, programmer is missing a call to Dispose Cairo.Context: called from finalization thread, programmer is missing a call to Dispose Cairo.Context: called from finalization thread, programmer is missing a call to Dispose Cairo.Context: called from finalization thread, programmer is missing a call to Dispose Cairo.Context: called from finalization thread, programmer is missing a call to Dispose Cairo.Context: called from finalization thread, programmer is missing a call to Dispose Cairo.Context: called from finalization thread, programmer is missing a call to Dispose Cairo.Context: called from finalization thread, programmer is missing a call to Dispose Cairo.Context: called from finalization thread, programmer is missing a call to Dispose Cairo.Context: called from finalization thread, programmer is missing a call to Dispose Cairo.Context: called from finalization thread, programmer is missing a call to Dispose Cairo.Context: called from finalization thread, programmer is missing a call to Dispose Cairo.Context: called from finalization thread, programmer is missing a call to Dispose