xpra icon
Bug tracker and wiki

Opened 7 years ago

Closed 7 years ago

Last modified 7 years ago

#83 closed defect (fixed)

dbus notification forwarding stops working after some time

Reported by: Timo Juhani Lindfors Owned by: Antoine Martin
Priority: major Milestone: 0.1
Component: android Version: 0.1.0
Keywords: Cc:

Description (last modified by Antoine Martin)

Steps to reproduce:

  • 1) notification-properties
  • 2) Click Preview

Expected results:

  • 2) notification is shown

Actual results:

  • 2) notifications are not shown after some time.

More info:

  • 1) svn r558
  • 2) client prints:
    notification error: (DBusException(dbus.String(u'The name :1.62 was not provided by any .service files'),),)
    notification error: (DBusException(dbus.String(u'The name :1.62 was not provided by any .service files'),),)
    notification error: (DBusException(dbus.String(u'The name :1.62 was not provided by any .service files'),),)
    notification error: (DBusException(dbus.String(u'The name :1.62 was not provided by any .service files'),),)
    notification error: (DBusException(dbus.String(u'The name :1.62 was not provided by any .service files'),),
    

Change History (5)

comment:1 Changed 7 years ago by Antoine Martin

Description: modified (diff)
Status: newaccepted

I don't have a "notification-properties" here, will have to find out how to get it.. To make it easier to reproduce in a VM: what distro version should I use? (and what specific commands?)
No idea what :1.62 is, were you using DISPLAY=:62? If so, where is the :1 from!?

Do you have a dedicated dbus running for the xpra session? If not this will not work.. (and maybe should be made clearer in the docs)

Last edited 7 years ago by Antoine Martin (previous) (diff)

comment:2 Changed 7 years ago by Timo Juhani Lindfors

this is normal debian squeeze. The command is notification-properties. ":1.62" is dbus busname?

I use "env DISPLAY=:7 dbus-launch screen -S X" and run "xpra start :7" and all my graphical applications from that screen.

dbus-monitor has things like

signal sender=org.freedesktop.DBus -> dest=(null destination) serial=9 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameOwnerChanged
   string "org.freedesktop.Notifications"
   string ":1.67"
   string ""
signal sender=org.freedesktop.DBus -> dest=(null destination) serial=10 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameOwnerChanged
   string ":1.67"
   string ":1.67"
   string ""
signal sender=org.freedesktop.DBus -> dest=(null destination) serial=11 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameOwnerChanged
   string ":1.68"
   string ":1.68"
   string ""


so maybe the notification-daemon leaves the bus and joins with another busname?

comment:3 Changed 7 years ago by Antoine Martin

before r583 we were always claiming the notification dbus name, which made it far too easy to stop notifications from working on the client or server (simply running xpra start ... would stop notifications from working where this was invoked if it had access to the dbus instance used by a real desktop as it would replace it).

Since re-connecting the client fixes the problem above, there may be another issue here: we may need to detect when the connection to dbus is dead and re-connect..

comment:4 Changed 7 years ago by Antoine Martin

Resolution: fixed
Status: acceptedclosed

In the end, testing for this was quite easy:

  • start xpra server
  • start /usr/libexec/notification-daemon daemon manually
  • start xpra client
  • kill notification daemon, get error
  • start notification daemon again, still error

The fix in r585 simply detects when the notification service is not answering and attempts to re-connect to it.

comment:5 Changed 7 years ago by Antoine Martin

Milestone: current0.1
Note: See TracTickets for help on using tickets.