Xpra: Ticket #1437: app_actions_err and window_actions_err sometimes called with no arguments causing an exception

Unfortunately, I didn't save the actual log file that contained the exceptions. They were overwritten by subsequent invocations of xpra. I was able to copy the error from the terminal history buffer though. And I'm unable to reproduce the error, so I think this is a very uncommon code path. None the less, it does appear to be a bug as the error callbacks should be able to be called with no arguments. Here is the scraped log lines:

2017-02-13 14:32:21,947 Warning: xpra start from an existing 'ubuntu' desktop session
2017-02-13 14:32:21,948  pulseaudio forwarding may not work
2017-02-13 14:32:21,948  try using a clean environment, a dedicated user,
2017-02-13 14:32:21,948  or turn off pulseaudio
X.Org X Server 1.18.4
Release Date: 2016-07-19
X Protocol Version 11, Revision 0
Build Operating System: Linux 4.4.0-45-generic x86_64 Ubuntu
Current Operating System: Linux crass-Ideapad-Z570 4.9.0-15-generic #16-Ubuntu SMP Fri Jan 20 15:31:12 UTC 2017 x86_64
Kernel command line: BOOT_IMAGE=/@/boot/vmlinuz-4.9.0-15-generic.efi.signed root=/dev/mapper/vgsystem-system ro rootflags=subvol=@ quiet splash vt.handoff=7
Build Date: 02 November 2016  10:06:55PM
xorg-server 2:1.18.4-1ubuntu6.1 (For technical support please see http://www.ubuntu.com/support)
Current version of pixman: 0.33.6
        Before reporting problems, check http://wiki.x.org
        to make sure that you have the latest version.
Markers: (--) probed, (**) from config file, (==) default setting,
        (++) from command line, (!!) notice, (II) informational,
        (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(++) Log file: "/run/user/1000/xpra/Xorg.:100.log", Time: Mon Feb 13 14:32:21 2017
(++) Using config file: "/etc/xpra/xorg.conf"
(==) Using system config directory "/usr/share/X11/xorg.conf.d"
2017-02-13 14:32:22,038 created unix domain socket: /home/crass/.xpra/crass-Ideapad-Z570-100
2017-02-13 14:32:22,038 Warning: cannot create socket '/var/run/xpra/crass-Ideapad-Z570-100'
2017-02-13 14:32:22,038  [Errno 13] Permission denied
2017-02-13 14:32:22,039  user 'crass' is a member of groups: adm, cdrom, sudo, dip, plugdev, lpadmin, sambashare, wireshark
2017-02-13 14:32:22,039   (missing 'xpra' group membership?)
2017-02-13 14:32:22,039  permissions on directory /var/run/xpra: 0770
2017-02-13 14:32:22,039   ownership root:xpra
2017-02-13 14:32:22,779 serving html content from: /usr/share/xpra/www
2017-02-13 14:32:22,873 pulseaudio server started with pid 14267
E: [pulseaudio] pid.c: Daemon already running.
2017-02-13 14:32:23,315 GStreamer version 1.8.3 for Python 2.7.12 64-bit
2017-02-13 14:32:23,327 Warning: cannot forward notifications, the interface is already claimed
2017-02-13 14:32:23,327  if you do not have a dedicated dbus session for this xpra instance,
2017-02-13 14:32:23,327  use the 'notifications=no' option
... <snip> ...
2017-02-13 14:32:23,335 started command 'gnome-terminal' with pid 14283
2017-02-13 14:32:23,336 xpra X11 version 1.0.3-r15051 64-bit
2017-02-13 14:32:23,336  uid=1000 (crass), gid=1000 (crass)
2017-02-13 14:32:23,336  running with pid 14212 on Linux Ubuntu 16.10 yakkety
2017-02-13 14:32:23,336  connected to X11 display :100
2017-02-13 14:32:23,349 xpra is ready.
2017-02-13 14:32:23,518 Introspect error on :1.5:/org/gnome/Terminal: dbus.exceptions.DBusException: org.freedesktop.DBus.Error.ServiceUnknown: The name :1.5 was not provided by any .service files
2017-02-13 14:32:23,518 Executing introspect queue due to error
2017-02-13 14:32:23,519 Introspect error on :1.5:/org/gnome/Terminal/window/1: dbus.exceptions.DBusException: org.freedesktop.DBus.Error.ServiceUnknown: The name :1.5 was not provided by any .service files
2017-02-13 14:32:23,519 Executing introspect queue due to error
2017-02-13 14:32:23,520 Introspect error on :1.5:/org/gnome/Terminal/menus/appmenu: dbus.exceptions.DBusException: org.freedesktop.DBus.Error.ServiceUnknown: The name :1.5 was not provided by any .service files
2017-02-13 14:32:23,520 Executing introspect queue due to error
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/dbus/connection.py", line 607, in msg_reply_handler
    *message.get_args_list()))
  File "/usr/lib/python2.7/dist-packages/xpra/dbus/gtk_menuactions.py", line 323, in actions_error
    error_cb()
TypeError: app_actions_err() takes exactly 1 argument (0 given)
2017-02-13 14:32:23,523 Error: failed to query org.gtk.Actions at /org/gnome/Terminal:
2017-02-13 14:32:23,523  (DBusException(dbus.String(u'The name :1.5 was not provided by any .service files'),),)
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/dbus/connection.py", line 607, in msg_reply_handler
    *message.get_args_list()))
  File "/usr/lib/python2.7/dist-packages/xpra/dbus/gtk_menuactions.py", line 323, in actions_error
    error_cb()
TypeError: window_actions_err() takes exactly 1 argument (0 given)
2017-02-13 14:32:23,523 Error: failed to query org.gtk.Actions at /org/gnome/Terminal/window/1:
2017-02-13 14:32:23,524  (DBusException(dbus.String(u'The name :1.5 was not provided by any .service files'),),)
2017-02-13 14:32:23,524 Error: failed to query org.gtk.Menus at /org/gnome/Terminal/menus/appmenu:
2017-02-13 14:32:23,524  (DBusException(dbus.String(u'The name :1.5 was not provided by any .service files'),),)
2017-02-13 14:32:23,529 child 'gnome-terminal' with pid 14283 has terminated
2017-02-13 14:32:23,529 all children have exited and --exit-with-children was specified, exiting
2017-02-13 14:32:24,032 xpra is terminating.
2017-02-13 14:32:24,033 closing TCP socket 127.0.0.2:10000
2017-02-13 14:32:24,033 killing xvfb with pid 14216
2017-02-13 14:32:24,033 removing socket /home/crass/.xpra/crass-Ideapad-Z570-100
(II) Server terminated successfully (0). Closing log file.


Tue, 14 Feb 2017 02:13:27 GMT - Antoine Martin: status, description changed; resolution set

Thanks for the report, this should be fixed in r15057 (r15058 for v1.0.x branch) and will be in the next update.

I believe this can happen if we start to query the dbus interface whilst the application is shutting down. We should deal with it more gracefully now, only the "regular" warnings will remain.


Sat, 23 Jan 2021 05:24:18 GMT - migration script:

this ticket has been moved to: https://github.com/Xpra-org/xpra/issues/1437