git-for-windows / git

A fork of Git containing Windows-specific patches.
http://gitforwindows.org/
Other
8.2k stars 2.49k forks source link

git svn clone fails to work (perl.exe.stackdump) #372

Closed stahta01 closed 8 years ago

stahta01 commented 8 years ago

git svn clone --stdlayout http://svn.code.sf.net/p/codeblocks/code cb_svn_git_clone

Initialized empty Git repository in C:/SourceCode/OpenSourceCode/Apps/IDE/Codeblocks/cb_svn_git_clone/.git/ 477 [main] perl 1108 cygwin_exception::open_stackdumpfile: Dumping stack trace to perl.exe.stackdump

Exception: STATUS_ACCESS_VIOLATION at eip=00000000 eax=20A2EE40 ebx=20A28E28 ecx=0022C63C edx=00000000 esi=20A21E08 edi=00000011 ebp=00000000 esp=0022C5EC program=C:\Program Files\Git\usr\bin\perl.exe, pid 1108, thread main cs=001B ds=0023 es=0023 fs=003B gs=0000 ss=0023 Stack trace: Frame Function Args End of stack trace

I also had about the same error doing "git svn fetch".

Tim S.

dscho commented 8 years ago

Details, please. You do not want me to test on all Windows versions I have available, both 32-bit and 64-bit, only to find out that I cannot reproduce, do you? You want to help me get to the point where I can reproduce your problem as quickly as possible so that I can focus on fixing the bug, yes?

stahta01 commented 8 years ago

The first error happened on Windows 7 Ultimate 32 bit. I duplicated the error on Windows 7 Home Premium 64 Bit Both used git version 2.5.1.windows.1 Both also used "Use Git from Git bash only" Both used "MinTTY"

From Windows 64 bit below. 0 [main] perl 5856 cygwin_exception::open_stackdumpfile: Dumping stack trace to perl.exe.stackdump

Exception: STATUS_ACCESS_VIOLATION at rip=00000000000 rax=0000000000000000 rbx=000000060109AB28 rcx=000000060109AB28 rdx=00000006010A2B68 rsi=0000000000000011 rdi=0000000000000000 r8 =0000000000000000 r9 =00000006010A4EE8 r10=0000000000230000 r11=000000049F2420D9 r12=000000000022C040 r13=000000000022C048 r14=0000000601091B78 r15=0000000601091AE8 rbp=000000000022C058 rsp=000000000022BFE8 program=C:\Program Files\Git\usr\bin\perl.exe, pid 5856, thread main cs=0033 ds=002B es=002B fs=0053 gs=002B ss=002B Stack trace: Frame Function Args End of stack trace

I have no idea what mcve-required means, question?

Tim S.

nalla commented 8 years ago

I can reproduce this on Win7 64bit.

dscho commented 8 years ago

@nalla does the output addr2line.exe -e /usr/bin/perl.exe <addr>... with the addresses of the stackdump say anything helpful?

nalla commented 8 years ago

you men like e.g. add2line.exe -e /usr/bin/perl.exe 000000049F2420D9?. Well.. no.

nalla commented 8 years ago

I was able to debug this by modifying mingw64/libexec/git-core/git-svn so that the first line is #!/usr/bin/perl -d and adding a use diagnostics;

That was at the end of the steps:

  DB<2>
Carp::caller_info(/usr/share/perl5/core_perl/Carp.pm:199):
199:        unless ( defined $call_info{file} ) {
  DB<2>
Carp::caller_info(/usr/share/perl5/core_perl/Carp.pm:200):
200:            return ();
  DB<2>
Carp::ret_backtrace(/usr/share/perl5/core_perl/Carp.pm:484):
484:        return $mess;
  DB<2>
Signal SEGV at /mingw64/share/perl5/site_perl/Git/SVN/Ra.pm line 124.
        Git::SVN::Ra::new("Git::SVN::Ra", "http://svn.code.sf.net/p/codeblocks/code") called at /mingw64/share/perl5/site_perl/Git/SVN.pm line 143
        Git::SVN::fetch_all("svn") called at C:\git-sdk-64\mingw64/libexec/git-core\git-svn line 523
        main::cmd_clone("http://svn.code.sf.net/p/codeblocks/code", "cb_svn_git_clone") called at C:\git-sdk-64\mingw64/libexec/git-core\git-svn line 387
        eval {...} called at C:\git-sdk-64\mingw64/libexec/git-core\git-svn line 385
     48 [main] perl 12460 cygwin_exception::open_stackdumpfile: Dumping stack trace to perl.exe.stackdump
nalla commented 8 years ago

@stahta01 could you try cloning via svn:// protocol?

stahta01 commented 8 years ago

I will try cloning svn:// I have never did it before; might take a little trial and error on my part. Tim S.

stahta01 commented 8 years ago

The use of svn:// seems to be working.

Tim S.

stahta01 commented 8 years ago

I upgrade to the new version before doing a full clone; it takes a day to finish. But, it made to the fetch stage with git version 2.5.1.windows.

Using git version 2.5.2.windows.1 Checking out files: 100% (5636/5636), done. Checked out HEAD: svn://svn.code.sf.net/p/codeblocks/code/trunk r10499

So, it is a protocol issue using git svn clone.

Tim S.

nalla commented 8 years ago

Jeah someting in the SVN::Ra code seems to cause the segfault when using http..

stahta01 commented 8 years ago

I am now trying to use https protocol and it seems to work with git version 2.5.2.windows.1 will know in about 14 hours if it finishes the clone. So, it looks like the problem may be in only the http protocol. So, once it finishes git svn clone with https protocol I will report back.

Tim S.

dscho commented 8 years ago

So, it looks like the problem may be in only the http protocol.

Oh, this would be kind of odd...

So, once it finishes git svn clone with https protocol I will report back.

Thank you for your continued good work!

stahta01 commented 8 years ago

Just upgraded the Original PC Windows 7 32 Bit; with version "git version 2.5.2.windows.2" and the problem did NOT happen with git svn clone with http protocol at the beginning like it did before. I am guessing that sf.net had an http issue; I did duplicate the issue on one other http SVN site in the beginning but, it was also on sf.net.

Feel free to mark this problem as closed if you wish; once the two git svn clones finish I will report on the result if this issue is still open.

Tim S.