Re: Finding a rogue src/sys commit with bisection?

From: Ian Lepore <ian_at_FreeBSD.org>
Date: Sat, 15 Nov 2014 11:52:24 -0700
On Sat, 2014-11-15 at 10:43 -0800, Steve Kargl wrote:
> Before I totally hose by /usr/src directory, does anyone
> have some guidelines on doing a binary search for a rogue
> commit in /usr/src/sys?.  Either cam or usb (or acpi?) has
> broken the ability to remove a external USB device once it
> is plugged into a usb port on my Dell Latitude D530 laptop.
> I know that a good kernel can be built with r271273 and
> a bad kernel comes from (nearly) top of tree at r274456.
> 
> I assume I need to do somthing along the lines
> 
> % cd /usr/src/sys
> % svn merge -r 274456:272864    (half way point between good and bad)
> (build kernel and test)
> % cd /usr/src/sys
> % svn revert -R .
> (assume 272864 builds working kernel)
> % svn merge -r 274456:273660   (1/2 point between 272864 and 274456).
> 
> Rinse and repeat.
> 

I've always used 'svn up -rnnnnnn' to bisect.  No need to revert, just
repeatedly update to the next halfway point, and when you're all done,
-rHEAD to get back to normal.  I've also had very good results with
using -DNO_CLEAN on kernel bisects, it lets you zoom in quickly then
when you think you have a candidate you can do a more complete
clean-and-rebuild to be sure.  Sometimes build glitches will require a
clean rebuild at some bisect points.

-- Ian
Received on Sat Nov 15 2014 - 17:52:33 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:54 UTC