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 |
Related bugs: |
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:/
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.
> 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.