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

Re: Git pull stuck when Trace2 target set to Unix Stream Socket

From
Taylor Blau <me@ttaylorr.com>
Date
Apr 13, 2020, 16:00 UTC
Message-ID
<20200413160051.GB59601@syl.local>
In-Reply-To
<CAL3xRKceuniEOq+PqN15FC4-mxsWJd4+e2fu1Ku9q_+8JmR9pw@mail.gmail.com>
On Mon, Apr 13, 2020 at 02:05:00PM +0200, Son Luong Ngoc wrote:
Show 12 quoted lines
> Hey folks,
>
> I am trying to write a simple git trace2 event collector and I notice
> that when git doing git pull with trace events being sent to a unix
> stream socket, the entire operation halted.
>
> Reproduce as follow:
> ```
> cd git/git
> git config trace2.eventTarget af_unix:stream:/tmp/git_trace.sock
> git config trace2.eventBrief false
> (rm /tmp/git_trace.sock | ) &&  nc -lkU /tmp/git_trace.sock

I doubt that this is important (for a reason that I'll point out below), but it looks like your invocation here is malformed with the trailing pipe character.

Did you mean to redirect the output of rm away? If so, '2>&1 >/dev/null' will do what you want.

> # In a different terminal
> git pull # Pull stuck and never complete
> ```

Odd. From my memory, trace2 will give up trying to connect to the socket (disabling itself and optionally printing a warning) if 'socket(2)' or 'connect(2)' set the error bit. My guess above is that you don't have a listening socket (because your shell is waiting for you to close the '|'), so there's no connection to be made.

> This does not happen when you set eventBrief to true
> ```
> git config trace2.eventBrief true
> ```

Odd. What version of Git are you using? Your description makes it sound like it may be a bug, so I'd be curious to hear Jeff's interpretation of things, too.

Show 5 quoted lines
> Worth to note that if eventTarget is a file instead of a socket,
> everything works fine.
>
> Cheers,
> Son Luong.

Thanks, Taylor

Previous: Son Luong NgocNext: Son Luong Ngoc
Message 2 of 6 in “Git pull stuck when Trace2 target set to Unix Stream Socket”
  1. Son Luong NgocApr 13, 2020
  2. Taylor BlauApr 13, 2020
  3. Son Luong NgocApr 13, 2020
  4. Taylor BlauApr 13, 2020
  5. Jeff KingApr 13, 2020
  6. Jeff HostetlerApr 13, 2020

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.