apr-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Branko Čibej <br...@apache.org>
Subject Re: [Patch] Fix for concurrent/race condition in apr_dir_make_recursive()
Date Tue, 21 Jan 2014 11:34:17 GMT
On 21.01.2014 10:18, Branko Čibej wrote:
> On 21.01.2014 03:01, Jeff Trawick wrote:
>> On Mon, Jan 20, 2014 at 8:23 PM, Branko Čibej <brane@apache.org
>> <mailto:brane@apache.org>> wrote:
>>
>>     On 21.01.2014 02:18, Branko Čibej wrote:
>>     > On 21.01.2014 01:55, Branko Čibej wrote:
>>     >> I've added a test case to testdir.c to exercise this code in
>>     parallel.
>>     > r1559873, original patch (with slightly tweaked comments) and
>>     test case.
>>     > Bert, can you please double-check that this works on Windows?
>>
>>     Also r1559878 (1.5.x) and r1559879 (1.4.x).
>>
>>     -- Brane
>>
>>
>> I see intermittent failures testing the 1.5.x branch on Linux (4
>> cores, 8 threads) after picking up your new testcase.  The two
>> variations seen the most are
>>
>> testdir             : |Line 84: expected <0>, but saw <2>
>> testdir             : \Line 87: expected <0>, but saw <2>
>>
>> I've also seen a single failure at line 85 as well as this one that
>> needs to be recovered from manually:
>> testdir             : -Line 199: expected <0>, but saw <39> (39 is
>> "Directory not empty")
>>
>> Current state as of the unrecoverable failure:
>> $ find data/prll/
>> data/prll/
>> data/prll/11
>> data/prll/11/12
>> data/prll/11/12/13
>> data/prll/11/12/13/14
>> data/prll/11/12/13/14/15data
>> data/prll/11/12/13/14/15data/prll
>> data/prll/11/12/13/14/15data/prll/11
>> data/prll/11/12/13/14/15data/prll/11/12
>
> "Interesting". I'll take a look.

Heh, it was a bug in the test case; I had it using the same pool from 4
threads, and sometimes apr_pstrdup ended up copying half-baked strings.
I have no idea why I didn't see the bug on the Mac; probably different
timing and scheduling.

>> Also, can you add a CHANGES entry in the 1.4.x and 1.5.x branches?
>
> Will do, thanks for the reminder.

Done.

-- Brane

Mime
View raw message