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

Re: git-daemon breakage in 1.5.4

From
Wincent Colaiuta <win@wincent.com>
Date
Feb 6, 2008, 08:05 UTC
Message-ID
<C8E50E14-B50F-4385-A581-B69262E8E6A5@wincent.com>
In-Reply-To
<7vr6fr9noj.fsf@gitster.siamese.dyndns.org>
El 5/2/2008, a las 21:02, Junio C Hamano escribió:
Show 29 quoted lines
> Wincent Colaiuta <win@wincent.com> writes:
>
>> I just noticed that my copy of git-daemon running from xinetd on Red
>> Hat Enterprise Linux 3 has been broken since upgrading to 1.5.4.
>>
>> On the client side this is what you see ("git clone" used in the
>> example but you get the same issue with "git ls-remote"):
>>
>>  git clone git://git.wincent.com/wikitext.git
>>  Initialized empty Git repository in /tmp/wikitext/.git/
>>  fatal: The remote end hung up unexpectedly
>>  fetch-pack from 'git://git.wincent.com/wikitext.git' failed.
>>
>> Nothing printed to the logs on the server side: it simply hangs up.  
>> By
>> connecting via telnet I've confirmed that git-daemon is running and
>> does accept the initial connection.
>>
>> The verdict according to "git bisect" is that
>> 511707d42b3b3e57d9623493092590546ffeae80 is first bad commit:
>>
>> commit 511707d42b3b3e57d9623493092590546ffeae80
>> Author: Scott R Parish <srp@srparish.net>
>> Date:   Sun Oct 28 04:17:20 2007 -0700
>>
>>    use only the $PATH for exec'ing git commands
>
> Perhaps you did not install git on the PATH processes launched
> by your inetd implementation would use?

I don't know what PATH environment xinetd provides, but I can reproduce this directly as follows from the command line without any involvement from xientd:

First, set up PATH with all the standard locations, with directories under /usr/local specified first. Git 1.5.4 is installed in /usr/local/ bin:

   # export PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/ 
sbin:/sbin
This fails with the "remote end hung up unexpectedly" error:
   # /usr/local/bin/git-daemon --inetd --base-path=/blah -- /blah
Drop the --inetd option and it works with no errors:
   # /usr/local/bin/git-daemon --base-path=/blah -- /blah

Now, if I downgrade to Git 1.5.3.8, it works both with and without the --inetd option.

The above behaviour is the same regardless of how I specify the path to git-daemon (ie. absolute or relative, dashed or dashless).

Is there anything I can do to get "git daemon" to be more verbose on failing?

Cheers, Wincent

Previous: Junio C HamanoNext: Junio C Hamano
Message 5 of 13 in “git-daemon breakage in 1.5.4”
  1. Wincent ColaiutaFeb 5, 2008
  2. Scott ParishFeb 5, 2008
  3. Wincent ColaiutaFeb 5, 2008
  4. Junio C HamanoFeb 5, 2008
  5. Wincent ColaiutaFeb 6, 2008
  6. Junio C HamanoFeb 6, 2008
  7. Wincent ColaiutaFeb 6, 2008
  8. Johannes SixtFeb 6, 2008
  9. Wincent ColaiutaFeb 6, 2008
  10. Johannes SixtFeb 6, 2008
  11. Wincent ColaiutaFeb 6, 2008
  12. Johannes SixtFeb 6, 2008
  13. Adam PiatyszekFeb 6, 2008

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.