Re: [PATCH] more helpful WARN_ON and BUG_ON messages



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/



Relevant Pages

  • Re: worst.c - foolishness
    ... My change merely replaces "undefined behavior upon calling ... > my bug is much subtler. ... > will store a number in 'foo', and then, assuming the user has pressed ... I don't like the doublecheck for eof though. ...
    (comp.lang.c)
  • Re: stores in [O] [comp]
    ... I looked at the code, and found a possible bug, but I don't think it ... overwrote the store counters with random numbers. ... it seems that there is a problem with wand stacking. ... different numbers of charges. ...
    (rec.games.roguelike.angband)
  • Print statement within If-Then block changes output!!!????
    ... I'm new to fortran, and I'm having a problem tracking a bug in my ... I have a pair of If-then blocks to store a minimum residual. ...
    (comp.lang.fortran)
  • Re: Weird PropertyBag problem, values wont change
    ... This is not a bug, ... Private Sub Main ... Dim p As PropertyBag ... It is an easy way to store a list in a propertybag. ...
    (microsoft.public.vb.controls)
  • Re: worst.c - foolishness
    ... Note the subtle change ... it's one bug less if you ignore the misdefinition.. ... elsewhere) with "undefined behavior upon passing NULL to feof". ... will store a number in 'foo', and then, assuming the user has pressed ...
    (comp.lang.c)