Re: [PATCH] more helpful WARN_ON and BUG_ON messages

From: Jeremy Fitzhardinge
Date: Fri Oct 20 2006 - 17:17:11 EST


Eric Sandeen wrote:
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 seems like a generally useful idea - certainly more valuable than storing+printing the function name.

You might want to look at the BUG patches I wrote, which are currently in -mm. I added general machinery to allow architectures to easily implement BUG() efficiently (ie, with a minimal amount of BUG-related icache pollution). If you were to store the BUG_ON expression, it would be best to extend struct bug_entry and store it there - doing it in asm-generic BUG_ON() means you still end up with code to set up the printk in the mainline code path, and it also won't honour CONFIG_DEBUG_BUGVERBOSE being disabled.

J
-
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/