On Wed, 16 May 2018 at 01:12, Eric Wong <[email protected]> wrote:
> Ah, took me a while to realize what was going on :x
> The Xapian files processes were lacking O_CLOEXEC and FD_CLOEXEC
> usage and this was a problem in Xapian >= 1.2.21 && <= 1.2.24
> Relevant Xapian commit should be e953a10dc4f0cc8e604fd2082c87b638c6a3382b
> ("Set CLOEXEC on the lock file fd and pipe")
> I suspect the following patch works around the problem with or
> without parallel=0
> --- a/t/v2mirror.t
> +++ b/t/v2mirror.t
> @@ -50,7 +50,7 @@ for my $i (1..9) {
> $mime->header_set('Subject', "subject = $i");
> ok($v2w->add($mime), "add msg $i OK");
> }
> -$v2w->barrier;
> +$v2w->done;
> my %opts = (
> LocalAddr => '127.0.0.1',
> Can you confirm? I don't have 1.2.22 handy anymore, but I
> reported this problem and got Olly to fix it back in 2016.
Sorry I missed your reply! Yes, you're correct -- applying the above patch
makes all tests pass. I'm guessing it's also the reason why I'm seeing the
"already locked" error in my other tests, too:
$ public-inbox-index /var/lib/public-inbox/meta.git
Exception: Unable to get write lock on
/var/lib/public-inbox/meta.git/public-inbox/xapian15: already locked
Hope this helps.
-K