From: Peter Oberndorfer <kumbayo84@arcor.de>
To: Jeff King <peff@peff.net>
Cc: git@vger.kernel.org, Junio C Hamano <gitster@pobox.com>
Subject: Re: crash on git diff-tree -Ganything <tree> for new files with textconv filter
Date: Wed, 07 Nov 2012 22:10:59 +0100 [thread overview]
Message-ID: <509ACE63.9070007@arcor.de> (raw)
In-Reply-To: <20121029223521.GJ20513@sigill.intra.peff.net>
On 2012-10-29 23:35, Jeff King wrote:
> On Mon, Oct 29, 2012 at 09:19:48PM +0100, Peter Oberndorfer wrote:
>
>> I could reproduce with my 0x3000 bytes file on linux. The buffer is not
>> read with a trailing null byte it is mapped by mmap in
>> diff_populate_filespec...
>> So i think we will not get away with expecting a trailing null :-/
> Thanks for the reproduction recipe. I was testing with "git log", which
> does not use the mmap optimization.
>
>> For me the key to reproduce the problem was to have 2 commits.
>> Adding the file in the root commit it did not work. [1]
> You probably would need to pass "--root" for it to do the diff of the
> initial commit.
>
> The patch below fixes it, but it's terribly inefficient (it just detects
> the situation and reallocates). It would be much better to disable the
> reuse_worktree_file mmap when we populate the filespec, but it is too
> late to pass an option; we may have already populated from an earlier
> diffcore stage.
Hi,
I tested your patch, and i can confirm it fixes the problem for me.
(also on my real world test in msysgit)
Again, thanks a lot!
Greetings Peter
> I guess if we teach the whole diff code that "-G" (and --pickaxe-regex)
> is brittle, we can disable the optimization from the beginning based on
> the diff options. I'll take a look.
>
> <snip patch>
next prev parent reply other threads:[~2012-11-07 21:12 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-10-27 18:37 crash on git diff-tree -Ganything <tree> for new files with textconv filter Peter Oberndorfer
2012-10-28 12:01 ` Jeff King
2012-10-28 12:45 ` [PATCH 0/2] textconv support for "log -S" Jeff King
2012-10-28 12:46 ` [PATCH 1/2] pickaxe: hoist empty needle check Jeff King
2012-10-28 12:47 ` [PATCH 2/2] pickaxe: use textconv for -S counting Jeff King
2012-11-13 23:13 ` Junio C Hamano
2012-11-15 1:21 ` Jeff King
2012-11-20 0:31 ` Junio C Hamano
2012-11-20 0:48 ` Junio C Hamano
2012-11-21 20:27 ` Jeff King
2012-10-28 19:56 ` crash on git diff-tree -Ganything <tree> for new files with textconv filter Peter Oberndorfer
2012-10-29 6:05 ` Jeff King
2012-10-29 6:18 ` Jeff King
2012-10-29 20:19 ` Peter Oberndorfer
2012-10-29 22:35 ` Jeff King
2012-10-29 22:47 ` Jeff King
2012-10-30 12:17 ` Jeff King
2012-10-30 12:46 ` Junio C Hamano
2012-10-30 13:12 ` Jeff King
2012-11-01 19:19 ` Ramsay Jones
2012-11-07 21:10 ` Peter Oberndorfer [this message]
2012-11-07 21:13 ` Jeff King
2013-06-03 17:25 ` Peter Oberndorfer
2013-06-03 22:17 ` Jeff King
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=509ACE63.9070007@arcor.de \
--to=kumbayo84@arcor.de \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--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.