[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#956497: ristretto: 25 seconds delay when org.Xfce.FileManager isn't available



Control: retitle -1 ristretto: 25 seconds delay when org.Xfce.FileManager isn't available

Daniel Shahaf wrote on Sun, Apr 12, 2020 at 03:59:07 +0000:
>   I captured a backtrace (from a different ristretto run, because lldb
>   failed to attached to the strace'd run):
> 
>   * thread #1, name = 'ristretto', stop reason = signal SIGSTOP
>     * frame #0: 0x00007ffff6ba0819 libc.so.6`__GI___poll(fds=0x0000555555648720, nfds=1, timeout=25000) at poll.c:29                                                                                                
>       frame #1: 0x00007ffff762b136 libglib-2.0.so.0`___lldb_unnamed_symbol193$$libglib-2.0.so.0 + 374

Oops, I overlooked the library's dbgsym package.  Here's a more complete
backtrace:

* thread #1, name = 'ristretto', stop reason = signal SIGSTOP
  * frame #0: 0x00007ffff6ba0819 libc.so.6`__GI___poll(fds=0x0000555555646b30, nfds=1, timeout=25000) at poll.c:29
    frame #1: 0x00007ffff762b136 libglib-2.0.so.0`g_main_context_iterate at gmain.c:4221
    frame #2: 0x00007ffff762b110 libglib-2.0.so.0`g_main_context_iterate(context=0x0000555555647af0, block=<unavailable>, dispatch=1, self=<unavailable>) at gmain.c:3915
    frame #3: 0x00007ffff762b4c2 libglib-2.0.so.0`g_main_loop_run(loop=0x0000555555647880) at gmain.c:4116
    frame #4: 0x00007ffff78a1b53 libgio-2.0.so.0`initable_init(initable=0x000055555562a5f0, cancellable=0x0000000000000000, error=0x0000000000000000) at gdbusproxy.c:1950
    frame #5: 0x00007ffff78118c2 libgio-2.0.so.0`g_initable_new_valist(object_type=<unavailable>, first_property_name="g-flags", var_args=0x00007fffffffe180, cancellable=0x0000000000000000, error=0x0000000000000000) at ginitable.c:248
    frame #6: 0x00007ffff7811979 libgio-2.0.so.0`g_initable_new(object_type=<unavailable>, cancellable=<unavailable>, error=<unavailable>, first_property_name=<unavailable>) at ginitable.c:162
    frame #7: 0x00007ffff78a34fc libgio-2.0.so.0`g_dbus_proxy_new_for_bus_sync(bus_type=G_BUS_TYPE_SESSION, flags=G_DBUS_PROXY_FLAGS_NONE, info=0x0000000000000000, name="org.xfce.FileManager", object_path="/org/xfce/FileManager", interface_name="org.xfce.FileManager", cancellable=0x0000000000000000, error=0x0000000000000000) at gdbusproxy.c:2257
    frame #8: 0x0000555555575ef5 ristretto`rstto_main_window_init(window=0x00005555555d9260) at main_window.c:809
    frame #9: 0x00007ffff7730107 libgobject-2.0.so.0`g_type_create_instance(type=<unavailable>) at gtype.c:1864
    frame #10: 0x00007ffff7712548 libgobject-2.0.so.0`g_object_new_internal(class=0x0000555555627080, params=0x0000000000000000, n_params=0) at gobject.c:1805
    frame #11: 0x00007ffff7713cc5 libgobject-2.0.so.0`g_object_new_with_properties(object_type=93824992996720, n_properties=0, names=0x0000000000000000, values=0x0000000000000000) at gobject.c:1973
    frame #12: 0x00007ffff7714731 libgobject-2.0.so.0`g_object_new(object_type=<unavailable>, first_property_name=<unavailable>) at gobject.c:1645
    frame #13: 0x0000555555578f5a ristretto`rstto_main_window_new(image_list=0x00005555555a95a0, fullscreen=0) at main_window.c:1263
    frame #14: 0x0000555555566c74 ristretto`main(argc=<unavailable>, argv=<unavailable>) at main.c:134
    frame #15: 0x00007ffff6ad609b libc.so.6`__libc_start_main(main=(ristretto`main at main.c:86), argc=1, argv=0x00007fffffffe828, init=<unavailable>, fini=<unavailable>, rtld_fini=<unavailable>, stack_end=0x00007fffffffe818) at libc-start.c:308
    frame #16: 0x0000555555566e0a ristretto`_start + 42

I used dbus-send(1) [1] to list the available DBus services.  The
"org.xfce.FileManager" service is available when I run ristretto under
xfce but not available when I run ristretto under openbox.  However, if
I use openbox and run —
.
    % thunar&
    [1] 8868
    % ristretto
.
— in an empty directory, then ristretto starts with no delay.

I added «thunar --daemon &» to my .xinitrc and the delay does not occur
any more.

I suppose all that remains is to improve the startup behaviour when the
"org.xfce.FileManager" service isn't available — for example, by
shortening the delay, or adding a progress dialog, etc..

Thanks,

Daniel

[1] «dbus-send --print-reply --dest=org.freedesktop.DBus /org/freedesktop/DBus org.freedesktop.DBus.ListNames»


Reply to: