! Please note that this is a snapshot of our old Bugzilla server, which is read only since May 29, 2020. Please go to gitlab.xfce.org for our new server !
Xfce4-notifyd doesn't start with the system and randomly crashes without erro...
Status:
RESOLVED: FIXED
Product:
Xfce4-notifyd
Component:
general

Comments

Description jsanchezfsms 2017-10-15 10:37:14 CEST
--- System information ----------
Distribution: Antergos (rolling - Last updated on 05-13-2017)
Libnotify version: 0.7.7
Xfce4-notifyd version: 0.3.6

--- Bug description ----------------

When I log into my system, xfce4-notifyd is not started by default. There is also no /usr/bin/xfce4-notifyd executable. When the daemon is not running, any program that sends a notification gets stuck for 50 seconds (probably some hardcoded timeout somewhere?), even the UI doesn't respond in that state. 

I can see the following message in journalctl right when the notification is sent:

    Oct 15 10:28:24 jsf-Arch dbus-daemon[940]: Activating service name='org.freedesktop.Notifications'

And also the following two messages after the 50s pause

    Oct 15 10:29:24 jsf-Arch plasma_waitforname[8965]: org.kde.knotifications: WaitForName: Service was not registered within timeout
    Oct 15 10:29:24 jsf-Arch dbus-daemon[940]: Activated service 'org.freedesktop.Notifications' failed: Process org.freedesktop.Notifications exited with status 1

If I manually start the notifications daemon in /usr/lib/xfce4/notifyd/xfce4-notifyd, everything works for a while, but the notifications daemon exits after some time. There is no indication of an error either in journalctl nor in the terminal.
Comment 1 Simon Steinbeiss editbugs 2017-10-15 22:11:52 CEST
Until the first release after 0.3.6 the daemon will exit after 10mins of inactivity. I'm not sure why this "feature" was included, I guess to save resources...

Anyway, regarding how to start xfce4-notifyd, you can use systemd's systemctl command to start/stop the service manually or the "enable" command to autostart it with your session.
Comment 2 jsanchezfsms 2017-10-15 22:49:56 CEST
I understand this being intended behaviour, but one of the good things about xfce4-notifyd is that you can have it in very different systems. Adding a 10min timeout that kills the application and relying on systemd (which not all systems use) to launch it again is not a very good default IMO. It should, at least, be documented that the daemon relies in some system that will re-launch it when it's needed after 10 minutes of inactivity. 

Also, about the systemd service, that doesn't seem to be available in my setup, and ultimately this was the cause of my issue. Hoever, that is more likely to be an issue with my distribution's package so I'm going to report the bug there.

For the time being, anyone with the same problem may be interested in this workaround: The simplest way to "disable" this timeout feature was to configure the following script to autostart with Xfce:

    #!/bin/bash
    while true; do
        /usr/lib/xfce4/notifyd/xfce4-notifyd
    done
Comment 3 Simon Steinbeiss editbugs 2017-10-15 23:28:24 CEST
systemd is only an option and not in any way necessary to run xfce4-notifyd.

In general xfce4-notifyd should be launched whenever a notification is sent through libnotify and xfce4-notifyd is not running already.

Please check this thread and the comment which describes the thing your packagers should take care of if they don't want systemd:
https://forum.xfce.org/viewtopic.php?pid=33138#p33138

As far as I can tell this report can be closed. If you agree, please go ahead and do so.
Comment 4 jsanchezfsms 2017-10-15 23:36:26 CEST
I agree, thank you for your support!
Comment 5 Simon Steinbeiss editbugs 2017-10-15 23:38:47 CEST
No problem, thanks for taking the time to report a bug!

Bug #13925

Reported by:
jsanchezfsms
Reported on: 2017-10-15
Last modified on: 2017-10-15

People

Assignee:
Simon Steinbeiss
CC List:
0 users

Version

Attachments

Additional information