git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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

From
Jeff King <peff@peff.net>
Date
Apr 5, 2018, 16:39 UTC
Message-ID
<20180405163953.GB25224@sigill.intra.peff.net>
In-Reply-To
<20180404215752.6qsipaaskrzwiv4q@kalarepa>
On Wed, Apr 04, 2018 at 11:57:52PM +0200, Jan Palus wrote:
Show 16 quoted lines
> 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.
Previous: Jan Palus
Message 4 of 4 in “Timing issue in t5570 "daemon log records all attributes"”
  1. Jan PalusApr 3, 2018
  2. Jeff KingApr 3, 2018
  3. Jan PalusApr 4, 2018
  4. Jeff KingApr 5, 2018

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.