"System program problem" report button does nothing
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
update-notifier (Ubuntu) |
Fix Released
|
High
|
Dan Bungert | ||
Bionic |
Won't Fix
|
Undecided
|
Unassigned | ||
Focal |
Fix Released
|
High
|
Brian Murray | ||
Hirsute |
Fix Released
|
High
|
Brian Murray | ||
Impish |
Fix Released
|
High
|
Brian Murray |
Bug Description
[Impact]
* Users, already annoyed that software has crashed and they have an
unwanted dialog instead, are unable to click the report button to
let us know about the crash.
* Two identical-looking dialogs exist - one on the system-crash
path, and one spawned by the background update-notifier process.
The system crash one is the failing one, the update-notifier one
is fine. The system crash one shows first, and users may not
bother to approve the second one given that the first didn't do
anything
* We receive fewer crash reports
[Test Plan]
* sudo xeyes &
* sudo kill -11 $PID from above
* receive crash notification
* click "Report problem..."
* We should see the report procedure start
[Where problems could occur]
* By the nature of the supplied fix, if the report process hangs
around, the normal systemd cleanup procedures would fail to clean
it up. This same risk is present for report processes initiated
on the non-system-crash report code path.
* Wayland is still affected even with this fix, for different reasons
(LP: #1947929)
[Other Info]
Q: Systemd says KillMode=process is not recommended
https:/
In this case, killing the other processes in the control-group is part
of the problem.
The system crash dialog is a relatively simple bit of code that shows
a dialog, then runs a report process. This dialog process is spawned
as part of a chain of processes downstream from
update-
This dialog runs the report process using g_spawn_async(). After
spawning the report process, there isn't any particular reason to keep
the dialog process around, so it exits. This exit is triggering the
KillMode behavior, and because the report process is in the control
group, the report process is killed.
Another possibility for addressing the process management is to run
the report process synchronously - keep the dialog process around
until the report is done and just make the dialog not visible. This
is not a workable answer in this case because with the current gtk
code usage, the dialog sticks around - even after the call to
gtk_widget_
gtk_dialog_run(). Long term I recommend we modernize this code.
My initial fix for this LP was in that direction.
https:/
Related branches
- Ubuntu Core Development Team: Pending requested
-
Diff: 24 lines (+8/-0)2 files modifieddebian/changelog (+7/-0)
debian/systemd/update-notifier-crash.service (+1/-0)
Changed in update-notifier (Ubuntu): | |
importance: | Undecided → High |
tags: |
added: rls-dd-notfixing rls-ee-incoming removed: rls-dd-incoming |
tags: | added: id-5c9cf7c38b53cd82590a3144 |
tags: | removed: rls-ee-incoming |
Changed in update-notifier (Ubuntu Eoan): | |
status: | Confirmed → Won't Fix |
tags: | added: fr-25 |
tags: | added: focal groovy |
Changed in update-notifier (Ubuntu): | |
status: | Fix Released → Triaged |
Changed in update-notifier (Ubuntu): | |
assignee: | nobody → Dan Bungert (dbungert) |
status: | Triaged → In Progress |
tags: | removed: disco groovy rls-dd-notfixing |
no longer affects: | update-notifier (Ubuntu Eoan) |
description: | updated |
Changed in update-notifier (Ubuntu Focal): | |
status: | New → In Progress |
Changed in update-notifier (Ubuntu Hirsute): | |
status: | New → In Progress |
Changed in update-notifier (Ubuntu Impish): | |
status: | New → In Progress |
Changed in update-notifier (Ubuntu Focal): | |
assignee: | nobody → Brian Murray (brian-murray) |
Changed in update-notifier (Ubuntu Hirsute): | |
assignee: | nobody → Brian Murray (brian-murray) |
Changed in update-notifier (Ubuntu Impish): | |
assignee: | nobody → Brian Murray (brian-murray) |
Changed in update-notifier (Ubuntu Focal): | |
importance: | Undecided → High |
Changed in update-notifier (Ubuntu Hirsute): | |
importance: | Undecided → High |
Changed in update-notifier (Ubuntu Impish): | |
importance: | Undecided → High |
Changed in update-notifier (Ubuntu Bionic): | |
status: | New → Won't Fix |
tags: |
added: verification-done-focal verification-done-hirsute verification-done-impish removed: verification-needed-focal verification-needed-hirsute verification-needed-impish |
Status changed to 'Confirmed' because the bug affects multiple users.