Skip to content

"git svn fetch" hangs (perl.exe) #1993

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
dex-ds opened this issue Dec 20, 2018 · 31 comments
Closed

"git svn fetch" hangs (perl.exe) #1993

dex-ds opened this issue Dec 20, 2018 · 31 comments

Comments

@dex-ds
Copy link

dex-ds commented Dec 20, 2018

on current 2.20.1 x64 portable. 2.20.0 runs fine...
cheers, ds

@CrOrc
Copy link

CrOrc commented Dec 21, 2018

The same goes for "git svn rebase", "git svn dcommit"

@dscho
Copy link
Member

dscho commented Dec 21, 2018

This bug report is very short. And very incomplete.

@CrOrc
Copy link

CrOrc commented Dec 26, 2018

Commands are running without any output at 100% CPU.
Perl hangs when fetching from any svn repo.

@dscho
Copy link
Member

dscho commented Dec 26, 2018

Okay, here's the thing: git svn works when run in Git's own regression tests here. Reliably. Repeatedly.

So without substantially better (read: more complete, less terse, volunteering more rather than less) information, there is literally nothing whatsoever that could be done to help you guys, @CrOrc & @dex-ds.

@CrOrc
Copy link

CrOrc commented Dec 27, 2018

Here's output of git svn rebase with GIT_TRACE=1

03:44:34.928244 exec-cmd.c:236 trace: resolved executable dir: D:/PortableGit/mingw64/bin
03:44:34.929244 git.c:675 trace: exec: git-svn rebase
03:44:34.929244 run-command.c:643 trace: run_command: git-svn rebase
00:44:35.297265 exec-cmd.c:236 trace: resolved executable dir: D:/PortableGit/mingw64/libexec/git-core
00:44:35.297265 git.c:418 trace: built-in: git rev-parse --git-dir
00:44:35.340267 exec-cmd.c:236 trace: resolved executable dir: D:/PortableGit/mingw64/libexec/git-core
00:44:35.341268 git.c:418 trace: built-in: git rev-parse --show-cdup
00:44:35.387270 exec-cmd.c:236 trace: resolved executable dir: D:/PortableGit/mingw64/libexec/git-core
00:44:35.388270 git.c:418 trace: built-in: git config --get svn.username
00:44:35.430273 exec-cmd.c:236 trace: resolved executable dir: D:/PortableGit/mingw64/libexec/git-core
00:44:35.431273 git.c:418 trace: built-in: git config --bool --get svn.quiet
00:44:35.476275 exec-cmd.c:236 trace: resolved executable dir: D:/PortableGit/mingw64/libexec/git-core
00:44:35.476275 git.c:418 trace: built-in: git config --bool --get svn.verbose
00:44:35.520278 exec-cmd.c:236 trace: resolved executable dir: D:/PortableGit/mingw64/libexec/git-core
00:44:35.521278 git.c:418 trace: built-in: git config --bool --get svn.noauthcache
00:44:35.566280 exec-cmd.c:236 trace: resolved executable dir: D:/PortableGit/mingw64/libexec/git-core
00:44:35.566280 git.c:418 trace: built-in: git config --int --get svn.logwindowsize
00:44:35.614283 exec-cmd.c:236 trace: resolved executable dir: D:/PortableGit/mingw64/libexec/git-core
00:44:35.615283 git.c:418 trace: built-in: git config --get svn.ignorepaths
00:44:35.658286 exec-cmd.c:236 trace: resolved executable dir: D:/PortableGit/mingw64/libexec/git-core
00:44:35.659286 git.c:418 trace: built-in: git config --bool --get svn.noMetadata
00:44:35.703288 exec-cmd.c:236 trace: resolved executable dir: D:/PortableGit/mingw64/libexec/git-core
00:44:35.704288 git.c:418 trace: built-in: git config --bool --get svn.useSvmProps
00:44:35.749291 exec-cmd.c:236 trace: resolved executable dir: D:/PortableGit/mingw64/libexec/git-core
00:44:35.750291 git.c:418 trace: built-in: git config --get svn.includepaths
00:44:35.797294 exec-cmd.c:236 trace: resolved executable dir: D:/PortableGit/mingw64/libexec/git-core
00:44:35.797294 git.c:418 trace: built-in: git config --bool --get svn.nocheckout
00:44:35.838296 exec-cmd.c:236 trace: resolved executable dir: D:/PortableGit/mingw64/libexec/git-core
00:44:35.839296 git.c:418 trace: built-in: git config --bool --get svn.fetchall
00:44:35.883299 exec-cmd.c:236 trace: resolved executable dir: D:/PortableGit/mingw64/libexec/git-core
00:44:35.883299 git.c:418 trace: built-in: git config --int --get svn.repack
00:44:35.924301 exec-cmd.c:236 trace: resolved executable dir: D:/PortableGit/mingw64/libexec/git-core
00:44:35.925301 git.c:418 trace: built-in: git config --bool --get svn.addauthorfrom
00:44:35.965303 exec-cmd.c:236 trace: resolved executable dir: D:/PortableGit/mingw64/libexec/git-core
00:44:35.966303 git.c:418 trace: built-in: git config --get svn.authorsfile
00:44:36.007306 exec-cmd.c:236 trace: resolved executable dir: D:/PortableGit/mingw64/libexec/git-core
00:44:36.008306 git.c:418 trace: built-in: git config --bool --get svn.followparent
00:44:36.050308 exec-cmd.c:236 trace: resolved executable dir: D:/PortableGit/mingw64/libexec/git-core
00:44:36.051308 git.c:418 trace: built-in: git config --get svn.repackflags
00:44:36.095311 exec-cmd.c:236 trace: resolved executable dir: D:/PortableGit/mingw64/libexec/git-core
00:44:36.095311 git.c:418 trace: built-in: git config --bool --get svn.dryrun
00:44:36.138313 exec-cmd.c:236 trace: resolved executable dir: D:/PortableGit/mingw64/libexec/git-core
00:44:36.138313 git.c:418 trace: built-in: git config --bool --get svn.useSvnsyncProps
00:44:36.180316 exec-cmd.c:236 trace: resolved executable dir: D:/PortableGit/mingw64/libexec/git-core
00:44:36.181316 git.c:418 trace: built-in: git config --get svn.ignorerefs
00:44:36.222318 exec-cmd.c:236 trace: resolved executable dir: D:/PortableGit/mingw64/libexec/git-core
00:44:36.223318 git.c:418 trace: built-in: git config --bool --get svn.local
00:44:36.266320 exec-cmd.c:236 trace: resolved executable dir: D:/PortableGit/mingw64/libexec/git-core
00:44:36.267321 git.c:418 trace: built-in: git config --bool --get svn.merge
00:44:36.308323 exec-cmd.c:236 trace: resolved executable dir: D:/PortableGit/mingw64/libexec/git-core
00:44:36.309323 git.c:418 trace: built-in: git config --bool --get svn.preservemerges
00:44:36.351325 exec-cmd.c:236 trace: resolved executable dir: D:/PortableGit/mingw64/libexec/git-core
00:44:36.352325 git.c:418 trace: built-in: git config --get svn.strategy
00:44:36.396328 exec-cmd.c:236 trace: resolved executable dir: D:/PortableGit/mingw64/libexec/git-core
00:44:36.397328 git.c:418 trace: built-in: git config --get svn.configdir
00:44:36.438330 exec-cmd.c:236 trace: resolved executable dir: D:/PortableGit/mingw64/libexec/git-core
00:44:36.439330 git.c:418 trace: built-in: git config --bool --get svn.uselogauthor
00:44:36.484333 exec-cmd.c:236 trace: resolved executable dir: D:/PortableGit/mingw64/libexec/git-core
00:44:36.485333 git.c:418 trace: built-in: git config --get svn.authorsprog
00:44:36.527335 exec-cmd.c:236 trace: resolved executable dir: D:/PortableGit/mingw64/libexec/git-core
00:44:36.527335 git.c:418 trace: built-in: git config --bool --get svn.localtime
00:44:36.569338 exec-cmd.c:236 trace: resolved executable dir: D:/PortableGit/mingw64/libexec/git-core
00:44:36.570338 git.c:418 trace: built-in: git rev-parse --symbolic --all
00:44:36.615340 exec-cmd.c:236 trace: resolved executable dir: D:/PortableGit/mingw64/libexec/git-core
00:44:36.615340 git.c:418 trace: built-in: git rev-parse --git-path svn
00:44:36.659343 exec-cmd.c:236 trace: resolved executable dir: D:/PortableGit/mingw64/libexec/git-core
00:44:36.659343 git.c:418 trace: built-in: git config -l
00:44:36.702345 exec-cmd.c:236 trace: resolved executable dir: D:/PortableGit/mingw64/libexec/git-core
00:44:36.703345 git.c:418 trace: built-in: git config -l
00:44:36.745348 exec-cmd.c:236 trace: resolved executable dir: D:/PortableGit/mingw64/libexec/git-core
00:44:36.746348 git.c:418 trace: built-in: git update-index --refresh
00:44:36.994362 exec-cmd.c:236 trace: resolved executable dir: D:/PortableGit/mingw64/libexec/git-core
00:44:36.995362 git.c:418 trace: built-in: git rev-list --first-parent --pretty=medium HEAD --
00:44:37.037365 exec-cmd.c:236 trace: resolved executable dir: D:/PortableGit/mingw64/libexec/git-core
00:44:37.037365 git.c:418 trace: built-in: git config --bool svn.useSvmProps
00:44:37.080367 exec-cmd.c:236 trace: resolved executable dir: D:/PortableGit/mingw64/libexec/git-core
00:44:37.081367 git.c:418 trace: built-in: git config -l
00:44:37.128370 exec-cmd.c:236 trace: resolved executable dir: D:/PortableGit/mingw64/libexec/git-core
00:44:37.128370 git.c:418 trace: built-in: git config --get svn-remote.svn.rewriteRoot
00:44:37.172372 exec-cmd.c:236 trace: resolved executable dir: D:/PortableGit/mingw64/libexec/git-core
00:44:37.172372 git.c:418 trace: built-in: git rev-parse --git-path svn
00:44:37.216375 exec-cmd.c:236 trace: resolved executable dir: D:/PortableGit/mingw64/libexec/git-core
00:44:37.217375 git.c:418 trace: built-in: git config --get svn-remote.svn.fetch ':refs/remotes/git-svn$'
00:44:37.260377 exec-cmd.c:236 trace: resolved executable dir: D:/PortableGit/mingw64/libexec/git-core
00:44:37.261377 git.c:418 trace: built-in: git config --get svn-remote.svn.url
00:44:37.302380 exec-cmd.c:236 trace: resolved executable dir: D:/PortableGit/mingw64/libexec/git-core
00:44:37.303380 git.c:418 trace: built-in: git config --get svn-remote.svn.pushurl
00:44:37.347382 exec-cmd.c:236 trace: resolved executable dir: D:/PortableGit/mingw64/libexec/git-core
00:44:37.347382 git.c:418 trace: built-in: git rev-parse --git-path svn
00:44:37.391385 exec-cmd.c:236 trace: resolved executable dir: D:/PortableGit/mingw64/libexec/git-core
00:44:37.391385 git.c:418 trace: built-in: git config --get svn-remote.svn.uuid
00:44:37.481390 exec-cmd.c:236 trace: resolved executable dir: D:/PortableGit/mingw64/libexec/git-core
00:44:37.482390 git.c:418 trace: built-in: git rev-list --pretty=raw --reverse 72574fecc2847c3ea8a1af86a734f223a752bfd8..refs/remotes/git-svn --
00:44:37.506391 exec-cmd.c:236 trace: resolved executable dir: D:/PortableGit/mingw64/libexec/git-core
00:44:37.507391 git.c:418 trace: built-in: git config --get svn-remote.svn.rewriteRoot
00:44:37.550394 exec-cmd.c:236 trace: resolved executable dir: D:/PortableGit/mingw64/libexec/git-core
00:44:37.551394 git.c:418 trace: built-in: git config --get svn-remote.svn.rewriteUUID
00:44:37.601397 exec-cmd.c:236 trace: resolved executable dir: D:/PortableGit/mingw64/libexec/git-core
00:44:37.601397 git.c:418 trace: built-in: git diff-index HEAD --
00:44:37.849411 exec-cmd.c:236 trace: resolved executable dir: D:/PortableGit/mingw64/libexec/git-core
00:44:37.850411 git.c:418 trace: built-in: git config --get svn-remote.svn.usesvmprops
00:44:37.894414 exec-cmd.c:236 trace: resolved executable dir: D:/PortableGit/mingw64/libexec/git-core
00:44:37.895414 git.c:418 trace: built-in: git config --get svn-remote.svn.nometadata
00:44:37.939416 exec-cmd.c:236 trace: resolved executable dir: D:/PortableGit/mingw64/libexec/git-core
00:44:37.940416 git.c:418 trace: built-in: git cat-file commit 72574fecc2847c3ea8a1af86a734f223a752bfd8

@CrOrc
Copy link

CrOrc commented Dec 27, 2018

Perl is hanging busy at last command

00:44:37.940416 git.c:418 trace: built-in: git cat-file commit 72574fecc2847c3ea8a1af86a734f223a752bfd8

@CrOrc
Copy link

CrOrc commented Dec 27, 2018

Here's my config

[core]
fscache = true
autocrlf = false
[credential]
helper = wincred
[pack]
packSizeLimit = 1g
[rebase]
useBuiltin = true
[stash]
useBuiltin = true

@CrOrc
Copy link

CrOrc commented Dec 27, 2018

Here's output of git svn fetch (running after git svn init)

04:16:04.746335 exec-cmd.c:236 trace: resolved executable dir: D:/PortableGit/mingw64/bin
04:16:04.747335 git.c:675 trace: exec: git-svn fetch
04:16:04.747335 run-command.c:643 trace: run_command: git-svn fetch
01:16:05.093355 exec-cmd.c:236 trace: resolved executable dir: D:/PortableGit/mingw64/libexec/git-core
01:16:05.093355 git.c:418 trace: built-in: git rev-parse --git-dir
01:16:05.137358 exec-cmd.c:236 trace: resolved executable dir: D:/PortableGit/mingw64/libexec/git-core
01:16:05.138358 git.c:418 trace: built-in: git rev-parse --show-cdup
01:16:05.182360 exec-cmd.c:236 trace: resolved executable dir: D:/PortableGit/mingw64/libexec/git-core
01:16:05.183360 git.c:418 trace: built-in: git config --bool --get svn.fetchall
01:16:05.228363 exec-cmd.c:236 trace: resolved executable dir: D:/PortableGit/mingw64/libexec/git-core
01:16:05.229363 git.c:418 trace: built-in: git config --get svn.revision
01:16:05.276366 exec-cmd.c:236 trace: resolved executable dir: D:/PortableGit/mingw64/libexec/git-core
01:16:05.277366 git.c:418 trace: built-in: git config --get svn.configdir
01:16:05.319368 exec-cmd.c:236 trace: resolved executable dir: D:/PortableGit/mingw64/libexec/git-core
01:16:05.320368 git.c:418 trace: built-in: git config --int --get svn.logwindowsize
01:16:05.364371 exec-cmd.c:236 trace: resolved executable dir: D:/PortableGit/mingw64/libexec/git-core
01:16:05.364371 git.c:418 trace: built-in: git config --int --get svn.repack
01:16:05.407373 exec-cmd.c:236 trace: resolved executable dir: D:/PortableGit/mingw64/libexec/git-core
01:16:05.408373 git.c:418 trace: built-in: git config --bool --get svn.localtime
01:16:05.450376 exec-cmd.c:236 trace: resolved executable dir: D:/PortableGit/mingw64/libexec/git-core
01:16:05.450376 git.c:418 trace: built-in: git config --get svn.ignorepaths
01:16:05.492378 exec-cmd.c:236 trace: resolved executable dir: D:/PortableGit/mingw64/libexec/git-core
01:16:05.492378 git.c:418 trace: built-in: git config --bool --get svn.quiet
01:16:05.536381 exec-cmd.c:236 trace: resolved executable dir: D:/PortableGit/mingw64/libexec/git-core
01:16:05.536381 git.c:418 trace: built-in: git config --get svn.repackflags
01:16:05.579383 exec-cmd.c:236 trace: resolved executable dir: D:/PortableGit/mingw64/libexec/git-core
01:16:05.580383 git.c:418 trace: built-in: git config --bool --get svn.parent
01:16:05.624386 exec-cmd.c:236 trace: resolved executable dir: D:/PortableGit/mingw64/libexec/git-core
01:16:05.624386 git.c:418 trace: built-in: git config --bool --get svn.noMetadata
01:16:05.667388 exec-cmd.c:236 trace: resolved executable dir: D:/PortableGit/mingw64/libexec/git-core
01:16:05.668388 git.c:418 trace: built-in: git config --bool --get svn.uselogauthor
01:16:05.719391 exec-cmd.c:236 trace: resolved executable dir: D:/PortableGit/mingw64/libexec/git-core
01:16:05.720391 git.c:418 trace: built-in: git config --bool --get svn.noauthcache
01:16:05.766394 exec-cmd.c:236 trace: resolved executable dir: D:/PortableGit/mingw64/libexec/git-core
01:16:05.766394 git.c:418 trace: built-in: git config --bool --get svn.useSvmProps
01:16:05.809396 exec-cmd.c:236 trace: resolved executable dir: D:/PortableGit/mingw64/libexec/git-core
01:16:05.809396 git.c:418 trace: built-in: git config --get svn.ignorerefs
01:16:05.855399 exec-cmd.c:236 trace: resolved executable dir: D:/PortableGit/mingw64/libexec/git-core
01:16:05.855399 git.c:418 trace: built-in: git config --bool --get svn.addauthorfrom
01:16:05.899401 exec-cmd.c:236 trace: resolved executable dir: D:/PortableGit/mingw64/libexec/git-core
01:16:05.899401 git.c:418 trace: built-in: git config --get svn.username
01:16:05.943404 exec-cmd.c:236 trace: resolved executable dir: D:/PortableGit/mingw64/libexec/git-core
01:16:05.943404 git.c:418 trace: built-in: git config --get svn.authorsprog
01:16:05.985406 exec-cmd.c:236 trace: resolved executable dir: D:/PortableGit/mingw64/libexec/git-core
01:16:05.986406 git.c:418 trace: built-in: git config --get svn.authorsfile
01:16:06.029409 exec-cmd.c:236 trace: resolved executable dir: D:/PortableGit/mingw64/libexec/git-core
01:16:06.029409 git.c:418 trace: built-in: git config --bool --get svn.nocheckout
01:16:06.072411 exec-cmd.c:236 trace: resolved executable dir: D:/PortableGit/mingw64/libexec/git-core
01:16:06.072411 git.c:418 trace: built-in: git config --bool --get svn.useSvnsyncProps
01:16:06.115414 exec-cmd.c:236 trace: resolved executable dir: D:/PortableGit/mingw64/libexec/git-core
01:16:06.115414 git.c:418 trace: built-in: git config --bool --get svn.followparent
01:16:06.160416 exec-cmd.c:236 trace: resolved executable dir: D:/PortableGit/mingw64/libexec/git-core
01:16:06.160416 git.c:418 trace: built-in: git config --get svn.includepaths
01:16:06.204419 exec-cmd.c:236 trace: resolved executable dir: D:/PortableGit/mingw64/libexec/git-core
01:16:06.204419 git.c:418 trace: built-in: git rev-parse --symbolic --all
01:16:06.250421 exec-cmd.c:236 trace: resolved executable dir: D:/PortableGit/mingw64/libexec/git-core
01:16:06.250421 git.c:418 trace: built-in: git rev-parse --git-path svn
01:16:06.292424 exec-cmd.c:236 trace: resolved executable dir: D:/PortableGit/mingw64/libexec/git-core
01:16:06.293424 git.c:418 trace: built-in: git config -l
01:16:06.334426 exec-cmd.c:236 trace: resolved executable dir: D:/PortableGit/mingw64/libexec/git-core
01:16:06.335426 git.c:418 trace: built-in: git config -l
01:16:06.375429 exec-cmd.c:236 trace: resolved executable dir: D:/PortableGit/mingw64/libexec/git-core
01:16:06.376429 git.c:418 trace: built-in: git config --bool svn.useSvmProps
01:16:06.417431 exec-cmd.c:236 trace: resolved executable dir: D:/PortableGit/mingw64/libexec/git-core
01:16:06.417431 git.c:418 trace: built-in: git config -l

@CrOrc
Copy link

CrOrc commented Dec 27, 2018

In git v2.19.1 after that goes

01:23:16.890053 git.c:415 trace: built-in: git rev-parse --git-path svn
01:23:16.932055 exec-cmd.c:236 trace: resolved executable dir: C:/Program Files/Git/mingw64/libexec/git-core
01:23:16.933055 git.c:415 trace: built-in: git config --get svn-remote.svn.fetch ':refs/remotes/git-svn$'
01:23:16.975057 exec-cmd.c:236 trace: resolved executable dir: C:/Program Files/Git/mingw64/libexec/git-core
01:23:16.975057 git.c:415 trace: built-in: git config --get svn-remote.svn.url
01:23:17.018060 exec-cmd.c:236 trace: resolved executable dir: C:/Program Files/Git/mingw64/libexec/git-core
01:23:17.018060 git.c:415 trace: built-in: git config --get svn-remote.svn.pushurl
01:23:17.062062 exec-cmd.c:236 trace: resolved executable dir: C:/Program Files/Git/mingw64/libexec/git-core
01:23:17.062062 git.c:415 trace: built-in: git rev-parse --git-path svn
01:23:17.105065 exec-cmd.c:236 trace: resolved executable dir: C:/Program Files/Git/mingw64/libexec/git-core
01:23:17.105065 git.c:415 trace: built-in: git config --get svn-remote.svn.uuid
01:23:17.151067 exec-cmd.c:236 trace: resolved executable dir: C:/Program Files/Git/mingw64/libexec/git-core
01:23:17.151067 git.c:415 trace: built-in: git rev-parse --git-path svn
01:23:17.194070 exec-cmd.c:236 trace: resolved executable dir: C:/Program Files/Git/mingw64/libexec/git-core
01:23:17.195070 git.c:415 trace: built-in: git config svn-remote.svn.reposRoot https://private-repo-url

@dex-ds
Copy link
Author

dex-ds commented Dec 27, 2018

Maybe helpful or not..
the stack of the hanging perl.exe

msys-serf-1-0.dll!serf__spnego_init_sec_context+0x518
msys-crypto-1.1.dll!CRYPTO_zalloc+0xd
msys-crypto-1.1.dll!CRYPTO_THREAD_lock_new+0x1c
msys-crypto-1.1.dll!HMAC_CTX_get_md+0x295
msys-2.0.dll!_getreent+0x612b
msys-2.0.dll!acl_get_perm+0x930a
msys-crypto-1.1.dll!OPENSSL_init_crypto+0x73
msys-serf-1-0.dll!serf_bucket_socket_set_read_progress_cb+0xb22
msys-serf-1-0.dll!serf_bucket_ssl_decrypt_create+0x1a
msys-svn_ra_serf-1-0.dll!svn_ra_serf__conn_setup+0x4c
msys-serf-1-0.dll!serf_listener_create+0xac3
msys-serf-1-0.dll!serf__open_connections+0x1fb
msys-serf-1-0.dll!serf_context_prerun+0x10
msys-serf-1-0.dll!serf_context_run+0x16
msys-svn_ra_serf-1-0.dll!svn_ra_serf__context_run+0x61
msys-svn_ra_serf-1-0.dll!svn_ra_serf__context_run_wait+0x55
msys-svn_ra_serf-1-0.dll!svn_ra_serf__context_run_one+0x24
msys-svn_ra_serf-1-0.dll!svn_ra_serf__exchange_capabilities+0x68
msys-svn_ra_serf-1-0.dll!svn_ra_serf__reparent+0x1765
msys-svn_ra-1-0.dll!svn_ra_open4+0x216
msys-svn_ra-1-0.dll!svn_ra_open+0xab
_Ra.dll!wrap_svn_ra_open+0x16b
msys-perl5_26.dll!Perl_pp_entersub+0x425
msys-perl5_26.dll!Perl_runops_standard+0x16
msys-perl5_26.dll!perl_run+0x275
perl.exe!main+0x14a
msys-2.0.dll!msys_dll_init+0x1234
msys-2.0.dll!setprogname+0x33b3
msys-2.0.dll!setprogname+0x3464

@dex-ds
Copy link
Author

dex-ds commented Dec 27, 2018

my git svn traces looks like crOrcs ouput.
I also tried GIT_CURL_VERBOSE=1, GIT_TRACE=2, GIT_CURL_VERBOSE=2, all attempts to get more debug output fails. (I'm not a perl specialist)

Windows environment:
Windows 10 Ent. LTSB 2016, latest patch
Portable 64bit version
git --version
git version 2.20.1.windows.1
Until this version, the "git svn" cmds working.
In my case Versions 2.20.0 (my fallback), 2.19.x are ok.

@dstcruz
Copy link

dstcruz commented Dec 27, 2018

I'm experiencing the same issues as the other people here, and see the same trace output. I can chase this rabbit all the way to this line in SVN::Ra in c:/Program Files/Git/usr/lib/perl5/vendor_perl/SVN/Ra.pm. This is where it hangs for me.

    $self->{session} = SVN::_Ra::svn_ra_open($self->{url}, $callback, $self->{config} || {}, $pool);

I don't have the skills/time to go into _Ra.dll to chase this any further.

Something else of interest: I'm behind a proxy. I don't know if any of the other reporters are too.

@fuzzzerd
Copy link

Commands are running without any output at 100% CPU.
Perl hangs when fetching from any svn repo.

I'm experiencing the same behavior for git svn clone as well. Downgrade to v2.20.0 and it works as it always had before.

@llongmane584
Copy link

Almost same here.
The CPU usage of perl.exe is 12%..13%. It seems to hang after a message "Initialized empty Git repository in <REPO_NAME>/.git/" is shown when I execute a command "git svn clone".
v2.20.0 is OK, so I downgraded to it from v2.20.1.

@raijinsetsu
Copy link

Same symptoms and log output here as well.

@belucha
Copy link

belucha commented Jan 16, 2019

I have the same issues on two different machines.

daniel@DESKTOP-T5MOBDP MINGW64 /d/Projekte/GitLab/indel/inos (indel)
$ git --version
git version 2.20.1.windows.1

daniel@DESKTOP-T5MOBDP MINGW64 /d/Projekte/GitLab/indel/inos (indel)
$ perl --version

This is perl 5, version 26, subversion 2 (v5.26.2) built for x86_64-msys-thread-multi

Copyright 1987-2018, Larry Wall

Perl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5 source kit.

Complete documentation for Perl, including FAQ lists, should be found on
this system using "man perl" or "perldoc perl".  If you have access to the
Internet, point your browser at http://www.perl.org/, the Perl Home Page.


daniel@DESKTOP-T5MOBDP MINGW64 /d/Projekte/GitLab/indel/inos (indel)
$

Now the actual log:

daniel@DESKTOP-T5MOBDP MINGW64 /d/Projekte/GitLab/indel/inos (indel)
$ git svn fetch --parent --user intronik > giv-svn-issue-1933.log
20:04:36.941196 exec-cmd.c:236          trace: resolved executable dir: C:/Program Files/Git/mingw64/bin
20:04:36.943195 git.c:675               trace: exec: git-svn fetch --parent --user intronik
20:04:36.943195 run-command.c:643       trace: run_command: git-svn fetch --parent --user intronik
19:04:37.364194 exec-cmd.c:236          trace: resolved executable dir: C:/Program Files/Git/mingw64/libexec/git-core
19:04:37.364194 git.c:418               trace: built-in: git rev-parse --git-dir
19:04:37.426194 exec-cmd.c:236          trace: resolved executable dir: C:/Program Files/Git/mingw64/libexec/git-core
19:04:37.426194 git.c:418               trace: built-in: git rev-parse --show-cdup
19:04:37.488191 exec-cmd.c:236          trace: resolved executable dir: C:/Program Files/Git/mingw64/libexec/git-core
19:04:37.490191 git.c:418               trace: built-in: git config --get svn.configdir
19:04:37.550196 exec-cmd.c:236          trace: resolved executable dir: C:/Program Files/Git/mingw64/libexec/git-core
19:04:37.551195 git.c:418               trace: built-in: git config --bool --get svn.followparent
19:04:37.611192 exec-cmd.c:236          trace: resolved executable dir: C:/Program Files/Git/mingw64/libexec/git-core
19:04:37.612195 git.c:418               trace: built-in: git config --bool --get svn.nocheckout
19:04:37.672192 exec-cmd.c:236          trace: resolved executable dir: C:/Program Files/Git/mingw64/libexec/git-core
19:04:37.673197 git.c:418               trace: built-in: git config --get svn.username
19:04:37.733192 exec-cmd.c:236          trace: resolved executable dir: C:/Program Files/Git/mingw64/libexec/git-core
19:04:37.735192 git.c:418               trace: built-in: git config --get svn.authorsprog
19:04:37.795193 exec-cmd.c:236          trace: resolved executable dir: C:/Program Files/Git/mingw64/libexec/git-core
19:04:37.796193 git.c:418               trace: built-in: git config --bool --get svn.addauthorfrom
19:04:37.863192 exec-cmd.c:236          trace: resolved executable dir: C:/Program Files/Git/mingw64/libexec/git-core
19:04:37.864192 git.c:418               trace: built-in: git config --bool --get svn.fetchall
19:04:37.924195 exec-cmd.c:236          trace: resolved executable dir: C:/Program Files/Git/mingw64/libexec/git-core
19:04:37.925195 git.c:418               trace: built-in: git config --get svn.authorsfile
19:04:37.985192 exec-cmd.c:236          trace: resolved executable dir: C:/Program Files/Git/mingw64/libexec/git-core
19:04:37.986192 git.c:418               trace: built-in: git config --get svn.ignorerefs
19:04:38.047193 exec-cmd.c:236          trace: resolved executable dir: C:/Program Files/Git/mingw64/libexec/git-core
19:04:38.049192 git.c:418               trace: built-in: git config --bool --get svn.quiet
19:04:38.109195 exec-cmd.c:236          trace: resolved executable dir: C:/Program Files/Git/mingw64/libexec/git-core
19:04:38.111195 git.c:418               trace: built-in: git config --bool --get svn.parent
19:04:38.171193 exec-cmd.c:236          trace: resolved executable dir: C:/Program Files/Git/mingw64/libexec/git-core
19:04:38.173192 git.c:418               trace: built-in: git config --get svn.includepaths
19:04:38.233195 exec-cmd.c:236          trace: resolved executable dir: C:/Program Files/Git/mingw64/libexec/git-core
19:04:38.234195 git.c:418               trace: built-in: git config --int --get svn.logwindowsize
19:04:38.300191 exec-cmd.c:236          trace: resolved executable dir: C:/Program Files/Git/mingw64/libexec/git-core
19:04:38.301191 git.c:418               trace: built-in: git config --get svn.ignorepaths
19:04:38.362192 exec-cmd.c:236          trace: resolved executable dir: C:/Program Files/Git/mingw64/libexec/git-core
19:04:38.363194 git.c:418               trace: built-in: git config --bool --get svn.uselogauthor
19:04:38.423196 exec-cmd.c:236          trace: resolved executable dir: C:/Program Files/Git/mingw64/libexec/git-core
19:04:38.424194 git.c:418               trace: built-in: git config --get svn.repackflags
19:04:38.487195 exec-cmd.c:236          trace: resolved executable dir: C:/Program Files/Git/mingw64/libexec/git-core
19:04:38.488195 git.c:418               trace: built-in: git config --bool --get svn.useSvnsyncProps
19:04:38.553193 exec-cmd.c:236          trace: resolved executable dir: C:/Program Files/Git/mingw64/libexec/git-core
19:04:38.554193 git.c:418               trace: built-in: git config --bool --get svn.noMetadata
19:04:38.613192 exec-cmd.c:236          trace: resolved executable dir: C:/Program Files/Git/mingw64/libexec/git-core
19:04:38.614192 git.c:418               trace: built-in: git config --int --get svn.repack
19:04:38.676196 exec-cmd.c:236          trace: resolved executable dir: C:/Program Files/Git/mingw64/libexec/git-core
19:04:38.677195 git.c:418               trace: built-in: git config --bool --get svn.noauthcache
19:04:38.734195 exec-cmd.c:236          trace: resolved executable dir: C:/Program Files/Git/mingw64/libexec/git-core
19:04:38.735195 git.c:418               trace: built-in: git config --bool --get svn.localtime
19:04:38.801195 exec-cmd.c:236          trace: resolved executable dir: C:/Program Files/Git/mingw64/libexec/git-core
19:04:38.802198 git.c:418               trace: built-in: git config --get svn.revision
19:04:38.862194 exec-cmd.c:236          trace: resolved executable dir: C:/Program Files/Git/mingw64/libexec/git-core
19:04:38.863195 git.c:418               trace: built-in: git config --bool --get svn.useSvmProps
19:04:38.931192 exec-cmd.c:236          trace: resolved executable dir: C:/Program Files/Git/mingw64/libexec/git-core
19:04:38.932193 git.c:418               trace: built-in: git rev-parse --symbolic --all
19:04:39.010195 exec-cmd.c:236          trace: resolved executable dir: C:/Program Files/Git/mingw64/libexec/git-core
19:04:39.010195 git.c:418               trace: built-in: git rev-parse --git-path svn
19:04:39.072192 exec-cmd.c:236          trace: resolved executable dir: C:/Program Files/Git/mingw64/libexec/git-core
19:04:39.073193 git.c:418               trace: built-in: git config -l
19:04:39.134195 exec-cmd.c:236          trace: resolved executable dir: C:/Program Files/Git/mingw64/libexec/git-core
19:04:39.136195 git.c:418               trace: built-in: git config -l
19:04:39.204196 exec-cmd.c:236          trace: resolved executable dir: C:/Program Files/Git/mingw64/libexec/git-core
19:04:39.206195 git.c:418               trace: built-in: git rev-list --first-parent --pretty=medium HEAD --
19:04:39.265195 exec-cmd.c:236          trace: resolved executable dir: C:/Program Files/Git/mingw64/libexec/git-core
19:04:39.266195 git.c:418               trace: built-in: git config --bool svn.useSvmProps
19:04:39.324191 exec-cmd.c:236          trace: resolved executable dir: C:/Program Files/Git/mingw64/libexec/git-core
19:04:39.325192 git.c:418               trace: built-in: git config -l
19:04:39.385192 exec-cmd.c:236          trace: resolved executable dir: C:/Program Files/Git/mingw64/libexec/git-core
19:04:39.386192 git.c:418               trace: built-in: git config --get svn-remote.svn.rewriteRoot
19:04:39.448191 exec-cmd.c:236          trace: resolved executable dir: C:/Program Files/Git/mingw64/libexec/git-core
19:04:39.448191 git.c:418               trace: built-in: git rev-parse --git-path svn
19:04:39.508193 exec-cmd.c:236          trace: resolved executable dir: C:/Program Files/Git/mingw64/libexec/git-core
19:04:39.509192 git.c:418               trace: built-in: git config --get svn-remote.svn.fetch ':refs/remotes/git-svn$'
19:04:39.571192 exec-cmd.c:236          trace: resolved executable dir: C:/Program Files/Git/mingw64/libexec/git-core
19:04:39.572194 git.c:418               trace: built-in: git config --get svn-remote.svn.url
19:04:39.633192 exec-cmd.c:236          trace: resolved executable dir: C:/Program Files/Git/mingw64/libexec/git-core
19:04:39.634192 git.c:418               trace: built-in: git config --get svn-remote.svn.pushurl
19:04:39.695195 exec-cmd.c:236          trace: resolved executable dir: C:/Program Files/Git/mingw64/libexec/git-core
19:04:39.695195 git.c:418               trace: built-in: git rev-parse --git-path svn
19:04:39.759193 exec-cmd.c:236          trace: resolved executable dir: C:/Program Files/Git/mingw64/libexec/git-core
19:04:39.761193 git.c:418               trace: built-in: git config --get svn-remote.svn.uuid

@ClintonLangerakPAVS
Copy link

Same problem here.
Rebuilt my laptop with fresh install of Windows 10, installed latest git...
Now git svn clone, git svn fetch, and git svn rebase all hang with perl.exe using about 18% CPU.
Downgrade to 2.20.0 and it all works fine.

SVN repository is via https and requires username and password. 2.20.0 prompts to accept certificate (self signed). 2.20.1 doesn't prompt at all.

@th3ragex
Copy link

Same here.
Windows 10 1607. The SVN repository requires username and password over HTTPS. The HTTPS is encrypted a self signed certificate and gets tunneled through a VPN connection to an internal network. The self signed certificate has been (manually) added to the windows certificate store.

I believe i've also accepted a git console prompt months ago (pre git 2.20.0) to add a permanent security exception for the certificate/connection, which was probably before adding the certificate to the windows cert store.

@raijinsetsu
Copy link

raijinsetsu commented Jan 24, 2019 via email

@m1ndwalker
Copy link

m1ndwalker commented Feb 1, 2019

I faced the same issue, downgrading to 2.19.2 sorted it out

Running on a Windows 10 1607. SVN lives on an HTTPs connection with a self signed certificate (not CA certified)

@ysae
Copy link

ysae commented Feb 4, 2019

Same issue with 2.20.1.
git svn fetch just stalling, without any network activity.
Also, when try to clone another git repo from svn, it just wrote about initializing, and then stalling.
Removing svn credentials doesn't take effect: git clone asks nothing.
But, when downgrading to 2.19.1, all stuff start work well:

  • git svn clone ask for password and start fetching commits,
  • git svn fetch just works, downloading recent commits from svn.

@nga888
Copy link

nga888 commented Feb 14, 2019

I have just recently run into this issue with git svn dcommit.

I believe that the issue is in OpenSSL, see openssl/openssl#2865. Pulling in the OpenSSL fix should hopefully resolve this issue.

@pisek
Copy link

pisek commented Feb 18, 2019

Same issue with 2.20.1.
git svn fetch just stalling, without any network activity.
Also, when try to clone another git repo from svn, it just wrote about initializing, and then stalling.
Removing svn credentials doesn't take effect: git clone asks nothing.
But, when downgrading to 2.19.1, all stuff start work well:

  • git svn clone ask for password and start fetching commits,
  • git svn fetch just works, downloading recent commits from svn.

I can confirm that git svn clone error only happens on 2.20.1 version. 2.20.0 and previous seem to be working fine.

@PhilipOakley
Copy link

git svn clone error only happens on 2.20.1 version. 2.20.0 and previous seem to be working fine.

Have you had chance to see what was in the 'minor' fix from 20.0 to 20.1? I have memories that suggest they were various cascaded networking library code fixes, which may give a better clue.

@nga888
Copy link

nga888 commented Feb 18, 2019

I have confirmed that this is indeed related to openssl/openssl#2865. Pulling in the OpenSSL fix from openssl/openssl@ef45aa1 and also rebuilding the "serf" package, fixes my git svn problems.

I guess there could be other packages that might also be impacted by this OpenSSL issue.

@dscho
Copy link
Member

dscho commented Feb 18, 2019

@nga888 excellent work!

So what will need to happen now:

  • git-for-windows/MSYS2-packages needs to be changed so that openssl/ contains that patch and openssl/PKGBUILD applies that patch (similar to the already-existing patches there)
  • OpenSSL needs to be rebuilt (but only the MSYS2 packages, the MINGW packages should be left alone), with a forced pkgrel 3
  • the git-for-windows/build-extra repository will need a PR to adjust please.sh to be able to upgrade serf. For this, a new section like this and that (i.e. imitating openssh) will need to be added, for which we need some sort of a ChangeLog for serf, as well as a website stating the current version. I guess we could use https://svn.apache.org/repos/asf/serf/trunk/CHANGES for the ChangeLog, and scrape https://serf.apache.org/download for the version number.
  • A new serf version will need to be built and published.

I will obviously be stuck with the building and publishing, and I would really appreciate help with the other two tasks.

@nga888
Copy link

nga888 commented Feb 19, 2019

Thanks and you're welcome @dscho

I've actually been testing this in MSYS2 with git-for-windows, as that's my preferred setup. I have just created this pull request msys2/MSYS2-packages#1576 for the openssl patch. If it's accepted I guess you can merge it to your fork or you can just grab it directly if you want.

rimrul referenced this issue in git-for-windows/build-extra Feb 20, 2019
Comes with [OpenSSL
v1.1.1a](https://www.openssl.org/news/openssl-1.1.1-notes.html).

Signed-off-by: Git for Windows Build Agent <[email protected]>
dscho added a commit to git-for-windows/git-sdk-64 that referenced this issue Feb 20, 2019
Most importantly libserf, which will hopefully address
git-for-windows/git#1993...

Signed-off-by: Johannes Schindelin <[email protected]>
dscho added a commit to git-for-windows/git-sdk-32 that referenced this issue Feb 20, 2019
Most importantly libserf, which will hopefully address
git-for-windows/git#1993...

Signed-off-by: Johannes Schindelin <[email protected]>
@dscho
Copy link
Member

dscho commented Feb 20, 2019

* A new `serf` version will need to be built and published.

This was done by upstream MSYS2, so I avoided that for the time being.

@dscho
Copy link
Member

dscho commented Feb 21, 2019

FWIW v2.21.0-rc2 has the proposed fix.

Please, all y'all, test away.

@llongmane584
Copy link

Thanks so much dscho! I tried "git svn clone" with v2.21.0-rc2 today and it seemed work well. Great!

@dscho
Copy link
Member

dscho commented Feb 23, 2019

@llongmanne559 thanks for testing!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

16 participants