Web lists-archives.com

Re: Timing issue in t5570 "daemon log records all attributes"




On Wed, Apr 04, 2018 at 11:57:52PM +0200, Jan Palus wrote:

> On 03.04.2018 16:32, Jeff King wrote:
> > I'm tempted to say we should just scrap this test. It was added
> > relatively recently and only shows the fix for a pretty minor bug.
> > It's probably not worth the contortions to make it race-proof.
> 
> Thanks for your reply Jeff.
> 
> It appears race condition in reading/writing daemon.log is not the only issue of
> t5570. On a different machine I've just randomly got:
> 
> t5570-git-daemon.sh[163]: can't create git_daemon_output: Interrupted system call
> 
> which I believe might also be associated with concurrent processing of piped
> data connected with a fact that test restarts daemon few times. I can barely
> wrap my head around it but I guess it's somewhat around "shell still tries to
> read fifo while attempt to create new one is made".

That sounds more like your system doesn't handle EINTR gracefully
(presumably it's getting SIGCLD during the mknod() call). Normally that
would be done by an external program, but is mkfifo perhaps a builtin in
your shell?

If I run t5570 on a loop on a loaded system[1], I can't seem to provoke
any failures, using dash.

-Peff

[1] The script I use is:

      https://github.com/peff/git/blob/meta/stress

    which runs the test script over and over in parallel. That's usually
    enough to exhibit practical races, since it creates enough load to
    show timing effects.