git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Zbyszek Szmek <zbyszek@in.waw.pl>
To: git@vger.kernel.org
Cc: python-faculty@g-node.org
Subject: rebase -i segmentation fault and another problem
Date: Mon, 27 Sep 2010 16:23:27 +0200	[thread overview]
Message-ID: <20100927142327.GW6756@in.waw.pl> (raw)

Hi,
I get a core dump when trying to remove a commit from the tip
of a branch which was merged with a branch with a different
root. Sorry if this is unclear - picture might help:

 *-*-m-r
    /
 z-*

(m is merge point, and r is the commit to be removed,
 z is initial commit on the other branch).

A simple 'git reset --hard HEAD^' works, I know. But:

$ git rebase --interactive HEAD~2
Segmentation fault (core dumped)

Could not apply 532e7e0... z

The core files comes from 'git cherry-pick ...',
and indeed it's enough to run this command directly:

$ git-cherry-pick --ff 532e7e0
[2]    9582 segmentation fault (core dumped)  git-cherry-pick --ff 532e7e0

gdb:
Program terminated with signal 11, Segmentation fault.
#0  do_pick_commit (argc=3, argv=<value optimized out>) at builtin/revert.c:445
445 		   if (allow_ff && !hashcmp(parent->object.sha1, head))

(gdb) bt
#0  do_pick_commit (argc=3, argv=<value optimized out>) at builtin/revert.c:445
#1  revert_or_cherry_pick (argc=3, argv=<value optimized out>) at builtin/revert.c:576
#2  0x000000000040499a in run_builtin (argc=3, argv=0x7fff86b20ba8) at git.c:275
#3  handle_internal_command (argc=3, argv=0x7fff86b20ba8) at git.c:431
#4  0x0000000000404f9f in main (argc=3, argv=0x7fff86b20ba8) at git.c:516

Repo which shows this behaviour can be created with:
git init repo1; cd repo1
touch a; git add a; git commit -m a
cd ..
git init repo2; cd repo2
touch b; git add b; git commit -m b
cd ../repo1
git pull ../repo2
touch c; git add c; git commit -m c
git rebase --interactive HEAD~2
 (just save without doing anything -> segmentation fault)


$ git --version
git version 1.7.3 (compiled from git/master) 

--------------------------------------------------------

Another small problem with git rebase --interactive: in the same repo,
running git rebase HEAD~1 and removing the only commit on the list
doesn't do anything (repo is unchanged). The expected behaviour
would be to remove the tip of branch...

Best,
Zbyszek

             reply	other threads:[~2010-09-27 14:37 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-09-27 14:23 Zbyszek Szmek [this message]
2010-09-27 16:01 ` rebase -i segmentation fault and another problem Brandon Casey
2010-09-27 17:29   ` [PATCH] builtin/revert.c: don't dereference a NULL pointer Brandon Casey
2010-09-28 10:03     ` Zbyszek Szmek

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=20100927142327.GW6756@in.waw.pl \
    --to=zbyszek@in.waw.pl \
    --cc=git@vger.kernel.org \
    --cc=python-faculty@g-node.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 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).