Merge lp://staging/~ev/apport/handle-thread-crashes into lp://staging/~apport-hackers/apport/trunk

Proposed by Evan
Status: Merged
Merged at revision: 2538
Proposed branch: lp://staging/~ev/apport/handle-thread-crashes
Merge into: lp://staging/~apport-hackers/apport/trunk
Diff against target: 134 lines (+50/-10)
5 files modified
apport/ui.py (+18/-1)
gtk/apport-gtk (+7/-5)
kde/apport-kde (+7/-4)
test/test_ui_gtk.py (+9/-0)
test/test_ui_kde.py (+9/-0)
To merge this branch: bzr merge lp://staging/~ev/apport/handle-thread-crashes
Reviewer Review Type Date Requested Status
Martin Pitt (community) Approve
Review via email: mp+135911@code.staging.launchpad.net

Description of the change

As mentioned in bug 1033902 and in the specification <https://wiki.ubuntu.com/ErrorTracker#thread>, we should not show the Relaunch button when an application thread crashes.

I've implemented this as a check for the process still existing, as multiple threads will share the same PID. I do not believe this will be racy - a dying PID should be gone by the time apport-{gtk,kde} is run. However, I'm happy to be told otherwise and sent back to the drawing board.

I've implemented this in both the GTK and KDE frontends and added a test that presumes we have PID 1 to fake a crash around.

To post a comment you must log in.
Revision history for this message
Martin Pitt (pitti) wrote :

> a dying PID should be gone by the time apport-{gtk,kde} is run.

This is correct. The kernel core pipeline handler relinquishes stdin as soon as possible, i. e. stdin will be closed (and thus the process will die) even before /usr/share/apport/apport finishes.

Thanks for fixing this, this looks great!

When merging, please remember to add a NEWS entry.

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
The diff is not available at this time. You can reload the page or download it.

Subscribers

People subscribed via source and target branches