All of lore.kernel.org
 help / color / mirror / Atom feed
From: Olivier Bonvalet <ceph.list@daevel.fr>
To: Alex Elder <elder@ieee.org>
Cc: Ilya Dryomov <ilya.dryomov@inktank.com>,
	Ceph Development <ceph-devel@vger.kernel.org>
Subject: Re: Issue #5876 : assertion failure in rbd_img_obj_callback()
Date: Wed, 26 Mar 2014 02:33:16 +0100	[thread overview]
Message-ID: <1395797596.2076.43.camel@localhost> (raw)
In-Reply-To: <53321896.1080606@ieee.org>

Le mardi 25 mars 2014 à 19:00 -0500, Alex Elder a écrit :
> On 03/25/2014 06:04 PM, Olivier Bonvalet wrote:
> > Le mardi 25 mars 2014 à 17:46 -0500, Alex Elder a écrit :
> >> On 03/25/2014 05:17 PM, Olivier Bonvalet wrote:
> >>>
> >>> I now have this one very often (here 5 minutes after the host boot) :
> >>
> >> I am fairly sure this indicates a use-after-free scenario,
> >> likely caused by something getting deleted before every
> >> user was done with it.
> >>
> >> I believe Ilya is done for the night; I'm going to spend some
> >> time looking at this to try to determine the cause.  If you
> >> are willing I'd love to have you try whatever fix I come up
> >> with.  I'd rather find a fix than just collect more information,
> >> but I may need to get more, we'll see.
> >>
> >> Thank you for all your reports, they help a lot.
> >>
> >> 					-Alex
> > 
> > Ok. I can apply some patch to help debug that yes.
> > I will try to reproduce on a different host, without customer data.
> > 
> > But I think I will stop here for the night too.
> > 
> > Thanks for your time,
> > Olivier
> 
> Here's something that will provide a few more pieces of
> information.  If you're around and you're able to try it
> out it might confirm something had likely been destroyed.
> 
> I'll keep sending stuff as I come up with it (even though
> I realize you may not be around until morning).
> 
> 					-Alex
> 
> 
> Index: b/drivers/block/rbd.c
> ===================================================================
> --- a/drivers/block/rbd.c
> +++ b/drivers/block/rbd.c
> @@ -2132,6 +2132,35 @@ static void rbd_img_obj_callback(struct
>  	spin_lock_irq(&img_request->completion_lock);
>  	if (which > img_request->next_completion)
>  		goto out;
> +	if (which != img_request->next_completion) {
> +		printk("%s: bad image object request information:\n", __func__);
> +		printk("obj_request %p\n", obj_request);
> +		printk("    ->object_name <%s>\n", obj_request->object_name);
> +		printk("    ->offset %llu\n", obj_request->offset);
> +		printk("    ->length %llu\n", obj_request->length);
> +		printk("    ->type 0x%x\n", (u32)obj_request->type);
> +		printk("    ->flags 0x%lx\n", obj_request->flags);
> +		printk("    ->img_request %p\n", obj_request->img_request);
> +		printk("    ->which %u\n", obj_request->which);
> +		printk("    ->xferred %llu\n", obj_request->xferred);
> +		printk("    ->result %d\n", obj_request->result);
> +		printk("    ->kref %d\n", atomic_read(&obj_request->kref));
> +
> +		printk("img_request %p\n", img_request);
> +		printk("    ->snap 0x%016llx\n", img_request->snap_id);
> +		printk("    ->offset %llu\n", img_request->offset);
> +		printk("    ->length %llu\n", img_request->length);
> +		printk("    ->flags 0x%lx\n", img_request->flags);
> +		printk("    ->obj_request_count %u\n",
> +			img_request->obj_request_count);
> +		printk("    ->next_completion %u\n",
> +			img_request->next_completion);
> +		printk("    ->xferred %llu\n", img_request->xferred);
> +		printk("    ->result %d\n", img_request->result);
> +		printk("    ->obj_requests head %p\n",
> +			img_request->obj_requests.next);
> +		printk("    ->kref %d\n", atomic_read(&img_request->kref));
> +	}
>  	rbd_assert(which == img_request->next_completion);
> 
>  	for_each_obj_request_from(img_request, obj_request) {
> 
> 

Thanks for your patch.

This is an output of a crash case :

Mar 26 02:31:18 alg kernel: [  965.366895] rbd_img_obj_callback: bad image object request information:
Mar 26 02:31:18 alg kernel: [  965.366905] obj_request ffff880224bc9528
Mar 26 02:31:18 alg kernel: [  965.366909]     ->object_name <(null)>
Mar 26 02:31:18 alg kernel: [  965.366913]     ->offset 0
Mar 26 02:31:18 alg kernel: [  965.366917]     ->length 4096
Mar 26 02:31:18 alg kernel: [  965.366921]     ->type 0x1
Mar 26 02:31:18 alg kernel: [  965.366925]     ->flags 0x3
Mar 26 02:31:18 alg kernel: [  965.366929]     ->img_request           (null)
Mar 26 02:31:18 alg kernel: [  965.366933]     ->which 4294967295
Mar 26 02:31:18 alg kernel: [  965.366936]     ->xferred 4096
Mar 26 02:31:18 alg kernel: [  965.366940]     ->result 0
Mar 26 02:31:18 alg kernel: [  965.366943]     ->kref 0
Mar 26 02:31:18 alg kernel: [  965.366947] img_request ffff880222f4fb50
Mar 26 02:31:18 alg kernel: [  965.366950]     ->snap 0xfffffffffffffffe
Mar 26 02:31:18 alg kernel: [  965.366954]     ->offset 1417662464
Mar 26 02:31:18 alg kernel: [  965.366957]     ->length 16384
Mar 26 02:31:18 alg kernel: [  965.366960]     ->flags 0x0
Mar 26 02:31:18 alg kernel: [  965.366963]     ->obj_request_count 0
Mar 26 02:31:18 alg kernel: [  965.366966]     ->next_completion 2
Mar 26 02:31:18 alg kernel: [  965.366969]     ->xferred 16384
Mar 26 02:31:18 alg kernel: [  965.366973]     ->result 0
Mar 26 02:31:18 alg kernel: [  965.366976]     ->obj_requests head ffff880222f4fbb0
Mar 26 02:31:18 alg kernel: [  965.366980]     ->kref 0
Mar 26 02:31:18 alg kernel: [  965.366985] 
Mar 26 02:31:18 alg kernel: [  965.366985] Assertion failure in rbd_img_obj_callback() at line 2165:
Mar 26 02:31:18 alg kernel: [  965.366985] 
Mar 26 02:31:18 alg kernel: [  965.366985] 	rbd_assert(which == img_request->next_completion);
Mar 26 02:31:18 alg kernel: [  965.366985] 
Mar 26 02:31:18 alg kernel: [  965.367185] ------------[ cut here ]------------
Mar 26 02:31:18 alg kernel: [  965.367241] kernel BUG at drivers/block/rbd.c:2165!


I hope it can help.


--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

  reply	other threads:[~2014-03-26  1:33 UTC|newest]

Thread overview: 61+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-03-25  8:39 Issue #5876 : assertion failure in rbd_img_obj_callback() Olivier Bonvalet
2014-03-25  9:04 ` Ilya Dryomov
     [not found]   ` <1395739214.2823.34.camel@localhost>
2014-03-25  9:52     ` Ilya Dryomov
2014-03-25 11:48   ` Alex Elder
2014-03-25 12:34     ` Ilya Dryomov
2014-03-25 12:51       ` Alex Elder
2014-03-25 12:57         ` Ilya Dryomov
2014-03-25 13:18           ` Olivier Bonvalet
2014-03-25 13:29             ` Alex Elder
2014-03-25 13:31               ` Alex Elder
2014-03-25 14:01                 ` Olivier Bonvalet
2014-03-25 17:15                 ` Olivier Bonvalet
2014-03-25 17:21                   ` Alex Elder
2014-03-25 18:53                     ` Olivier Bonvalet
2014-03-25 17:43                   ` Alex Elder
2014-03-25 18:53                     ` Olivier Bonvalet
2014-03-25 19:03                       ` Alex Elder
2014-03-25 20:18                         ` Ilya Dryomov
2014-03-25 20:21                           ` Olivier Bonvalet
2014-03-25 20:24                             ` Alex Elder
2014-03-25 20:29                               ` Olivier Bonvalet
2014-03-25 20:44                                 ` Alex Elder
2014-03-25 21:03                                   ` Olivier Bonvalet
2014-03-25 20:41                             ` Alex Elder
2014-03-25 20:53                             ` Olivier Bonvalet
2014-03-25 21:10                               ` Olivier Bonvalet
2014-03-25 21:20                                 ` Ilya Dryomov
     [not found]                                   ` <1395782577.2076.23.camel@localhost>
2014-03-25 21:25                                     ` Ilya Dryomov
2014-03-25 21:41                                       ` Olivier Bonvalet
2014-03-25 21:49                                         ` Ilya Dryomov
2014-03-25 21:54                                           ` Olivier Bonvalet
2014-03-25 22:17                                             ` Olivier Bonvalet
2014-03-25 22:46                                               ` Alex Elder
2014-03-25 23:04                                                 ` Olivier Bonvalet
2014-03-26  0:00                                                   ` Alex Elder
2014-03-26  1:33                                                     ` Olivier Bonvalet [this message]
2014-03-26  1:50                                                       ` Olivier Bonvalet
2014-03-26  1:55                                                         ` Alex Elder
2014-03-26  2:40                                                           ` Olivier Bonvalet
2014-03-26  2:42                                                             ` Alex Elder
2014-03-26  2:45                                                               ` Olivier Bonvalet
2014-03-26  3:54                                                                 ` Alex Elder
2014-03-26  4:00                                                                   ` Olivier Bonvalet
2014-03-26  5:00                                                                     ` Alex Elder
2014-03-26 11:13                                                                       ` Alex Elder
2014-03-26 11:43                                                                         ` Ilya Dryomov
2014-03-26 11:47                                                                           ` Alex Elder
2014-03-26 12:05                                                                             ` Ilya Dryomov
2014-03-26 20:58                                                                           ` Alex Elder
2014-03-27  7:48                                                                             ` Olivier Bonvalet
2014-03-27  8:45                                                                               ` Ilya Dryomov
2014-03-27  8:49                                                                                 ` Olivier Bonvalet
2014-03-26  2:35                                                         ` Olivier Bonvalet
2014-03-26  2:54                                               ` Alex Elder
2014-03-26  3:58                                                 ` Olivier Bonvalet
2014-04-05  1:16 ` Olivier Bonvalet
2014-04-05  1:57   ` Alex Elder
2014-04-05  8:09     ` Olivier Bonvalet
2014-04-05 13:08       ` Alex Elder
2014-04-25 11:37     ` Olivier Bonvalet
2014-04-25 12:17       ` Alex Elder

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1395797596.2076.43.camel@localhost \
    --to=ceph.list@daevel.fr \
    --cc=ceph-devel@vger.kernel.org \
    --cc=elder@ieee.org \
    --cc=ilya.dryomov@inktank.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.