Merge lp:~redsingularity/apport/bugpattern-844961 into lp:~ubuntu-bugcontrol/apport/ubuntu-bugpatterns

Proposed by RedSingularity
Status: Merged
Merged at revision: 337
Proposed branch: lp:~redsingularity/apport/bugpattern-844961
Merge into: lp:~ubuntu-bugcontrol/apport/ubuntu-bugpatterns
Diff against target: 89 lines (+19/-39)
2 files modified
bugpatterns.xml (+6/-0)
test-local (+13/-39)
To merge this branch: bzr merge lp:~redsingularity/apport/bugpattern-844961
Reviewer Review Type Date Requested Status
Brian Murray Pending
Review via email: mp+75277@code.launchpad.net
To post a comment you must log in.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'bugpatterns.xml'
--- bugpatterns.xml 2011-09-13 15:00:16 +0000
+++ bugpatterns.xml 2011-09-13 22:56:42 +0000
@@ -2103,6 +2103,12 @@
2103 <re key="Traceback">DatabaseCorruptError: Data ran out unexpectedly when reading posting list.</re>2103 <re key="Traceback">DatabaseCorruptError: Data ran out unexpectedly when reading posting list.</re>
2104 </pattern>2104 </pattern>
21052105
2106 <pattern url="https://launchpad.net/bugs/844961">
2107 <re key="Package">^zeitgeist</re>
2108 <re key="OriginalTitle">zeitgeist-daemon crashed with DatabaseCorruptError in _check_index_and_start_worker\(\): Data ran out unexpectedly when reading posting list.</re>
2109 <re key="Traceback">DatabaseCorruptError: Data ran out unexpectedly when reading posting list.</re>
2110 </pattern>
2111
2106<!-- Converted from libxcb.xml -->2112<!-- Converted from libxcb.xml -->
2107 <pattern url="http://launchpad.net/bugs/507062">2113 <pattern url="http://launchpad.net/bugs/507062">
2108 <re key="AssertionMessage">_XAllocID:.*ret.*inval_id</re>2114 <re key="AssertionMessage">_XAllocID:.*ret.*inval_id</re>
21092115
=== modified file 'test-local'
--- test-local 2011-09-12 18:19:23 +0000
+++ test-local 2011-09-13 22:56:42 +0000
@@ -4,25 +4,16 @@
44
5import apport5import apport
6from apport.crashdb import get_crashdb6from apport.crashdb import get_crashdb
7from launchpadlib.launchpad import Launchpad
8
9def match_bug(bugnumber):
10 db = get_crashdb(None)
11 report = db.download(bugnumber)
12 match = report.search_bug_patterns('bugpatterns.xml')
13
14 if match:
15 print 'LP: #%s: Matched bug pattern: %s' % (bugnumber, match )
16 else:
17 print 'LP: #%s: No match' % bugnumber
18
19lp = Launchpad.login_anonymously('apport', 'production')
207
21if len(sys.argv) != 2:8if len(sys.argv) != 2:
22 print >> sys.stderr, 'Usage: %s <.crash file or bug number>' % sys.argv[0]9 print >> sys.stderr, 'Usage: %s <.crash file or bug number>' % sys.argv[0]
23 sys.exit(1)10 sys.exit(1)
2411
25if not sys.argv[1].isdigit():12if sys.argv[1].isdigit():
13 db = get_crashdb(None)
14 report = db.download(sys.argv[1])
15 #report.write(open('/tmp/report.crash', 'w'))
16else:
26 report = apport.Report()17 report = apport.Report()
27 try:18 try:
28 f = open(sys.argv[1])19 f = open(sys.argv[1])
@@ -31,29 +22,12 @@
31 sys.exit(1)22 sys.exit(1)
32 report.load(f)23 report.load(f)
33 f.close()24 f.close()
34 match = report.search_bug_patterns('bugpatterns.xml')25
3526match = report.search_bug_patterns('.')
36 if match:27
37 print 'LP: #%s: Matched bug pattern: %s' % ( sys.argv[1], match )28if match:
38 sys.exit(0)29 print 'LP: #%s: Matched bug pattern: %s' % ( sys.argv[1], match )
39 else:
40 print 'LP: #%s: No match' % sys.argv[1]
41 sys.exit(1)
42else:
43 match_bug(sys.argv[1])
44
45 bug = lp.bugs[sys.argv[1]]
46 # if bug is a duplicate - call this for parent
47 if bug.duplicate_of:
48 dupe = bug.duplicate_of.id
49 print 'LP: #%s is a duplicate of ....' % bug.id
50 match_bug(dupe)
51 if bug.duplicates:
52 print "Checking duplicate bugs..."
53 for duplicate in bug.duplicates:
54 # Skip if not an apport bug
55 if 'apport-crash' in duplicate.tags or \
56 'apport-package' in duplicate.tags:
57 match_bug(duplicate.id)
58
59 sys.exit(0)30 sys.exit(0)
31else:
32 print 'LP: #%s: No match' % sys.argv[1]
33 sys.exit(1)