git svn fetch / rebase错误:无法将msys-ssl-0.9.8.dll重新映射到与父级相同的地址 - 0x678F0000

时间:2014-01-10 18:36:59

标签: git perl dll git-svn msysgit

我最近开始在git svn fetchgit svn rebase上收到以下git错误,但其他本地git命令工作正常:

以下是详细的错误消息:

C:\Git\bin\perl.exe: ** unable to remap C:\Git\bin\msys-ssl-0.9.8.dll to same address as parent -- 0x678F0000
      0 [main] perl 1300 sync_with_child: child 7092(0x324) died before initialization with status code 0x1
    567 [main] perl 1300 sync_with_child: *** child state child loading dlls

环境:

  • git version 1.8.5.2.msysgit.0
  • 操作系统:Windows7 64位
  • SVN:1.8.4-SlikSvn-1.8.4-X64
  • Cygwin:我的机器上没有安装cygwin
  • 路径:C:\ Program Files(x86)\ RSA SecurID Token Common; C:\ WINDOWS \ system32; C:\ WINDOWS; C:\ WINDOWS \ System32 \ Wbem; C:\ Program Files(x86)\ Enterprise Vault \ EVClient \; C:\ Program Files(x86)\ 1E \ SMSNomad \; C:\ Pro gram Files(x86)\ WinMerge; C:\ work \ tools \ SlikSvn \ bin; C:\ Program Files \ TortoiseSVN \ bin;

我尝试了多种解决方案,包括将mysysgit从1.8.2升级到最新的1.8.5.2,但还没有运气。

8 个答案:

答案 0 :(得分:44)

此问题的根本原因及其任何变体是两个DLL已映射到同一地址,从而导致冲突。个别案件可以使用 rebase 来解决。

Msysgit 1.9.4-preview20140815包含a case of this issue with the libsvn_repos-1-0.dll and libneon-25.dll libraries。使用命令git svn会出现与问题中描述的类似的错误消息。

错误报告包含此解决方法:

Rebase to free regions via: (execute as Administrator)

rebase -b 0x64000000 bin/libsvn_repos-1-0.dll
rebase -b 0x64200000 bin/libneon-25.dll

git svn正常工作后。

其他情况应该以类似的方式解决,为发生问题的DLL选择空闲地址。

答案 1 :(得分:4)

不是最佳答案,但重新启动会为我修复它。

似乎与this issue有关,所以可能与地址空间有关。

答案 2 :(得分:2)

我在Windows Server 2008 R2上遇到与git 1.9.4-preview20140815相同的问题。重启没有帮助。

我已将git降级为1.8.1.2-preview20130201版本,它解决了一个问题。

答案 3 :(得分:1)

尝试卸载mysysgit并重新安装。对于我的情况,这解决了这个问题。

干杯

答案 4 :(得分:0)

我有类似的问题,我尝试重新启动我的机器,但它没有用。当我将GIT降级到1.8.5.2时它起作用了。

答案 5 :(得分:0)

同样的问题,所有对dll-addresses的重新定位都不适用于我。现在'Git Svn'再次为我服务。以下步骤解决了问题(Git 1.9):

1)卸载

2)重新启动

3)安装最新的git版本(2.7)

答案 6 :(得分:0)

我在使用git 1.9.5.msysgit.0的系统上遇到了类似的问题。

我在错误中报告的dll为libsvn_swig_perl-1-0

确切的错误是:
    C:\Git\bin\perl.exe: *** unable to remap C:\Git\bin\libsvn_swig_perl-1-0.dll to same address as parent -- 0x667B0000

在我的系统上,Git\bin\libsvn_swig_perl-1-0.dll的原始基址为0x666C0000666C0000 to 66790FFF)。

我设法用Git \ bin目录中的 rebase -b 0x667C0000 libsvn_swig_perl-1-0.dll 解决了这个问题(0x667C0000是我的原始基地加上随机0x00100000)。

查看dll当前基址的一种方法是使用 dumpbin / headers

答案 7 :(得分:-1)

我有同样的问题。重启没有帮助,降级没有帮助,但我做了 git reset --hard 它现在有效。

我知道这是副作用,但如果有人像我一样绝望......