

![]() | Start a set with this search |
![]() | Include this search in one of my sets |
![]() | Exclude this search from one of my sets |
![]() | Permalink to these results Paste this link in email or IM: |
| Atom feed for tracking future search results Paste this URL into your reader: |
63 messages in org.kernel.vger.linux-kernelRe: early exception error| From | Sent On | Attachments |
|---|---|---|
| dav...@lang.hm | Dec 30, 2008 1:19 pm | .jpg, .jpg, .Other, 1 more |
| Cyrill Gorcunov | Dec 30, 2008 1:26 pm | |
| dav...@lang.hm | Dec 30, 2008 1:29 pm | |
| Cyrill Gorcunov | Dec 30, 2008 1:41 pm | |
| dav...@lang.hm | Dec 30, 2008 1:46 pm | |
| Andi Kleen | Dec 30, 2008 4:23 pm | |
| dav...@lang.hm | Dec 30, 2008 4:37 pm | |
| Andi Kleen | Dec 30, 2008 5:11 pm | |
| Cyrill Gorcunov | Dec 31, 2008 1:37 am | |
| dav...@lang.hm | Dec 31, 2008 10:10 am | |
| Cyrill Gorcunov | Dec 31, 2008 10:30 am | |
| dav...@lang.hm | Dec 31, 2008 11:04 am | |
| Cyrill Gorcunov | Dec 31, 2008 11:11 am | |
| Andi Kleen | Dec 31, 2008 11:36 am | |
| dav...@lang.hm | Dec 31, 2008 11:56 am | |
| dav...@lang.hm | Dec 31, 2008 12:15 pm | |
| Cyrill Gorcunov | Dec 31, 2008 12:19 pm | |
| Cyrill Gorcunov | Dec 31, 2008 12:23 pm | |
| Cyrill Gorcunov | Dec 31, 2008 12:27 pm | |
| Cyrill Gorcunov | Dec 31, 2008 2:29 pm | |
| Andi Kleen | Dec 31, 2008 8:03 pm | |
| dav...@lang.hm | Dec 31, 2008 9:14 pm | |
| Andi Kleen | Jan 1, 2009 5:49 am | |
| dav...@lang.hm | Jan 2, 2009 9:19 am | |
| Cyrill Gorcunov | Jan 2, 2009 9:24 am | |
| Robert Hancock | Jan 2, 2009 12:56 pm | |
| Cyrill Gorcunov | Jan 3, 2009 11:02 am | |
| Cyrill Gorcunov | Jan 3, 2009 1:24 pm | |
| Jiri Slaby | Jan 3, 2009 4:23 pm | |
| Andi Kleen | Jan 3, 2009 4:45 pm | |
| Cyrill Gorcunov | Jan 4, 2009 2:32 am | |
| Cyrill Gorcunov | Jan 4, 2009 3:11 am | |
| Cyrill Gorcunov | Jan 4, 2009 3:28 am | |
| Jiri Slaby | Jan 4, 2009 4:22 am | |
| Johannes Weiner | Jan 5, 2009 1:25 am | |
| Andi Kleen | Jan 5, 2009 4:54 am | |
| Jiri Slaby | Jan 5, 2009 6:50 am | |
| Jiri Slaby | Jan 5, 2009 6:51 am | |
| Cyrill Gorcunov | Jan 5, 2009 7:01 am | |
| Jiri Slaby | Jan 5, 2009 7:13 am | |
| Cyrill Gorcunov | Jan 5, 2009 7:30 am | |
| Jiri Slaby | Jan 5, 2009 7:38 am | |
| Cyrill Gorcunov | Jan 5, 2009 7:41 am | |
| dav...@lang.hm | Jan 5, 2009 1:17 pm | |
| Cyrill Gorcunov | Jan 5, 2009 1:24 pm | |
| Yinghai Lu | Jan 5, 2009 1:54 pm | |
| Yinghai Lu | Jan 5, 2009 2:07 pm | |
| dav...@lang.hm | Jan 5, 2009 2:15 pm | |
| dav...@lang.hm | Jan 5, 2009 2:17 pm | |
| dav...@lang.hm | Jan 5, 2009 2:18 pm | |
| Yinghai Lu | Jan 5, 2009 2:29 pm | |
| Yinghai Lu | Jan 5, 2009 2:31 pm | |
| dav...@lang.hm | Jan 5, 2009 3:48 pm | |
| dav...@lang.hm | Jan 5, 2009 3:51 pm | |
| Yinghai Lu | Jan 5, 2009 4:02 pm | |
| dav...@lang.hm | Jan 5, 2009 4:19 pm | |
| Yinghai Lu | Jan 5, 2009 4:24 pm | |
| dav...@lang.hm | Jan 5, 2009 5:00 pm | |
| Yinghai Lu | Jan 5, 2009 5:05 pm | |
| dav...@lang.hm | Jan 5, 2009 8:27 pm | |
| Yinghai Lu | Jan 5, 2009 10:08 pm | .patch |
| Cyrill Gorcunov | Jan 6, 2009 12:00 am | |
| dav...@lang.hm | Jan 6, 2009 10:47 pm | .patch |

![]() | Permalink for this message Paste this link in email or IM: |
![]() | Permalink for this thread Paste this link in email or IM: |
| Atom feed for this thread Paste this URL into your reader: |
| Subject: | Re: early exception error | Actions |
|---|---|---|
| From: | Andi Kleen (an...@firstfloor.org) | |
| Date: | Jan 5, 2009 4:54:20 am | |
| List: | org.kernel.vger.linux-kernel | |
On Mon, Jan 05, 2009 at 10:26:19AM +0100, Johannes Weiner wrote:
On Fri, Jan 02, 2009 at 02:57:17PM -0600, Robert Hancock wrote:
Cyrill Gorcunov wrote:
Here is a new picture if someone would like to jump into the bug handling
alloc_bootmem_core is a reasonably big function, it would be useful if we could track down what line it's blowing up on.. Can you try to find out what line that fault address (ffffffff8096452a in this crash) is on as described in Documentation/BUG-HUNTING, i.e. build with CONFIG_DEBUG_INFO enabled, run gdb on vmlinux and do:
l *0xffffffff8096452a
He has booted with bootmem debugging output. Given that the bdebug() describing the request wasn't hit yet, it must be one of the BUG_ON()s (or bdata is NULL).
BUG_ONs with early exceptions are always a big annoyance.
I did an EARLY_BUG_ON() infrastructure some time ago, but ended up not submitting it because the BUG_ONs I wanted it for originally disappeared before submission.
It would probably be a good idea to convert the bootmem bugs over to that.
-Andi
---
Add EARLY_BUG_ON infrastructure
EARLY_BUG_ON is larger than BUG_ON, but it works before traps_init and always outputs the line number without having to decode addresses from the early exception handler.
It always panics.
Shouldn't be used when multiple CPUs are active because it makes no attempt to stop the others.
Signed-off-by: Andi Kleen <ak...@linux.intel.com>
--- arch/x86/include/asm/bug.h | 11 +++++++++++ arch/x86/kernel/early_printk.c | 7 +++++++ include/linux/bug.h | 5 +++++ 3 files changed, 23 insertions(+)
Index: linux-2.6.28-test/arch/x86/include/asm/bug.h
===================================================================
--- linux-2.6.28-test.orig/arch/x86/include/asm/bug.h 2008-10-24
13:34:40.000000000 +0200
+++ linux-2.6.28-test/arch/x86/include/asm/bug.h 2009-01-05 13:47:02.000000000
+0100
@@ -33,6 +33,17 @@
} while (0)
#endif
+extern void early_bug(char *file, int line) __attribute__((noreturn)); + +/* All BUG_ONs before console_init should be EARLY_BUG_ONs. */ +#define EARLY_BUG() early_bug(__FILE__, __LINE__) +#define EARLY_BUG_ON(x) do { if (unlikely(!(x))) EARLY_BUG(); } while (0) + +#else + +#define EARLY_BUG() do {} while(0) +#define EARLY_BUG_ON(x) do {} while(0) + #endif /* !CONFIG_BUG */
#include <asm-generic/bug.h>
Index: linux-2.6.28-test/arch/x86/kernel/early_printk.c
===================================================================
--- linux-2.6.28-test.orig/arch/x86/kernel/early_printk.c 2008-10-24
13:34:40.000000000 +0200
+++ linux-2.6.28-test/arch/x86/kernel/early_printk.c 2009-01-05
13:48:46.000000000 +0100
@@ -934,6 +934,13 @@
va_end(ap);
}
+void early_bug(char *file, int line) +{ + early_printk("PANIC: Early BUG at %s:%d\n", file, line); + printk("PANIC: Early BUG at %s:%d\n", file, line); + for (;;) + cpu_relax(); +}
static int __init setup_early_printk(char *buf)
{
Index: linux-2.6.28-test/include/linux/bug.h
===================================================================
--- linux-2.6.28-test.orig/include/linux/bug.h 2008-07-05 14:11:02.000000000
+0200
+++ linux-2.6.28-test/include/linux/bug.h 2009-01-05 13:49:32.000000000 +0100
@@ -47,4 +47,9 @@
static inline void module_bug_cleanup(struct module *mod) {}
#endif /* CONFIG_GENERIC_BUG */ + +#ifndef EARLY_BUG_ON +#define EARLY_BUG_ON(x) BUG_ON(x) +#endif + #endif /* _LINUX_BUG_H */
-- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majo...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/








.jpg, .jpg, .Other, 1 more