[LEDE-DEV] [PATCH] ubus cli: wait_for: fix race causing false timeouts

Zefir Kurtisi zefir.kurtisi at neratec.com
Wed Oct 12 04:10:07 PDT 2016


On 10/07/2016 03:19 PM, Zefir Kurtisi wrote:
> On 10/07/2016 02:15 PM, Alexandru Ardelean wrote:
>> On Fri, Oct 7, 2016 at 3:09 PM, Felix Fietkau <nbd at nbd.name> wrote:
>>> Instead of introducing yet another timer, wouldn't it also be possible
>>> to close this race window by registering the event handler before
>>> attempting the lookup?
>>>
>>> - Felix
>>
>> I've also seen this race.
>> I tried something like this:
>> https://github.com/commodo/ubus/commit/8c3986caaa7cd2c12f2b8907ceea54c5bdce3bd2
>>
>> But never got around to doing much testing to see if the race goes
>> away completely.
>> So, I never pushed it upstream.
>>
>> @Zefir, maybe you could try it ?
>>
>> Thanks
>> Alex
>>
> Hi Alex,
> 
> your assumption is right, that's the root cause for the random timeouts.
> 
> Unfortunately, it is hard to provide a positive proof, since for me the effect
> went away when I added some logging in between.
> 
> My patch made it disappear, but of course what Felix suggests and you already
> implemented is the better approach. I'll take your commit instead and test it.
> From looking at the changes it should do, but to get some confidence it will take
> some time.
> 
> 
After some days of testing, it seems like the patch fixes the race.

Alex, feel free to add me to the 'Tested-by' list if you are going to make a pull
request for that commit.


Cheers,
Zefir




More information about the Lede-dev mailing list