Merge lp:~brian-murray/ubuntu/oneiric/apport/fix-kernel-driver-tagging into lp:~ubuntu-core-dev/ubuntu/oneiric/apport/ubuntu

Proposed by Brian Murray
Status: Merged
Merged at revision: 1807
Proposed branch: lp:~brian-murray/ubuntu/oneiric/apport/fix-kernel-driver-tagging
Merge into: lp:~ubuntu-core-dev/ubuntu/oneiric/apport/ubuntu
Diff against target: 36 lines (+9/-2)
2 files modified
data/package-hooks/source_linux.py (+2/-2)
debian/changelog (+7/-0)
To merge this branch: bzr merge lp:~brian-murray/ubuntu/oneiric/apport/fix-kernel-driver-tagging
Reviewer Review Type Date Requested Status
Kees Cook Approve
Review via email: mp+68877@code.launchpad.net

Description of the change

The regex for kernel driver tagging was too specific and only matching EIP and not RIP since RIP messages don't contain 'is at'. You can see failures in bug 812765 and bug 814460.

Looking at some local kernel oops reports I have:

745213-OopsText.txt:RIP [<ffffffffa014c745>] v4l2_device_register_subdev+0x95/0x170 [videodev]
748727-OopsText.txt:RIP: 0010:[<ffffffffa00dcd3e>] [<ffffffffa00dcd3e>] i915_batchbuffer_info+0x10e/0x160 [i915]
751436-OopsText.txt:RIP: 0010:[<ffffffffa0188d3e>] [<ffffffffa0188d3e>] i915_batchbuffer_info+0x10e/0x160 [i915]
751744-OopsText.txt:RIP: 0010:[<ffffffffa005c433>] [<ffffffffa005c433>] drm_mode_connector_update_edid_property+0x43/0x1c0 [drm]

so this branch should ensure the oops reports gets tagged properly.

To post a comment you must log in.
Revision history for this message
Kees Cook (kees) wrote :

Looks great to me. :)

review: Approve
1808. By Brian Murray

make RE more specific to avoid false positives

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'data/package-hooks/source_linux.py'
2--- data/package-hooks/source_linux.py 2011-07-18 22:34:45 +0000
3+++ data/package-hooks/source_linux.py 2011-07-22 20:04:45 +0000
4@@ -74,7 +74,7 @@
5 summary = re.sub("---.*\n", "", summary)
6 first_line = re.match(".*\n", summary)
7 ip = re.search("(R|E)?IP\:.*\n", summary)
8- kernel_driver = re.search("(R|E)?IP is at.*\[(.*)\]\n", summary)
9+ kernel_driver = re.search("(R|E)?IP(:| is at) .*\[(.*)\]\n", summary)
10 call_trace = re.search("Call Trace(.*\n){,10}", summary)
11 oops = ''
12 if first_line:
13@@ -84,7 +84,7 @@
14 if call_trace:
15 oops += call_trace.group(0)
16 if kernel_driver:
17- report['Tags'] += 'kernel-driver-%s' % kernel_driver.group(2)
18+ report['Tags'] += 'kernel-driver-%s' % kernel_driver.group(3)
19 if ui.yesno("This report may also be submitted to "
20 "http://kerneloops.org/ in order to help collect aggregate "
21 "information about kernel problems. This aids in identifying "
22
23=== modified file 'debian/changelog'
24--- debian/changelog 2011-07-22 14:51:26 +0000
25+++ debian/changelog 2011-07-22 20:04:45 +0000
26@@ -1,3 +1,10 @@
27+apport (1.21.2-0ubuntu8) oneiric; urgency=low
28+
29+ * data/package-hooks/source_linux.py:
30+ - ensure Oops with RIP get tagged with the kernel-driver
31+
32+ -- Brian Murray <brian@ubuntu.com> Fri, 22 Jul 2011 09:34:46 -0700
33+
34 apport (1.21.2-0ubuntu7) oneiric; urgency=low
35
36 [ Martin Pitt ]

Subscribers

People subscribed via source and target branches