All of lore.kernel.org
 help / color / mirror / Atom feed
From: Lars Winterfeld <lars.winterfeld@tu-ilmenau.de>
To: Junio C Hamano <gitster@pobox.com>
Cc: Jeff King <peff@peff.net>,
	Nguyen Thai Ngoc Duy <pclouds@gmail.com>,
	Andreas Schwab <schwab@linux-m68k.org>, <git@vger.kernel.org>
Subject: Re: bug: "fatal: cannot pread pack file", version 1.7.5.4
Date: Thu, 16 Aug 2012 15:10:42 -0700	[thread overview]
Message-ID: <fd74d7233b4b29fe06afad23fb87552a@localhost> (raw)
In-Reply-To: <7vvcgizesm.fsf@alter.siamese.dyndns.org>

Junio C Hamano:
> Jeff King <peff@peff.net> writes:
> 
>> On Tue, Jul 03, 2012 at 11:25:16AM +0700, Nguyen Thai Ngoc Duy wrote:
>>
>>> On Tue, Jul 3, 2012 at 10:45 AM, Jeff King <peff@peff.net> wrote:
>>> > On Tue, Jul 03, 2012 at 12:43:42AM +0200, Andreas Schwab wrote:
>>> >
>>> >> Jeff King <peff@peff.net> writes:
>>> >>
>>> >> > It's very odd for pread to report ENOENT (since it is always operating
>>> >> > on an already-opened file descriptor).
>>> >>
>>> >> It doesn't, but gettext will clobber errno:
>>> >>
>>> >>               n = pread(pack_fd, inbuf, n, from);
>>> >>               if (n < 0)
>>> >>                       die_errno(_("cannot pread pack file"));
>>> >>
>>> >> There is nothing that saves errno.  This isn't limited to i18n though,
>>> >> any function call in the arguments may potentially clobber errno.
>>> >
>>> > That's horribly lame of gettext. I don't expect arbitrary functions to
>>> > save errno, but when the entire purpose of a function is to be a
>>> > non-intrusive wrapper to massage messages to the user, it seems kind of
>>> > evil to overwrite errno. Isn't the whole point of calling it "_" that
>>> > you don't want to or have to notice it?
>>>
>>> Agreed.
>>
>> Hmm. According to gettext(3):
>>
>>   ERRORS
>>          errno is not modified.
>>
>> And googling for "gettext" and "errno" reveals several bugfixes in GNU
>> gettext to make sure that gettext preserves errno. I wonder if there are
>> systems where that is not the case, though; I don't know what non-GNU
>> gettext implementations are in common use these days. I'd still be
>> curious to hear what platform the server is for this bug report.
> 
> Hrm, has this ever been resolved?

Thank you for asking.
My local git version is 1.7.5.4, the server version that I actually
ended up pushing the files to was however still some 1.6.x.
So it was a false alarm. Sorry about that.

As far as I can follow, there is no non-GNU gettext involved. Thanks
for digging that deep into the problem, but it was my fault, probably
not something about lost errno.

  reply	other threads:[~2012-08-16 22:12 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-07-02 19:03 bug: "fatal: cannot pread pack file", version 1.7.5.4 Lars Winterfeld
2012-07-02 21:45 ` Junio C Hamano
2012-07-02 21:57 ` Jeff King
2012-07-02 22:43   ` Andreas Schwab
2012-07-02 23:50     ` Junio C Hamano
2012-07-03  3:45     ` Jeff King
2012-07-03  4:25       ` Nguyen Thai Ngoc Duy
2012-07-03  5:14         ` Jeff King
2012-07-03 17:16           ` Junio C Hamano
2012-08-16 21:51           ` Junio C Hamano
2012-08-16 22:10             ` Lars Winterfeld [this message]
2012-08-16 23:05               ` Junio C Hamano
2012-08-16 23:36                 ` Lars Winterfeld
2012-08-17  1:45                 ` Jeff King
2012-08-17  3:02                   ` Junio C Hamano

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=fd74d7233b4b29fe06afad23fb87552a@localhost \
    --to=lars.winterfeld@tu-ilmenau.de \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=pclouds@gmail.com \
    --cc=peff@peff.net \
    --cc=schwab@linux-m68k.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.