* runaway loop modprobe binfmt-0000
@ 2007-01-05 23:13 Tom Lanyon
2007-01-06 0:42 ` Andrew Morton
0 siblings, 1 reply; 4+ messages in thread
From: Tom Lanyon @ 2007-01-05 23:13 UTC (permalink / raw)
To: linux-kernel
Greetings,
I'm encountering a rather annoying error on one of our AMD Opteron
boxes. I recompiled the working 2.6.17 kernel to add some extra SCSI
support and booted to find something similar to:
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
usbcore: registered new interface driver hiddev
usbcore: registered new interface driver usbhid
drivers/usb/input/hid-core.c: v2.6:USB HID core driver
PNP: PS/2 Controller [PNP0303:KBD,PNP0f0e:PS2M] at 0x60,0x64 irq 1,12
serio: i8042 KBD port at 0x60,0x64 irq 1
serio: i8042 AUX port at 0x60,0x64 irq 12
mice: PS/2 mouse device common for all mice
device-mapper: ioctl: 4.10.0-ioctl (2006-09-14) initialised: dm-devel@redhat.com
device-mapper: multipath: version 1.0.5 loaded
device-mapper: multipath round-robin: version 1.0.0 loaded
device-mapper: multipath emc: version 0.0.3 loaded
TCP cubic registered
NET: Registered protocol family 1
NET: Registered protocol family 17
Freeing unused kernel memory: 324k freed
request_module: runaway loop modprobe binfmt-0000
request_module: runaway loop modprobe binfmt-0000
request_module: runaway loop modprobe binfmt-0000
request_module: runaway loop modprobe binfmt-0000
request_module: runaway loop modprobe binfmt-0000
... and then a hung kernel.
I figured I'd enabled/disabled something I shouldn't have and went
through the kernel config many times, recompiling with different
options (including ELF and misc emulation support), but to no avail.
As time ticked closer to 5pm on a Friday my interest decreased and so
I tried upgrading to 2.6.18 and then 2.6.19, with a tonne of different
configurations. Still nothing. The best I could achieve was on a fresh
2.6.19.1 I managed to pass the modprobe and load some input drivers,
but then it hung directly after that.
...
request_module: runaway loop modprobe binfmt-0000
request_module: runaway loop modprobe binfmt-0000
request_module: runaway loop modprobe binfmt-0000
input: AT Translated Set 2 keyboard as /class/input/input0
input: PS/2 Generic Mouse as /class/input/input1
Any advice on debugging this would be appreciated. How can I discover
what is trying to load binfmt-0000 and why is it looping?
Regards
--
Tom Lanyon
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: runaway loop modprobe binfmt-0000
2007-01-05 23:13 runaway loop modprobe binfmt-0000 Tom Lanyon
@ 2007-01-06 0:42 ` Andrew Morton
2007-01-07 22:19 ` Tom Lanyon
0 siblings, 1 reply; 4+ messages in thread
From: Andrew Morton @ 2007-01-06 0:42 UTC (permalink / raw)
To: Tom Lanyon; +Cc: linux-kernel
On Sat, 6 Jan 2007 09:43:14 +1030
"Tom Lanyon" <tomlanyon@gmail.com> wrote:
> How can I discover
> what is trying to load binfmt-0000 and why is it looping?
Start with this, I guess..
--- a/kernel/kmod.c~a
+++ a/kernel/kmod.c
@@ -98,10 +98,12 @@ int request_module(const char *fmt, ...)
atomic_inc(&kmod_concurrent);
if (atomic_read(&kmod_concurrent) > max_modprobes) {
/* We may be blaming an innocent here, but unlikely */
- if (kmod_loop_msg++ < 5)
+ if (kmod_loop_msg++ < 5) {
printk(KERN_ERR
"request_module: runaway loop modprobe %s\n",
module_name);
+ dump_stack();
+ }
atomic_dec(&kmod_concurrent);
return -ENOMEM;
}
_
^ permalink raw reply [flat|nested] 4+ messages in thread* Re: runaway loop modprobe binfmt-0000
2007-01-06 0:42 ` Andrew Morton
@ 2007-01-07 22:19 ` Tom Lanyon
0 siblings, 0 replies; 4+ messages in thread
From: Tom Lanyon @ 2007-01-07 22:19 UTC (permalink / raw)
To: Andrew Morton, linux-kernel
On 1/6/07, Andrew Morton <akpm@osdl.org> wrote:
> On Sat, 6 Jan 2007 09:43:14 +1030
> "Tom Lanyon" <tomlanyon@gmail.com> wrote:
>
> > How can I discover
> > what is trying to load binfmt-0000 and why is it looping?
>
> Start with this, I guess..
>
> --- a/kernel/kmod.c~a
> +++ a/kernel/kmod.c
> @@ -98,10 +98,12 @@ int request_module(const char *fmt, ...)
> atomic_inc(&kmod_concurrent);
> if (atomic_read(&kmod_concurrent) > max_modprobes) {
> /* We may be blaming an innocent here, but unlikely */
> - if (kmod_loop_msg++ < 5)
> + if (kmod_loop_msg++ < 5) {
> printk(KERN_ERR
> "request_module: runaway loop modprobe %s\n",
> module_name);
> + dump_stack();
> + }
> atomic_dec(&kmod_concurrent);
> return -ENOMEM;
> }
> _
>
>
Thanks for the reply, Andrew.
How interesting... added that to kmod.c, rebuilt without change to
config, reboot.... machine booted perfectly!
I'm going to leave it for now, but I'll leave the dump_stack() call in
there in case further issues arise.
Regards
--
Tom Lanyon
^ permalink raw reply [flat|nested] 4+ messages in thread
[parent not found: <477D26EB.6070008@vnet.ibm.com>]
end of thread, other threads:[~2008-01-06 20:18 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-01-05 23:13 runaway loop modprobe binfmt-0000 Tom Lanyon
2007-01-06 0:42 ` Andrew Morton
2007-01-07 22:19 ` Tom Lanyon
[not found] <477D26EB.6070008@vnet.ibm.com>
[not found] ` <20080105013023.5c872c79.akpm@linux-foundation.org>
2008-01-06 20:18 ` Tom Gall
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®