All of lore.kernel.org
 help / color / mirror / Atom feed
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

  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 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.