git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
* Interrupted git-svn dcommit, now I get segmentation faults
@ 2008-02-21  6:49 Chris Ball
  2008-02-21 19:27 ` Sam Vilain
  0 siblings, 1 reply; 6+ messages in thread
From: Chris Ball @ 2008-02-21  6:49 UTC (permalink / raw)
  To: git

Hi,

I mistakenly interrupted a git-svn dcommit, and now whenever I run
git-svn dcommit I get a segmentation fault, but the commit is
successful. I have just switched from Subversion to Git, so I'm not
sure what to do (and probably using Git in a clumsy way).

How I caused the problem:

$ git commit -m "msg" path/to/file
Created commit bee0414: msg
 1 files changed, 6 insertions(+), 0 deletions(-)
$ git-svn dcommit
Committing to https://svn/repository ...
	M	path/to/file
Committed r8041
# ** Interruption with ctrl-c happened right at this point **


git diff still showed the change on my machine, so I ran git-svn dcommit
again:

$ git-svn dcommit
Committing to https://svn/repository ...
Merge conflict during commit: Your file or directory 'path/to/file' is
probably out-of-date: The version resource does not correspond to the
resource within the transaction.  Either the requested version
resource is out of date (needs to be updated), or the requested
version resource is newer than the transaction root (restart the
commit). at /usr/bin/git-svn line 420


Checking the SVN repository itself, I found the commit was actually
successful (in that it appears as normal in the SVN respository). I
deleted my copy of the file, ran 'git-svn rebase', and then used 'git
checkout path/to/file. This gave me seemingly the correct version
(i.e. with the updates).

This would all be ok, except that now, whenever I git-svn dcommit
anything, this happens:

$ git-svn dcommit
Committing to https://svn/repository ...
	M	path/to/different/file
Committed r8044
Segmentation fault

The commit is successful (i.e. appears in the SVN repository).

Can anyone suggest what I should do? I still have a full transcript
of the session in case that will help. 

I'm using Ubuntu 6.06 LTS. My versions of git, git-svn, and svn (all
from Ubuntu packages):

$ git --version
git version 1.5.3.6
$ git-svn --version
git-svn version 1.5.3.6 (svn 1.3.2)


Thanks very much for any help,

Chris

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Interrupted git-svn dcommit, now I get segmentation faults
  2008-02-21  6:49 Interrupted git-svn dcommit, now I get segmentation faults Chris Ball
@ 2008-02-21 19:27 ` Sam Vilain
  2008-02-22  9:13   ` C. E. Ball
  0 siblings, 1 reply; 6+ messages in thread
From: Sam Vilain @ 2008-02-21 19:27 UTC (permalink / raw)
  To: Chris Ball; +Cc: git

Chris Ball wrote:
> Hi,
> 
> I mistakenly interrupted a git-svn dcommit, and now whenever I run
> git-svn dcommit I get a segmentation fault, but the commit is
> successful. I have just switched from Subversion to Git, so I'm not
 [...]
> git diff still showed the change on my machine, so I ran git-svn dcommit
> again:
> 
> $ git-svn dcommit
> Committing to https://svn/repository ...
> Merge conflict during commit: Your file or directory 'path/to/file' is
> probably out-of-date: The version resource does not correspond to the
> resource within the transaction.  Either the requested version
> resource is out of date (needs to be updated), or the requested
> version resource is newer than the transaction root (restart the
> commit). at /usr/bin/git-svn line 420

If you get stuff like that you can move the git-svn state out of the
way, and re-run git-svn fetch; it will rebuild the metadata.

 $ mv .git/svn .git/svn.bad
 $ git-svn fetch

Not a fix I know, but might work for you ;)

Sam.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Interrupted git-svn dcommit, now I get segmentation faults
  2008-02-21 19:27 ` Sam Vilain
@ 2008-02-22  9:13   ` C. E. Ball
  2008-02-22  9:20     ` C. E. Ball
  0 siblings, 1 reply; 6+ messages in thread
From: C. E. Ball @ 2008-02-22  9:13 UTC (permalink / raw)
  To: Sam Vilain; +Cc: git

>  If you get stuff like that you can move the git-svn state out of the
>  way, and re-run git-svn fetch; it will rebuild the metadata.
>
>   $ mv .git/svn .git/svn.bad
>   $ git-svn fetch
>
>  Not a fix I know, but might work for you ;)

Thank you very much, that did work for me!

Chris

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Interrupted git-svn dcommit, now I get segmentation faults
  2008-02-22  9:13   ` C. E. Ball
@ 2008-02-22  9:20     ` C. E. Ball
  2008-02-23  3:18       ` Sam Vilain
  0 siblings, 1 reply; 6+ messages in thread
From: C. E. Ball @ 2008-02-22  9:20 UTC (permalink / raw)
  To: Sam Vilain; +Cc: git

On Fri, Feb 22, 2008 at 5:13 PM, C. E. Ball
<ceball@users.sourceforge.net> wrote:
> >  If you get stuff like that you can move the git-svn state out of the
>  >  way, and re-run git-svn fetch; it will rebuild the metadata.
>  >
>  >   $ mv .git/svn .git/svn.bad
>  >   $ git-svn fetch
>  >
>  >  Not a fix I know, but might work for you ;)
>
>  Thank you very much, that did work for me!

Please ignore my previous email - I was in the wrong place on my
filesystem! Sorry about that.

After following your suggestion on my broken repository, I still get
the same error (a segmentation fault just after the commit is
successfully sent to svn) when I 'git-svn dommit'.

Any other suggestions?

Thanks,
Chris

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Interrupted git-svn dcommit, now I get segmentation faults
  2008-02-22  9:20     ` C. E. Ball
@ 2008-02-23  3:18       ` Sam Vilain
  2008-03-05  9:00         ` C. E. Ball
  0 siblings, 1 reply; 6+ messages in thread
From: Sam Vilain @ 2008-02-23  3:18 UTC (permalink / raw)
  To: C. E. Ball; +Cc: git

C. E. Ball wrote:
> On Fri, Feb 22, 2008 at 5:13 PM, C. E. Ball
> <ceball@users.sourceforge.net> wrote:
>>>  If you get stuff like that you can move the git-svn state out of the
>>  >  way, and re-run git-svn fetch; it will rebuild the metadata.
>>  >
>>  >   $ mv .git/svn .git/svn.bad
>>  >   $ git-svn fetch
>>  >
>>  >  Not a fix I know, but might work for you ;)
>>
>>  Thank you very much, that did work for me!
> 
> Please ignore my previous email - I was in the wrong place on my
> filesystem! Sorry about that.
> 
> After following your suggestion on my broken repository, I still get
> the same error (a segmentation fault just after the commit is
> successfully sent to svn) when I 'git-svn dommit'.
> 
> Any other suggestions?

Well this is where the fun starts.  Make sure you're on a new version of
git - latest stable or built from "master" if possible.  Start perl (or
even debugperl if you have one built with debug symbols) with gdb, and
get it to run git-svn and use "bt" to get a backtrace when you get the
fault.

  $ gdb /usr/bin/debugperl
  ...
  > run ~/bin/git-svn dcommit
  ...
  --- SEGV ---
  > bt

That's the default place to start looking for clues.  Otherwise it's a
pretty much open-ended problem ... you would have to figure out (perhaps
using the perl debugger, perhaps using test cases) what triggers it,
what's not passing the correct thing to the SVN API, whether it's a
version-specific SVN bug, etc.  It's certainly not very common which
makes me suspect the SVN::Core bindings and/or the stack beneath that
part of it.  The SVN API is ... fragile, and the codebase is bulky and
poorly thought out.  So, you get weird behaviour like the exception
handler has to die() or you get a segfault, etc.

If that seems too daunting, perhaps just respond with the versions of
everything you are using (eg perl -MSVN::Core -le 'print
$SVN::Core::VERSION', git --version etc) find out if it's specific to
the repository you're committing to, or (if you can) your system, etc,
and perhaps someone else will have a better clue.

Good luck,
Sam.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Interrupted git-svn dcommit, now I get segmentation faults
  2008-02-23  3:18       ` Sam Vilain
@ 2008-03-05  9:00         ` C. E. Ball
  0 siblings, 0 replies; 6+ messages in thread
From: C. E. Ball @ 2008-03-05  9:00 UTC (permalink / raw)
  To: Sam Vilain; +Cc: git

On Sat, Feb 23, 2008 at 11:18 AM, Sam Vilain <sam@vilain.net> wrote:
>
> C. E. Ball wrote:
>  > On Fri, Feb 22, 2008 at 5:13 PM, C. E. Ball
>  > <ceball@users.sourceforge.net> wrote:
>  >>>  If you get stuff like that you can move the git-svn state out of the
>  >>  >  way, and re-run git-svn fetch; it will rebuild the metadata.
>  >>  >
>  >>  >   $ mv .git/svn .git/svn.bad
>  >>  >   $ git-svn fetch
>  >>  >
>  >>  >  Not a fix I know, but might work for you ;)
>  >>
>  >>  Thank you very much, that did work for me!
>  >
>  > Please ignore my previous email - I was in the wrong place on my
>  > filesystem! Sorry about that.
>  >
>  > After following your suggestion on my broken repository, I still get
>  > the same error (a segmentation fault just after the commit is
>  > successfully sent to svn) when I 'git-svn dommit'.
>  >
>  > Any other suggestions?
>
>  Well this is where the fun starts.  Make sure you're on a new version of
>  git - latest stable or built from "master" if possible.  Start perl (or
>  even debugperl if you have one built with debug symbols) with gdb, and
>  get it to run git-svn and use "bt" to get a backtrace when you get the
>  fault.
>
>   $ gdb /usr/bin/debugperl
>   ...
>   > run ~/bin/git-svn dcommit
>   ...
>   --- SEGV ---
>   > bt
>
>  That's the default place to start looking for clues.  Otherwise it's a
>  pretty much open-ended problem ... you would have to figure out (perhaps
>  using the perl debugger, perhaps using test cases) what triggers it,
>  what's not passing the correct thing to the SVN API, whether it's a
>  version-specific SVN bug, etc.  It's certainly not very common which
>  makes me suspect the SVN::Core bindings and/or the stack beneath that
>  part of it.  The SVN API is ... fragile, and the codebase is bulky and
>  poorly thought out.  So, you get weird behaviour like the exception
>  handler has to die() or you get a segfault, etc.
>
>  If that seems too daunting, perhaps just respond with the versions of
>  everything you are using (eg perl -MSVN::Core -le 'print
>  $SVN::Core::VERSION', git --version etc) find out if it's specific to
>  the repository you're committing to, or (if you can) your system, etc,
>  and perhaps someone else will have a better clue.

Thanks very much for taking the time to help with this. After
beginning to follow your suggestions, I decided it was too difficult
for me to debug the problem, so I started again with a new repository!

I have no problems at all now. I've been using git (and git-svn) for
about two weeks now, and I'm really impressed. Previously I had tried
to work with this particular svn repository using bzr and its svn
plugin, but found it to be too slow (maybe because of some large
binary files, but I'm not sure). Apart from being fast, git also
doesn't seem to get in my way when I'm working.

Chris

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2008-03-05  9:01 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-02-21  6:49 Interrupted git-svn dcommit, now I get segmentation faults Chris Ball
2008-02-21 19:27 ` Sam Vilain
2008-02-22  9:13   ` C. E. Ball
2008-02-22  9:20     ` C. E. Ball
2008-02-23  3:18       ` Sam Vilain
2008-03-05  9:00         ` C. E. Ball

Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

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 read-only IMAP folder(s) and NNTP newsgroup(s).