web-dev-qa-db-ja.com

git svn fetch / rebaseエラー:msys-ssl-0.9.8.dllを親と同じアドレスに再マップできません-0x678F0000

最近、git svn fetchまたはgit 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バージョン1.8.5.2.msysgit.0
  • OS:Windows764ビット
  • 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:\ Program Files(x86)\ WinMerge; C:\ work\tools\SlikSvn\bin; C:\ Program Files\TortoiseSVN\bin;

Mysysgitを1.8.2から最新の1.8.5.2にアップグレードするなど、複数のソリューションを試しましたが、まだうまくいきません。

23
Hemant

この問題とその変種の根本的な原因は、2つのDLLが同じアドレスにマップされているため、競合が発生していることです。個々のケースは、を使用して解決できます リベース

Msysgit 1.9.4-preview20140815には libsvn_repos-1-0.dllおよびlibneon-25.dllライブラリでのこの問題のケース が含まれています。コマンドを使用する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の空きアドレスを選択します。

44
AronVanAmmers

最善の答えではありませんが、再起動すると修正されました。

この問題 に関連しているようですので、おそらくアドレス空間に関連しています。

4
David

Windows Server 2008R2のgit1.9.4-preview20140815でも同じ問題が発生しました。再起動は役に立ちませんでした。

Gitをバージョン1.8.1.2-preview20130201にダウングレードしましたが、問題は解決しました。

2
msl

Mysysgitをアンインストールして再インストールしてみてください。私の場合、これで問題は解決しました。

乾杯

1
Akshay Lokur

Git1.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)でした。

私はなんとか問題を解決しました rebase -b 0x667C0000 libsvn_swig_Perl-1-0.dll Git\binディレクトリ内から(0x667C0000は私の元のベースとランダムな0x00100000です)。


Dllの現在のベースアドレスを確認する1つの方法は、 dumpbin /headers

0
gbr

同様の問題が発生し、マシンを再起動しようとしましたが、機能しませんでした。 GITを1.8.5.2にダウングレードしたときに機能しました。

0
praneeth

同じ問題、dllアドレスのすべてのリベースが私のために機能しませんでした。これで、「GitSvn」が再び機能します。次の手順で問題が解決しました(Git1.9)。

1)削除

2)再起動

3)最新のgitバージョン(2.7)のインストール

0
Unchained