git-for-windows / git

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

Perl crash when git svn init #5014

Closed NickLiu635 closed 2 weeks ago

NickLiu635 commented 2 weeks ago

// Probably this is a similar issue to the previous one https://github.com/git-for-windows/git/issues/274

Setup

$ git --version --build-options

git version 2.45.2.windows.1
cpu: x86_64
built from commit: 91d03cb2e4fbf6ad961ace739b8a646868cb154d
sizeof-long: 4
sizeof-size_t: 8
shell-path: /bin/sh
feature: fsmonitor--daemon
$ cmd.exe /c ver

Microsoft Windows [版本 10.0.19045.3208] x64
# One of the following:
> type "C:\Program Files\Git\etc\install-options.txt"
> type "C:\Program Files (x86)\Git\etc\install-options.txt"
> type "%USERPROFILE%\AppData\Local\Programs\Git\etc\install-options.txt"
> type "$env:USERPROFILE\AppData\Local\Programs\Git\etc\install-options.txt"
$ cat /etc/install-options.txt

Editor Option: VisualStudioCode
Custom Editor Path: 
Default Branch Option: master
Path Option: Cmd
SSH Option: ExternalOpenSSH
Tortoise Option: false
CURL Option: WinSSL
CRLF Option: CRLFAlways
Bash Terminal Option: MinTTY
Git Pull Behavior Option: Rebase
Use Credential Manager: Enabled
Performance Tweaks FSCache: Enabled
Enable Symlinks: Disabled
Enable Pseudo Console Support: Enabled
Enable FSMonitor: Enabled

target server is an svn server, works well with TortoiseSVN, supports sslv2 only, and proxyed to http by nginx 1.0.15

(maybe an old version) VisualSVN Server powered by Subversion

TortoiseSVN 1.14.5, Build 29465 - 64 Bit , 2022/09/24 08:31:31 ipv6 enabled Subversion 1.14.2, -release apr 1.6.5 apr-util 1.6.1 serf 1.3.9 OpenSSL 1.1.1n 15 Mar 2022 zlib 1.2.11 SQLite 3.36.0

nginx version: nginx/1.0.15 TLS SNI support enabled configure arguments: --with-cc=cl --builddir=objs.msvc8 --with-debug --prefix= --conf-path=conf/nginx.conf --pid-path=logs/nginx.pid --http-log-path=logs/access.log --error-log-path=logs/error.log --sbin-path=nginx.exe --http-client-body-temp-path=temp/client_body_temp --http-proxy-temp-path=temp/proxy_temp --http-fastcgi-temp-path=temp/fastcgi_temp --http-scgi-temp-path=temp/scgi_temp --http-uwsgi-temp-path=temp/uwsgi_temp --with-cc-opt=-DFD_SETSIZE=1024 --with-pcre=objs.msvc8/lib/pcre-8.30 --with-zlib=objs.msvc8/lib/zlib-1.2.5 --with-select_module --with-http_realip_module --with-http_addition_module --with-http_sub_module --with-http_dav_module --with-http_stub_status_module --with-http_flv_module --with-http_mp4_module --with-http_gzip_static_module --with-http_random_index_module --with-http_secure_link_module --with-mail --with-openssl=objs.msvc8/lib/openssl-0.9.8u --with-openssl-opt=enable-tlsext --with-http_ssl_module --with-mail_ssl_module --with-ipv6

Details

powershell in vscode

git svn init -s --prefix=svn/ --username={username} http://localhost:48000/svn/{more svn addrs}

init well

Exception: STATUS_ACCESS_VIOLATION at rip=000000000000 rax=0000000000000000 rbx=0000000000000011 rcx=0000000A00F9DC88 rdx=0000000A00FA5CC8 rsi=00000007FFFFC170 rdi=00000007FFFFC178 r8 =0000000000000000 r9 =0000000A00FA8098 r10=0000000800000000 r11=000000049F246ACC r12=0000000A00F94C48 r13=00000007FFFFC188 r14=0000000A00F9DC88 r15=0000000000000000 rbp=0000000A00F94CD8 rsp=00000007FFFFC118 program=C:\Program Files\Git\usr\bin\perl.exe, pid 572, thread main cs=0033 ds=002B es=002B fs=0053 gs=002B ss=002B Stack trace: Frame Function Args End of stack trace Loaded modules: 000100400000 perl.exe 7FF9C2C70000 ntdll.dll 7FF9C1B70000 KERNEL32.DLL 7FF9C07C0000 KERNELBASE.dll 7FF9AB690000 ghijt64win10.dll 7FF9C1A20000 ADVAPI32.dll 7FF9C2360000 msvcrt.dll 7FF9C2130000 sechost.dll 7FF9C2B00000 RPCRT4.dll 0004BB520000 msys-perl5_38.dll 000210040000 msys-2.0.dll 000521DF0000 msys-crypt-2.dll 0005E8160000 msys-gcc_s-seh-1.dll 7FF994FC0000 VCOMP140.DLL 7FF9C0CD0000 USER32.dll 7FF9C0AC0000 win32u.dll 7FF9C1AE0000 GDI32.dll 7FF9C0520000 gdi32full.dll 7FF9C06D0000 msvcp_win.dll 7FF9C0AF0000 ucrtbase.dll 7FF9C19D0000 IMM32.DLL 7FF9BFB50000 CRYPTBASE.DLL 7FF9C0640000 bcryptPrimitives.dll 7FF9B2900000 netapi32.dll 7FF9B6D90000 SAMCLI.DLL 7FF9B6520000 SAMLIB.dll 7FF9BF7E0000 NETUTILS.DLL 0005168E0000 Cwd.dll 0005C78F0000 Util.dll 000513400000 Fcntl.dll 0005F7760000 POSIX.dll 0004AE030000 _Core.dll 00049F230000 msys-apr-1-0.dll 00048D780000 msys-svn_swig_perl-1-0.dll 00041C320000 msys-svn_diff-1-0.dll 00050F470000 msys-svn_subr-1-0.dll 7FF9C03C0000 CRYPT32.dll 0004F8EB0000 msys-svn_delta-1-0.dll 000430B30000 msys-intl-8.dll 0004BA2F0000 msys-uuid-1.dll 0004725D0000 msys-aprutil-1-0.dll 0005B8660000 msys-expat-1.dll 0004333E0000 msys-lz4-1.dll 0004B3930000 msys-magic-1.dll 0005798A0000 msys-sqlite3-0.dll 000522FE0000 msys-z.dll 0005603F0000 msys-iconv-2.dll 000461220000 msys-bz2-1.dll 00049FA70000 msys-lzma-5.dll 00048B870000 msys-zstd-1.dll 000562AC0000 IO.dll 00058FCC0000 Storable.dll 000483600000 _Delta.dll 0004522D0000 _Ra.dll 000545E90000 msys-svn_ra-1-0.dll 00051D540000 msys-svn_ra_local-1-0.dll 000571860000 msys-svn_ra_serf-1-0.dll 0004B3AF0000 msys-svn_ra_svn-1-0.dll 0005B0DB0000 msys-svn_repos-1-0.dll 0005A3480000 msys-svn_fs-1-0.dll 00044A810000 msys-serf-1-0.dll 000571E20000 msys-sasl2-3.dll 0005EFAB0000 msys-svn_fs_fs-1-0.dll 00054FD10000 msys-svn_fs_x-1-0.dll 0005FBAC0000 msys-svn_fs_util-1-0.dll 0004356F0000 msys-crypto-3.dll 7FF9B2BF0000 Secur32.dll 00059BBA0000 msys-ssl-3.dll 7FF9C0200000 SSPICLI.DLL 0004389C0000 _Wc.dll 00042A2C0000 msys-svn_wc-1-0.dll 0004FF0C0000 _Client.dll 00054A490000 msys-svn_client-1-0.dll 000410FF0000 Glob.dll 7FF9C1C30000 ws2_32.dll 7FF9BF9C0000 mswsock.dll 7FF9ABDA0000 SangforNspX64.dll 7FF9C21D0000 ole32.dll 7FF9C1CB0000 combase.dll 7FF9C1880000 OLEAUT32.dll 7FF9C1820000 SHLWAPI.dll 7FF9C16B0000 PSAPI.DLL 7FF9BF710000 DNSAPI.dll 7FF9BF6D0000 IPHLPAPI.DLL 7FF9C1AD0000 NSI.dll 7FF9B7F10000 rasadhlp.dll 7FF9B6A80000 fwpuclnt.dll 7FF9C0CA0000 bcrypt.dll

dscho commented 2 weeks ago

git svn init -s --prefix=svn/ --username=liuxiangtian http://localhost:48000/svn/{more svn addrs}

Sadly, this is not a verifiable reproducer because it only works for you, but not for others. Please try to find a public Subversion repository with which you can reproduce the issue.

NickLiu635 commented 2 weeks ago

git svn init -s --prefix=svn/ --username=liuxiangtian http://localhost:48000/svn/{more svn addrs}

Sadly, this is not a verifiable reproducer because it only works for you, but not for others. Please try to find a public Subversion repository with which you can reproduce the issue.

Sorry...