[Bug 2120731] Re: Raspberry Pi 5 16G, Ubuntu 24.04: pemmican-reset waits for notification acknowledgement, prevents full desktop service startup

Dave Jones 2120731 at bugs.launchpad.net
Tue Sep 16 14:28:25 UTC 2025


Hmm, the issue with exiting is that the process isn't around to respond
to requests for "more information" which is part of the spec. Your AI
has identified where the process exits in the event there are no more
pending notifications (such as in the case that the PSU is sufficient,
or that it's insufficient but all warnings are inhibited), but I suspect
the actual issue is the registration as a oneshot service, when it
should probably be a regular service which is permitted to "exit
cleanly" without requiring restart.

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to pemmican in Ubuntu.
Matching subscriptions: pemmican-bugs
https://bugs.launchpad.net/bugs/2120731

Title:
  Raspberry Pi 5 16G, Ubuntu 24.04: pemmican-reset waits for
  notification acknowledgement, prevents full desktop service startup

Status in pemmican package in Ubuntu:
  Triaged
Status in pemmican source package in Noble:
  New
Status in pemmican source package in Plucky:
  New
Status in pemmican source package in Questing:
  Triaged

Bug description:
  When pemmican-reset starts and finds that the power supply is
  insufficient, it issues a notification.  This is all well and good.
  But the way it does so is to *wait for the notification to be
  acknowledged* before it exits.  That is *not* all well and good,
  because in doing so it prevents systemd user services such as
  graphical-session from starting.  And this is so because it specifies
  in its systemd service description:

  ```
  [Install]
  WantedBy=graphical-session.target
  ```

  The end result is that if it issues a notification, the graphical
  session service will hang waiting for it to complete until the user
  explicitly acknowledges the notification.  This, in turn, causes xdg-
  desktop-portal to fail to start, and that causes gnome-terminal-
  service to fail to start because it waits for the identifier supplied
  by xdg-desktop-portal to become available via dbus.  And as a
  consequence, you can't start gnome-terminal until you clear the
  notification (and perhaps not even then, since these other service
  startups might well have timed out by the time the notification is
  acknowledged).

  This is a serious bug.  Ubuntu users on Pi5 systems that have power
  supplies that would result in this notification will *all* be affected
  by this in various ways, depending on what user services need to be up
  and running for them to do what they do.


  The bottom line is this: pemmican-reset *must not* block in such a way
  as to prevent anything else from starting.  Its systemd descriptor
  says that it's a one-shot startup:

  ```
  [Service]
  Slice=session.slice
  Type=oneshot
  ExecStart=pemmican-reset
  Restart=on-failure
  RestartSec=1s
  ```

  which means that systemd will wait for it to exit.

  I worked around this issue by supplying my own augmentation to the
  pemmican-reset systemd descriptor:

  ```
  # /etc/systemd/user/pemmican-reset.service.d/fix-deps.conf
  [Unit]
  After=graphical-session.target

  [Install]
  WantedBy=default.target
  ```

  While pemmican-reset still sits there until the notification is
  acknowledged, the above at least allows the rest of the desktop system
  to start properly and thus gnome-terminal now starts as expected.

  The bottom line is this: pemmican-reset should issue the notification
  and *exit immediately*, rather than waiting for the user to
  acknowledge the message.  The AI I've been working with to diagnose
  this claims this to be the offending code:

  /usr/lib/python3/dist-packages/pemmican/gui.py:

  ```
  # If nothing is pending (already!), just exit immediately
  if not self.notifier.pending:
      self.main_loop.quit()
  ```

  which seems sensible.

  LSB release info:
  ```
  No LSB modules are available.
  Description:    Ubuntu 24.04.3 LTS
  Release:        24.04
  ```

  Package info:

  ```
  kevin at printserver-pi4:~$ dpkg -l pemmican-desktop
  Desired=Unknown/Install/Remove/Purge/Hold
  | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
  |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
  ||/ Name             Version        Architecture Description
  +++-================-==============-============-=========================================================================
  ii  pemmican-desktop 1.0.3-0ubuntu1 all          Notify users of Raspberry Pi 5 power issues via freedesktop notifications
  ```

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/pemmican/+bug/2120731/+subscriptions




More information about the foundations-bugs mailing list