Re: What am I doing wrong? submit_bio() suddenly stops working...

From: Jens Axboe
Date: Fri Oct 22 2010 - 03:19:26 EST


On 2010-10-22 05:34, Ted Ts'o wrote:
> On Thu, Oct 21, 2010 at 07:46:15PM +0200, Jens Axboe wrote:
>> By the sound of things, if I were you I'd turn on the mem and slab
>> debugging to catch use-before-init and use-after-free. Mysterious hangs
>> in the IO sub system are usually caused by such bugs. And the regular
>> debugging aids, just to see if that produces anything of interest.
>
> It looks like it was a use-after-free bug in my code. I'm running a
> full set of set of tests now, but so far, it's gotten a lot further
> than it went before, so I think I've figured it out.
>
> I'm not sure why it caused the weird behaviour that it did (I got as
> far as figuring out that somehow we lost the unplug timer, so after
> the queue got plugged it never got unplugged), but I'm not going to
> ask too many questions. :-)
>
> Maybe later on I'll try to figure out if there's any way to add some
> kind of sanity checking so that screw ups in in the bio code's caller
> cause a clearer failure (such as a BUG_ON), but that'll have to wait
> for when I have some free time.

In my experience, use-after-free bugs are best caught using the
allocator poisoning along with lock checking. I guess that didn't
trigger for you?

Out of curiousity, what was the exact bug?

--
Jens Axboe

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