How about a distro-provided bisection facility?
Posted Apr 15, 2008 20:46 UTC (Tue) by
JoeBuck (subscriber, #2330)
Parent article:
Bisection divides users and developers
Let's say you're a distro, and a user complains that your shiny, newly released kernel has a major regression. Why couldn't the distro itself provide a bisection-generation facility? This could be some combination of pre-built bisections (maybe for the first 2-3 cuts) and nice packaging to automate bisection generation. Ideally the new kernels could be tested in the context of a live CD distribution, to minimize the risks from running unstable kernels.
One could even conceive of a special kernel-testing distro that would run off of a live CD and automate the whole process. The CD (which might be on a USB flash device instead) would just iterate the following process, and the user would only need to wait for the compiles and test for the bug when prompted:
newest_good_kernel = what_I_was_running_before;
oldest_bad_kernel = what_you_shipped_me;
while (more_than_one_rev_between(newest_good_kernel,oldest_bad_kernel)) {
midpoint_kernel = git_bisect(newest_good_kernel,oldest_bad_kernel);
if (big_pipe && someone_has_built(midpoint_kernel))
download(midpoint_kernel);
else
compile(midpoint_kernel);
reboot_and_fire_up(midpoint_kernel);
tell_user_to_test;
if (user_says_the_bug_is_still_there)
oldest_bad_kernel = midpoint_kernel;
else
newest_good_kernel = midpoint_kernel;
reboot_and_fire_up(known_good_kernel); // for the next build
}
bad_patch = compute_diff(newest_good_kernel, oldest_bad_kernel);
send_report(bad_patch, user_comments);
Some types of bugs, such as file system corruption showing up after a while, would be trickier to test for, and the live CD would have to be able to ask for scratch media, be able to reset it to a known state, etc. But if testing can be made easier for interested users, we'll get more testing.
(
Log in to post comments)