Summary

Improve the collaboration with kernel upstream around bug reports. We will make our bug reports more relevant to upstream by facilitating testing on stock upstream kernels and make them more useful by adding kerneloops information.

Rationale

We are in a position to connect end users with the upstream kernel developers. We should focus on facilitating the communication between the two parties. Currently, when a bug is reported against the Ubuntu kernel it is not necessarily tested and reported against the upstream kernel. Testing the upstream kernel currently requires knowledge on how to build and install the upstream kernel from source. This is not something every Ubuntu kernel bug reporter is comfortable doing. As a result, bugs do not get tested and escalated upstream. With the majority of Ubuntu kernel bug fixes originating from the upstream kernel, we've become a bottleneck to getting bugs resolved. A bug in the upstream kernel is a bug in the Ubuntu kernel.

Querying the upstream kernel bugzilla, there are currently 1306 bugs in an open state ("New", "Assigned", "Reopened", "Verified", "Deferred", "Needinfo"). Compare that to the 4150 bugs in an open state ("New", "Incomplete", "Confirmed", "Triaged", "In Progress", "Fix Committed") against just the "linux" kernel package in Launchpad and it's easy to see why we need to improve in this area.

Use Cases

Assumptions

Implementation

  1. Work with the Ubuntu kernel team to provide an upstream vanilla kernel package that our users can easily install and test.
    • Build a package for the latest upstream kernel -rc candidate or final release
    • Build a package for the most recent upstream stable kernel
  2. Work on re-educating our bug reporters to test the upstream kernel and report their bugs upstream:
    1. Bug is triggered using the Ubuntu kernel
    2. Next step is to test the stable kernel package which the Ubuntu kernel was based on. Use cat /proc/version_signature to determine which stable kernel package the Ubuntu kernel was based on.

      • If the bug does not exist with the stable kernel package this indicates the issue is with an Ubuntu specific patch(es)
      • If the bug exists with the stable kernel package, proceed to the next test
    3. Test the latest upstream kernel -rc candidate or final release package (which ever is the most recent)
      • If the bug does not exist in the upstream kernel, narrow down which patch to backport to the Ubuntu kernel
      • If the bug exists in the upstream kernel, report the bug upstream (create docs to instruct user the proper was to report the bug upstream - may vary between reporting the bug to a mailing list or filing a bug report at kernel.bugzilla.org)
  3. Enable kerneloops by default and enable apport to detect and report bugs from oopses on the next boot
    • Add extra version info to identify the kernel as an Ubuntu kernel so that oops reports are more useful to upstream - DONE

    • Ensure that the hardware certification infrastructure takes proper advantage of the oops reports - this includes booting the system with a working kernel / in a working mode to let apport generate the bug report
  4. Work with upstream kernel bugzilla maintainers to update to bugzilla 3.0 and install the Launchpad plugin

BoF agenda and discussion

How can bug reports be forwarded better to the upstream developers and kernel bug tracker?

flag bugs that are on "supported" hardware - a system that ships with Ubuntu

check if kernel has debugging enabled by default:

~/ubuntu-jaunty/debian/config$ grep -rn "CONFIG_DEBUG_KERNEL" *
amd64/config:539:CONFIG_DEBUG_KERNEL=y
armel/config:182:CONFIG_DEBUG_KERNEL=y
i386/config:569:CONFIG_DEBUG_KERNEL=y


CategorySpec

QATeam/Specs/UpstreamKernelBugs (last edited 2008-12-29 14:58:27 by cpc4-oxfd8-0-0-cust39)