public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Andrew Morton <akpm@osdl.org>
To: "Rafael D'Halleweyn (List)" <list@noduck.net>
Cc: linux-kernel@vger.kernel.org
Subject: Re: kernel BUG at kernel/timer.c:370!
Date: Sat, 14 Feb 2004 00:21:48 -0800	[thread overview]
Message-ID: <20040214002148.77237320.akpm@osdl.org> (raw)
In-Reply-To: <1076729590.30432.4.camel@bigboy>

"Rafael D'Halleweyn (List)" <list@noduck.net> wrote:
>
> I sometimes get the following BUG (transcribed from a digital camera
>  snapshot, so it might contain errors). I did not copy the stack trace,
>  let me know if you want it.
> 
>  kernel BUG at kernel/timer.c:370!
>  invalid operand: 0000 [#1]
>  CPU:    0
>  EIP:    0060:[<c01284f8>]    Not tainted
>  EFLAGS: 00010003
>  EIP is at cascade+0x50/0x70
>  eax: d0a77724   ebx: d0a77724   ecx: c04aaa28   edx: 0000001c
>  esi: c04aab08   edi: c04aa220   ebp: 0000001c   esp: c0457e9e
>  ds: 007b   es: 007b   ss: 0068
>  Process swapper (pid: 0, threadinfo=c0456000 task=c03d2de0)
>  Stack: ...
>  Call Trace:
>   [<c01289e4>] update_process_times+0x44/0x50
>   [<c0128b3f>] run_timer_softirq+0x12f/0x1c0
>   [<c0124695>] do_softirq+0x95/0xa0
>   [<c010d2fb>] do_IRQ+0xfb/0x130
>   [<c010b5e8>] common_interrupt+0x18/0x20

This could be a hardware problem.  Or it could be a bug basically anywhere
in the kernel.

Are you using CONFIG_DEBUG_SLAB?

Could you please apply the below patch, wait for the problem to reoccur,
then let us know?

diff -puN kernel/timer.c~a kernel/timer.c
--- 25/kernel/timer.c~a	2004-02-14 00:14:46.000000000 -0800
+++ 25-akpm/kernel/timer.c	2004-02-14 00:20:09.000000000 -0800
@@ -31,6 +31,7 @@
 #include <linux/time.h>
 #include <linux/jiffies.h>
 #include <linux/cpu.h>
+#include <linux/kallsyms.h>
 
 #include <asm/uaccess.h>
 #include <asm/div64.h>
@@ -367,7 +368,15 @@ static int cascade(tvec_base_t *base, tv
 		struct timer_list *tmp;
 
 		tmp = list_entry(curr, struct timer_list, entry);
-		BUG_ON(tmp->base != base);
+		if (tmp->base != base) {
+			printk("%s: %p != %p\n",
+				__FUNCTION__, tmp->base, base);
+			printk("handler=%p", tmp->function);
+			print_symbol(" (%s)", (unsigned long)tmp->function);
+			printk("\n");
+			dump_stack();
+			tmp->base = base;
+		}
 		curr = curr->next;
 		internal_add_timer(base, tmp);
 	}

_



  reply	other threads:[~2004-02-14  8:21 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-02-14  3:33 kernel BUG at kernel/timer.c:370! Rafael D'Halleweyn (List)
2004-02-14  8:21 ` Andrew Morton [this message]
  -- strict thread matches above, loose matches on Subject: below --
2004-03-05 17:40 Flavio Bruno Leitner
2004-03-05 23:06 ` Andrew Morton
2004-03-11 15:43   ` Flavio Bruno Leitner
2004-03-11 21:42     ` Andrew Morton
2004-03-12 19:11       ` Flavio Bruno Leitner
2004-03-31 16:59 Craig, Dave
2004-03-31 17:16 Craig, Dave
2004-03-31 19:52 ` Andrew Morton
2004-04-01 14:24 ` Flavio Bruno Leitner
2004-04-01 17:24   ` Flavio Bruno Leitner
2004-04-01 18:37     ` Andrew Morton
2004-04-02 14:42       ` Flavio Bruno Leitner
2004-03-31 21:39 Craig, Dave
2004-03-31 22:15 ` Andrew Morton
2004-04-01 19:05 Craig, Dave

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20040214002148.77237320.akpm@osdl.org \
    --to=akpm@osdl.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=list@noduck.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox