Public bug reported:

[ Impact ]

 * On systems where the user has deliberately disabled crash uploads
   (whoopsie.path disabled, whoopsie.service inactive), the Kubuntu
   notifier still runs data/whoopsie-upload-all when a crash is detected.
   The helper exits 1 with "ERROR: whoopsie is not running", leaving a
   failed transient user unit each time. Repeated crashes accumulate
   failed units, and systemctl --failed / monitoring tools report a
   fault although the system is configured as the user intended.

 * The helper should treat an explicit opt-out as "nothing to do" and exit 0.
   A genuine failure (whoopsie enabled but not running) must still be an error.

[ Test Plan ]

 Do not upload real crash reports during testing.

 1. Install kubuntu-notification-helper 26.04ubuntu6 on Kubuntu 26.04.
 2. Opt out of crash reporting:
      sudo systemctl disable --now whoopsie.path whoopsie.service
      systemctl is-enabled whoopsie.path     # -> disabled
      pidof whoopsie                         # -> no output, exit 1
 3. As the desktop user, run:
      /usr/share/kubuntu-notification-helper/whoopsie-upload-all   (installed 
path may differ; check dpkg -L)
      echo $?
    Before the fix: stderr "ERROR: whoopsie is not running", exit 1.
    After the fix:  stdout "INFO: whoopsie.path disabled; skipping automatic
    upload", exit 0.
 4. Trigger a crash notification (e.g. kill -SEGV a test KDE app with
    apport enabled) and confirm:
      systemctl --user --failed
    lists no failed whoopsie-upload-all transient unit after the fix
    (it lists one per crash before the fix).
 5. Regression, enabled but not running:
      sudo systemctl enable whoopsie.path; sudo systemctl stop whoopsie.path 
whoopsie.service
    Running the helper still prints "ERROR: whoopsie is not running"
    and exits 1.
 6. Regression, whoopsie running:
      sudo systemctl start whoopsie.service
    The helper proceeds to collect_info() as before.

[ Where problems could occur ]

 * The change only adds a branch on the path where whoopsie is already
   not running; the running-daemon path is untouched.
 * If systemctl is unavailable or fails, stdout is empty, so the helper
   falls through to the old error/exit 1 behaviour.
 * A masked whoopsie.path is also treated as an opt-out ("masked" is
   reported by is-enabled); this goes slightly beyond the reporter's
   patch (disabled only).
 * Other is-enabled states (static, indirect, alias) keep the old error 
behaviour.
 * Risk: a crash on a system with whoopsie.path disabled is now silently
   skipped instead of reported as failed; this is the intended behaviour.
 * Alternative (not implemented): gate the launch in
   ApportEvent::batchUploadAllowed() in the C++ daemon. It would avoid
   spawning the helper at all, but needs a larger change and a rebuild/test
   of the daemon.

** Affects: kubuntu-notification-helper (Ubuntu)
     Importance: Medium
     Assignee: Erich Eickmeyer (eeickmeyer)
         Status: Fix Committed

** Affects: kubuntu-notification-helper (Ubuntu Resolute)
     Importance: High
     Assignee: Erich Eickmeyer (eeickmeyer)
         Status: In Progress

** Affects: kubuntu-notification-helper (Ubuntu Stonking)
     Importance: High
     Assignee: Erich Eickmeyer (eeickmeyer)
         Status: In Progress

** Affects: kubuntu-notification-helper (Ubuntu Tenacious)
     Importance: Medium
     Assignee: Erich Eickmeyer (eeickmeyer)
         Status: Fix Committed

** Changed in: kubuntu-notification-helper (Ubuntu)
   Importance: Undecided => High

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2172769

Title:
  [SRU] whoopsie-upload-all fails with "whoopsie is not running" when
  whoopsie.path is disabled

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/kubuntu-notification-helper/+bug/2172769/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to