Kernel 2.6.34-2.6.38.4: Intermittently hang on boot in kernel/irq/autoprobe?

From: Tim Burress
Date: Tue Apr 26 2011 - 23:04:58 EST


Hello,

I've been seeing an occasional problem in which the kernel hangs very early in the boot process. Just inserting printk()'s it seems that this occurs in kernel/irq/autoprobe.c, function probe_irq_on() in the loop immediately after the comment

/*
* enable any unassigned irqs
* (we must startup again here because if a longstanding irq
* happened in the previous stage, it may have masked itself)
*/

This occurs the first time the function is called during boot. I first noticed it in 2.6.34 but then it seemed to disappear after upgrading to the (then current) 2.6.37.2. But then after a while I started seeing it again, perhaps once every 15 reboots. I've since rebuild with 2.6.38.4 and some of the lock debugging options turned on:

CONFIG_LOCKUP_DETECTOR=y
CONFIG_HARDLOCKUP_DETECTOR=y
# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
CONFIG_DEBUG_SPINLOCK=y
CONFIG_DEBUG_LOCK_ALLOC=y
CONFIG_PROVE_LOCKING=y
CONFIG_LOCKDEP=y
# CONFIG_LOCK_STAT is not set
# CONFIG_DEBUG_LOCKDEP is not set
CONFIG_DEBUG_SPINLOCK_SLEEP=y

but the problem remains (and I get no lock debugging output), so I thought I would post something.

The kernel is compiled with CONFIG_SMP but the hardware I'm testing on has a single, single-core (VIA Nehemiah) CPU. The hardware appears to have no NMI support, so that watchdog seems to be disabled on boot, and when the system hangs, it hangs forever. What's the best way to track this down? Or if there's information/tests that would be helpful, just let me know. Puzzling...

Thanks!

Tim

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/