gluster-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Gluster-devel] swapcontest usage in syncio.c


From: Emmanuel Dreyfus
Subject: Re: [Gluster-devel] swapcontest usage in syncio.c
Date: Tue, 7 Aug 2012 12:44:02 +0000
User-agent: Mutt/1.5.21 (2010-09-15)

On Tue, Aug 07, 2012 at 03:01:56AM -0700, Anand Avati wrote:
> I cannot find a code path where synctask_get() happens without a
> synctask_set() happening in the same thread. Did you manage to find one?

Here is the kind of trace I can get in rebalance.log, after the first
synctask_new invocation (self is pthread_self() return value).

[syncop.c:216:synctask_new] 0-: self = 0xb8000000, newtask = 0xb7f02400
[syncop.c:291:synctask_switchto] 0-: self = 0xb9e00000, synctask_set(0xb7f02400)
[syncop.c:120:synctask_wrap] 0-: self = 0xb8000000, synctask_get() = 0x0, 
old_task = 0xb7f02400

And here of course it crashe, the reason is obvious. I can work it around 
by using old_task for the tésk in :synctask_wrap(), but I get other nasty
crashes around swapcontext(), which suggests the work around does not fix
the root cause.

By the way, why use swapcontext()? There was no simplier way of doing it?

-- 
Emmanuel Dreyfus
address@hidden



reply via email to

[Prev in Thread] Current Thread [Next in Thread]