Re: 2.6.12-rc1-RT-V0.7.41-15: it_real_fn oops on boot in run_timer_softirq

From: Ingo Molnar
Date: Thu Mar 31 2005 - 04:52:47 EST



* Lee Revell <rlrevell@xxxxxxxxxxx> wrote:

> Since 2.6.12-rc1-RT something I get this Oops on boot about 50% of the
> time. It's clearly some kind of race because if I just reboot again
> it works. Seems to happen shortly after ksoftirqd startup (maybe the
> first time we hit the timer softirq?).
>
> This is (lazily) hand copied and incomplete, but hopefully is enough
> info...

hm, does the patch below help?

If not then please try to capture the full oops via serial logging, or
if it's not possible, here are some guidelines wrt. how to minimize work
when writing down oopses by hand:

1)

write down the EIP of the crash, and do:

objdump -d vmlinux > vmlinux.asm
grep -C 100 c0xxxxxx vmlinux.asm > toingo.asm

c0xxxxxx is the EIP of the oops. This way i'll know precisely which
instruction crashed, and can match it up in my kernel image, even if i
have a different .config and different build environment.

2)

Or write down the 'EIP is at ...' line plus ~10 bytes of the 'Code: '
line of the oops too, starting at the byte that is enclosed by <>. This
info is enough in most cases.

Ingo

--- linux/kernel/itimer.c.orig
+++ linux/kernel/itimer.c
@@ -138,7 +138,8 @@ void it_real_fn(unsigned long __data)
* here because do_setitimer makes sure we have finished running
* before it touches anything.
*/
- it_real_arm(p, p->signal->it_real_incr);
+ if (p->signal)
+ it_real_arm(p, p->signal->it_real_incr);
}

int do_setitimer(int which, struct itimerval *value, struct itimerval *ovalue)
-
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/