2010-11-17 03:27:36

by Dave Jones

[permalink] [raw]
Subject: failure to boot any kernel since 2.6.36rc6-git2.

Every kernel between 2.6.36-rc6 and 2.6.37rc2 fails to boot on my laptop.
The -git's that followed -rc6 had a fairly large (considering rc6) acpi merge,
which I suspected was the cause.

The boot failure manifests by a complete lockup as soon as usb initializes.

I spent the last 6 hours bisecting it, and every bisect point failed to boot
(sometimes in slightly different ways, but always just after usb initializes)
http://codemonkey.org.uk/junk/usb-hang/IMG_0054.JPG and
http://codemonkey.org.uk/junk/usb-hang/IMG_0056.JPG being the more common type,
but http://codemonkey.org.uk/junk/usb-hang/IMG_0055.JPG showed up at one bisect point.

The real kicker is that it eventually pointed at something that can't be relevant,
as it patches a file that I don't even compile in my config.

git bisect start
# bad: [c6ea21e35bf3691cad59647c771e6606067f627d] Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6
git bisect bad c6ea21e35bf3691cad59647c771e6606067f627d
# good: [899611ee7d373e5eeda08e9a8632684e1ebbbf00] Linux 2.6.36-rc6
git bisect good 899611ee7d373e5eeda08e9a8632684e1ebbbf00
# bad: [35ec42167bb5f13db93f1e8c13298eb564f95142] Merge branch 'idle-release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-idle-2.6
git bisect bad 35ec42167bb5f13db93f1e8c13298eb564f95142
# bad: [64aab720bdf8771214a7c88872bd8e3194c2d279] i7core_edac: fix panic in udimm sysfs attributes registration
git bisect bad 64aab720bdf8771214a7c88872bd8e3194c2d279
# bad: [77f890223338c890fc33972673d2bd3a53061570] Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx
git bisect bad 77f890223338c890fc33972673d2bd3a53061570
# bad: [9d457c60ba783c709c750b851d07f0ac8af78ce9] Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6
git bisect bad 9d457c60ba783c709c750b851d07f0ac8af78ce9
# bad: [90182317a9e383474613aa60e9d61d57bdf17c3e] mfd: Fix max8925 irq control bit incorrect setting
git bisect bad 90182317a9e383474613aa60e9d61d57bdf17c3e
# bad: [c9d66d3515bbb0ad8062721487de7ade02d2b936] mfd: Ignore non-GPIO IRQs when setting wm831x IRQ types
git bisect bad c9d66d3515bbb0ad8062721487de7ade02d2b936


Before I start going through every one of those acpi commits one by one, does
anything jump out from the screen captures that fingers a specific patch ?


Sidenote: booting with initcall_debug didn't print anything. Did that break ?

Dave


2010-11-17 05:53:01

by Linus Torvalds

[permalink] [raw]
Subject: Re: failure to boot any kernel since 2.6.36rc6-git2.

On Tue, Nov 16, 2010 at 7:27 PM, Dave Jones <[email protected]> wrote:
> Every kernel between 2.6.36-rc6 and 2.6.37rc2 fails to boot on my laptop.
> The -git's that followed -rc6 had a fairly large (considering rc6) acpi merge,
> which I suspected was the cause.

You have marked (for example) commit 77f890223338 as bad, but that's
way before the ACPI merge.

So there's something wrong with your bisect. When you marked c9d66d35
as bad, that is literally _exactly_ v2.6.36-rc6 plus one mfd commit.
So if that kernel doesnt' boot for you, then neither will plain
2.6.36-rc6.

I see a few possibilities:

- you somehow tested/booted the wrong kernels and thus marked things
"bad" when they weren't.

- 2.6.36-rc6 doesn't work either, so you started out saying it was
good even though it wasn't really. Everything after it is obviously
also broken, so you'll just end up with everything marked "bad", and
bisection will decide it must be the first commit after 2.6.36-rc6
(since that was marked "good").

- there's some bug that affects boot of the "next" kernel, and the
kernel you go back to in between has that problem.

- you switched compiler or other build tool in between things, so
back when you started, 2.6.36-rc6 was good, but then when you compiled
that same kernel with the trivial mfd thing on top, the build tool
change resulted in it no longer working - but not having anything to
do with the actual kernel sources in question.

So double-check that 2.6.36-rc6 kernel.

Linus