[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Gluster-devel] 3.4.0beta2 crash in conservative merge?
From: |
Emmanuel Dreyfus |
Subject: |
Re: [Gluster-devel] 3.4.0beta2 crash in conservative merge? |
Date: |
Mon, 3 Jun 2013 06:04:23 +0200 |
User-agent: |
MacSOUP/2.7 (unregistered for 2326 days) |
Emmanuel Dreyfus <address@hidden> wrote:
> I am trying to figure out how the crash happens. We now local->fd is
> valid at the begining of dht_migration_complete_check_task() since it is
> dereferenced there aithout a hitch. Then it becomes NULL before the
> function exits, which leads to a crash.
>
> That suggests a race condition.
I was wrong: I added debug messages, and local->fd is already NULL when
entering dht_migration_complete_check_task(). It is passed to
fd_ctx_del(), but that function checks for it being NULL and just
returns -1.
The others function calls in dht_migration_complete_check_task() takes
care of not using local->fd if local->loc.inode is not NULL. Only the
offending code fails to do so:
if (local->loc.inode) {
ret = syncop_open (dst_node, &local->loc,
local->fd->flags, local->fd);
}
--
Emmanuel Dreyfus
http://hcpnet.free.fr/pubz
address@hidden