From: Pete Wyckoff <pw@padd.com>
To: Shawn Pearce <spearce@spearce.org>
Cc: git@vger.kernel.org
Subject: Re: open files limit
Date: Fri, 12 Aug 2011 10:26:00 -0700 [thread overview]
Message-ID: <20110812172600.GA15896@padd.com> (raw)
In-Reply-To: <CAJo=hJsj8_VjD5wN9Gge_Me-eXKK-P7nLAxERiiLp0+ayiEBbg@mail.gmail.com>
spearce@spearce.org wrote on Fri, 12 Aug 2011 09:09 -0700:
> On Fri, Aug 12, 2011 at 08:15, Pete Wyckoff <pw@padd.com> wrote:
> > Somebody at $work found this problem:
> >
> > $ git ls-files -s | wc
> > error: packfile .git/objects/pack/pack-1627e77da82bbb36118762649c8aa88c05664b1e.pack cannot be accessed
> > [..lots more similar errors..]
> >
> > Turns out his shell's open file descriptor limit was 500. And
> > there are 1600 pack files in the repo.
> >
> > Increasing the descriptor limit to 1024 fixed it. I could
> > probably get him to repack, which may also fix it.
> >
> > Does it seem feasible to look for EMFILE errors and close
> > some packs? Or at least spit out a more intuitive error?
>
> What version of Git? I remember fixing this already.... :-)
Initially 1.7.5.4. Same problem on 1.7.6 and master.
I have your "Limit file descriptors used by packs" (c793430, 28
feb 2011).
It fails here:
if (!is_pack_valid(p)) {
error("packfile %s cannot be accessed", p->pack_name);
goto next;
}
because p->pack_fd is -1, because an earlier git_open_noatime()
got EMFILE. The function unuse_one_window() is never able to
find anything to close.
I'll do some more debugging this weekend. Thanks for pointing
out that it _should_ be fixed.
-- Pete
next prev parent reply other threads:[~2011-08-12 17:26 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-08-12 15:15 open files limit Pete Wyckoff
2011-08-12 16:09 ` Shawn Pearce
2011-08-12 17:26 ` Pete Wyckoff [this message]
2011-08-13 20:25 ` [RFC PATCH] test showing EMFILE error with too many packs Pete Wyckoff
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20110812172600.GA15896@padd.com \
--to=pw@padd.com \
--cc=git@vger.kernel.org \
--cc=spearce@spearce.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.