From: Nicolas Sebrecht <nicolas.s.dev@gmx.fr>
To: Jeff King <peff@peff.net>
Cc: Johannes Sixt <j6t@kdbg.org>,
Nicolas Sebrecht <nicolas.s.dev@gmx.fr>,
git@vger.kernel.org, Junio C Hamano <gitster@pobox.com>
Subject: [test failure] Re: t4114 binary file becomes symlink
Date: Sun, 19 Jul 2009 00:51:35 +0200 [thread overview]
Message-ID: <20090718225135.GJ16708@vidovic> (raw)
In-Reply-To: <20090718222947.GA31147@coredump.intra.peff.net>
The 18/07/09, Jeff King wrote:
> On Sat, Jul 18, 2009 at 09:06:06PM +0200, Johannes Sixt wrote:
>
> Ah, that's what I was missing. I can reproduce it by setting
> SNPRINTF_RETURNS_BOGUS. I think the problem is in the git_vsnprintf
> code, and it just by coincidence triggers in this test because of the
> exact string we are trying to format.
>
> Look at compat/snprintf.c. In git_vsnprintf, we are passed a "va_list
> ap", which we then repeatedly call vsnprintf on, checking the return to
> make sure we have enough space. But using a va_list repeatedly without a
> va_end and va_start in the middle invokes undefined behavior. So we need
> to va_copy it and use the copy.
>
> A patch is below, which fixes the problem for me. However, va_copy is
> C99, so we would generally try to avoid it. But I don't think there is a
> portable way of writing this function without it. And most systems
> shouldn't need to use our snprintf at all, so maybe it is portable
> enough. I dunno.
My investigations made me realize I was building a 64-bits git version
in a 32-bits userland (gentoo flag multilib set) which is not the best
thing to do. So, another possible fix is to export CFLAGS with '-m32'.
Mixing 32 and 64-bits applications is bad. :-)
I confirm this patch does fix the failure for the 64 bits version. Thank
you all.
Now, I wonder if it is safe to run a 32-bits git version on repositories
built with a 64-bits version. It should be safe but do you think it
actually is?
--
Nicolas Sebrecht
next prev parent reply other threads:[~2009-07-18 22:51 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-07-18 13:45 [test failure] t4114 binary file becomes symlink Nicolas Sebrecht
2009-07-18 13:56 ` Jeff King
2009-07-18 14:16 ` [test failure] " Nicolas Sebrecht
2009-07-18 15:31 ` Jeff King
2009-07-18 18:46 ` Junio C Hamano
2009-07-18 20:39 ` Nicolas Sebrecht
2009-07-18 23:18 ` Linus Torvalds
2009-07-18 19:06 ` Johannes Sixt
2009-07-18 20:17 ` Nicolas Sebrecht
2009-07-18 21:13 ` Nicolas Sebrecht
2009-07-19 10:33 ` ./configure misdetects SNPRINTF_RETURNS_BOGUS (was: [test failure] t4114 binary file becomes symlink) Jakub Narebski
2009-07-19 12:48 ` [PATCH] configure: use AC_SEARCH_LIBS instead of AC_CHECK_LIB Nicolas Sebrecht
2009-07-19 13:14 ` [PATCH] " Nicolas Sebrecht
2009-07-19 16:13 ` Junio C Hamano
2009-07-19 22:53 ` Eric Blake
2009-07-21 15:04 ` [PATCH] " Brandon Casey
2009-07-21 15:12 ` Brandon Casey
2009-07-21 15:20 ` Paolo Bonzini
2009-07-21 15:34 ` Brandon Casey
2009-07-21 20:23 ` [PATCH] configure.ac: rework/fix the NEEDS_RESOLV and NEEDS_LIBGEN tests Brandon Casey
2009-07-21 20:33 ` Junio C Hamano
2009-07-22 14:59 ` Brandon Casey
2009-07-22 22:15 ` [PATCH] config.mak.in: continue fixing NEEDS_LIBGEN autoconfigure feature Brandon Casey
2009-07-22 22:35 ` Junio C Hamano
2009-07-23 16:22 ` Brandon Casey
2009-07-18 22:03 ` [test failure] Re: t4114 binary file becomes symlink Johannes Sixt
2009-07-18 22:29 ` Jeff King
2009-07-18 22:51 ` Nicolas Sebrecht [this message]
2009-07-19 11:01 ` Johannes Sixt
2009-07-20 9:09 ` Jeff King
2009-07-20 20:51 ` Johannes Sixt
2009-07-20 21:56 ` Linus Torvalds
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=20090718225135.GJ16708@vidovic \
--to=nicolas.s.dev@gmx.fr \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=j6t@kdbg.org \
--cc=peff@peff.net \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).