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

Intriguing error with Git 1.6.3.1: Too many open files

From
SMSoham Mehta <soham@box.com>
Date
Jan 11, 2012, 02:44 UTC
Message-ID
<CALjyegUJ+ZY7g0Lpxqs=gvAyhtYW_a3SNWVybSG4EG3X=ROV9Q@mail.gmail.com>
We use Git (1.6.3.1) exclusively here at Box.

Starting this afternoon, we started getting errors when pushing to one of the repos. It is a very active, bare shared repo, shared among multiple developers. The error is:

*"error: unable to open object pack directory: ./objects/pack: Too many open files"

Things I tried/observed to resolve it:
1) ulimit -H = unlimited, when run as root (original error seems
misleading?). I also killed other proceses that had some open files, and
brought down the total count of open files (roughly lsof | wc -l) to <1000.
2) I can push to several other repos on the same machine just fine
3) git fsck, git gc, git-branch and git-status return the same error
4) I copied the repo (using scp -r, git-clone failed) to a different
machine, but got the same errors when pushing to it
5) I asked #git and the suggestion was that the repo is somehow corrupt and
I should re-push to it

One more thing worth mentioning: Gerrit (code review) uses the same repo (lots of stuff in refs/changes)

If the repo is indeed not recoverable, I know how to restore it. But I'd rather fix this if possible. Wondering if it is worth pursuing and what might be wrong?

Thanks. -Soham

Next: Jonathan Nieder
Message 1 of 4 in “Intriguing error with Git 1.6.3.1: Too many open files”
  1. Soham MehtaJan 11, 2012
  2. Jonathan NiederJan 11, 2012
  3. Soham MehtaJan 11, 2012
  4. Jonathan NiederJan 11, 2012

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.