Merge lp:~shnatsel/apport/dont-break-report-if-dbgsym-is-outdated into lp:~apport-hackers/apport/trunk

Proposed by Sergey "Shnatsel" Davidoff
Status: Rejected
Rejected by: Martin Pitt
Proposed branch: lp:~shnatsel/apport/dont-break-report-if-dbgsym-is-outdated
Merge into: lp:~apport-hackers/apport/trunk
Diff against target: 28 lines (+4/-3)
2 files modified
backends/packaging-apt-dpkg.py (+3/-2)
po/apport.pot (+1/-1)
To merge this branch: bzr merge lp:~shnatsel/apport/dont-break-report-if-dbgsym-is-outdated
Reviewer Review Type Date Requested Status
Martin Pitt (community) Disapprove
Review via email: mp+132761@code.launchpad.net

Description of the change

It seems that ddebs.ubuntu.com packages for Precise are outdated as of late. Apport doesn't handle such cases well; on encountering an outdated dbgsym package crash-digger blames the reporter and removes the core dump from the report, thus making the report unretraceable (bug 1069401).

This branch fixes this; instead of breaking the report it makes apport-retrace exit with a transient error code.

As opposed to the current version, this one does not list all the outdated dbgsym packages; instead it prints only the first version mismatch, adds "and possibly others" and exits with a transient error. Perhaps this can be improved later. The change involved a string change but I didn't update the .pot file because I don't know how to regenerate it.

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

I'm not that keen on this, to be honest. Due to the brittle nature of ddebs.u.c. there is little chance of ddebs.u.c. "fixing itself" in a lot of cases, so you'd just end up with a lot of retracer aborts and other reports piling up.

Also, having one outdated dbsym is often not the end of the world: in many cases the crash doesn't even go through that one library or extra dependency, so it retraces perfectly well.

We are currently planning to enable ddeb support on Launchpad proper, so that we can directly fetch the correct ddeb version from the librarian. That way we'll never have outdated ddebs any more, and confusions like this cannot happen any more.

review: Disapprove

Unmerged revisions

2523. By Sergey "Shnatsel" Davidoff

Clarified error message on outdated dbgsym errors. I should update po/apport.pot too but I don't know how to do it.

2522. By Sergey "Shnatsel" Davidoff

exit with an error instead of borking the report upon encountering outdated dbgsym packages

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'backends/packaging-apt-dpkg.py'
2--- backends/packaging-apt-dpkg.py 2012-10-05 13:53:05 +0000
3+++ backends/packaging-apt-dpkg.py 2012-11-02 23:55:24 +0000
4@@ -645,8 +645,9 @@
5 elif pkg + '-dbgsym' in c:
6 real_pkgs.add(pkg + '-dbgsym')
7 if c[pkg + '-dbgsym'].candidate.version != candidate.version:
8- obsolete += 'outdated debug symbol package for %s: package version %s dbgsym version %s\n' % (
9- pkg, candidate.version, c[pkg + '-dbgsym'].candidate.version)
10+ apport.error('outdated debug symbol package for %s and possibly others:\n package version %s, dbgsym version %s\nThe dbgsym archive is probably behind the times.' % (
11+ pkg, candidate.version, c[pkg + '-dbgsym'].candidate.version))
12+ sys.exit(99) # transient error
13
14 for p in real_pkgs:
15 c[p].mark_install(False, False)
16
17=== modified file 'po/apport.pot'
18--- po/apport.pot 2012-10-01 09:58:58 +0000
19+++ po/apport.pot 2012-11-02 23:55:24 +0000
20@@ -8,7 +8,7 @@
21 msgstr ""
22 "Project-Id-Version: PACKAGE VERSION\n"
23 "Report-Msgid-Bugs-To: \n"
24-"POT-Creation-Date: 2012-10-01 11:58+0200\n"
25+"POT-Creation-Date: 2012-11-03 03:12+0400\n"
26 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
27 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
28 "Language-Team: LANGUAGE <LL@li.org>\n"

Subscribers

People subscribed via source and target branches