public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] more helpful WARN_ON and BUG_ON messages
@ 2006-10-20 16:23 Eric Sandeen
  2006-10-20 16:54 ` [PATCH] (update) " Eric Sandeen
                   ` (2 more replies)
  0 siblings, 3 replies; 10+ messages in thread
From: Eric Sandeen @ 2006-10-20 16:23 UTC (permalink / raw)
  To: Linux Kernel Mailing List

After a few bugs I encountered in FC6 in buffer.c, with output like:

Kernel BUG at fs/buffer.c: 2791

where buffer.c contains:

...
        BUG_ON(!buffer_locked(bh));
        BUG_ON(!buffer_mapped(bh));
        BUG_ON(!bh->b_end_io);
...

around line 2790, it's awfully tedious to go get the exact failing kernel tree
just to see -which- BUG_ON was encountered.

Printing out the failing condition as a string would make this more helpful IMHO.

This is mostly just compile-tested... comments?

Signed-off-by: Eric Sandeen <sandeen@redhat.com>

Index: linux-2.6.18/include/asm-generic/bug.h
===================================================================
--- linux-2.6.18.orig/include/asm-generic/bug.h
+++ linux-2.6.18/include/asm-generic/bug.h
@@ -12,13 +12,19 @@
 #endif
 
 #ifndef HAVE_ARCH_BUG_ON
-#define BUG_ON(condition) do { if (unlikely((condition)!=0)) BUG(); } while(0)
+#define BUG_ON(condition) do { \
+	if (unlikely((condition)!=0)) { \
+		printk("BUGging on (%s)\n", #condition); \
+		BUG(); \
+	} \
+} while(0)
 #endif
 
 #ifndef HAVE_ARCH_WARN_ON
 #define WARN_ON(condition) do { \
 	if (unlikely((condition)!=0)) { \
-		printk("BUG: warning at %s:%d/%s()\n", __FILE__, __LINE__, __FUNCTION__); \
+		printk("BUG: warning: (%s) at %s:%d/%s()\n", \
+			#condition, __FILE__, __LINE__, __FUNCTION__); \
 		dump_stack(); \
 	} \
 } while (0)



^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2006-10-23  3:18 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-10-20 16:23 [PATCH] more helpful WARN_ON and BUG_ON messages Eric Sandeen
2006-10-20 16:54 ` [PATCH] (update) " Eric Sandeen
2006-10-20 17:02   ` Peter Zijlstra
2006-10-20 19:30   ` Eric Sandeen
2006-10-20 21:16 ` [PATCH] " Jeremy Fitzhardinge
2006-10-23  3:18   ` Eric Sandeen
2006-10-20 21:41 ` Adrian Bunk
2006-10-20 21:56   ` Eric Sandeen
2006-10-20 22:07     ` Adrian Bunk
2006-10-21  2:41       ` Dave Jones

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox