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

Problem with git-daemon and mmap.

From
Tim Ansell <mithro@mithis.com>
Date
Apr 25, 2007, 06:51 UTC
Message-ID
<1177483875.12689.22.camel@localhost>
Hello,

I am trying to use git-daemon on a Debian stable machine. We converted our repositories from darcs to git using tailor (which seemed to work well). Most of the repositories work fine, however our web repository which is quite large (about ~126Mb) is causing problems when trying to clone via git-daemon.

The repository is public, you can find our gitweb here
 http://git.thousandparsec.net/gitweb/gitweb.cgi?p=web.git;a=summary
You can clone using the following URLs,
 http://git.thousandparsec.net/git/web.git
 git://git.thousandparsec.net/git/web.git
 git+ssh://<username>@git.thousandparsec.net/git/web.git

I can clone the repository fine locally (using both cg-clone and git-clone) and with both git+ssh:// and http://

When trying to clone via git-daemon the git-daemon process dies with an the following error (in the git-daemon logs - timestamps trimmed to make the log more readable),

[30957] Connection from 203.122.246.117:20108 [30957] Extended attributes (29 bytes) exist <host=git.thousandparsec.net> [30957] Request upload-pack for '/git/web.git' fatal: Out of memory? mmap failed: Bad file descriptor error: git-upload-pack: git-rev-list died with error. fatal: git-upload-pack: aborting due to possible repository corruption on the remote side. [30957] Disconnected (with error)

On the client side you see, <snip> remote: Generating pack... remote: aborting due to possible repository corruption on the remote side. fatal: early EOF fatal: index-pack died with error code 128 <snip>

After chatting with people on #git (on freenode) I was able to produce a strace for this, you can find a copy of this strace log here, http://www.thousandparsec.net/~tim/strace.log

The machine as only 512mb of Ram. It isn't running much else apart from
a few websites served via apache. Here is some more (hopefully useful)
information about the machine,
verbal:~# cat /proc/meminfo 
MemTotal:       500536 kB
MemFree:         20556 kB
<snip>
SwapTotal:     1542232 kB
SwapFree:      1542200 kB

verbal:~# dpkg --list | grep git ii cogito 0.18.2-1 version control system ii git-core 1.5.1.1-1 fast, scalable, distributed revision control ii git-daemon-run 1.5.1.1-1 fast, scalable, distributed revision control ii gitweb 1.5.1.1-1 fast, scalable, distributed revision control

verbal:~# git --version git version 1.5.1.1

Hopefully this gives you enough information to track down this bug. I'm happy to provide more information if needed. I'll also be on #git, but I'm in Australia so you might have a hard time catching me.

 
Thank you for your time.

Tim Ansell -- http://blog.mithis.net/ - Mithro Rants about Stuff

Next: Gerrit Pape
Message 1 of 7 in “Problem with git-daemon and mmap.”
  1. Tim AnsellApr 25, 2007
  2. Gerrit PapeApr 25, 2007
  3. Tim AnsellApr 25, 2007
  4. Gerrit PapeApr 25, 2007
  5. Shawn O. PearceApr 25, 2007
  6. Linus TorvaldsApr 25, 2007
  7. Alex RiesenApr 25, 2007

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.