git-svn fails with fatal error: unable to remap
Git‘s nice Subversion (SVN) integration is one of the reasons I switched to using it within our company for my own revision control besides our official repository. Unfortunately, upgrading cygwin broke my system once again:
$ git svn dcommit
6 [main] perl 4760 C:\cygwin\bin\perl.exe: *** fatal error - unable to remap C:\cygwin\lib\perl5\site_perl\5.8\cygwin\auto\SVN\_Core\_ Core.dll to same address as parent(0x260000) != 0x990000 84 [main] perl 3224 fork: child 4760 - died waiting for dll loading, errno 11 panic: MUTEX_LOCK (45) [util.c:2331] at /usr/bin/git-svn line 787. panic: MUTEX_LOCK (45) [op.c:352].
The reason behind this behavior is a huge difference in the way processes and threads and libraries are created/handled on Windows and Linux. git-svn relies on perl within cygwin and several perl libraries that use the same base-address for libraries internally. Of course, no two libraries can be loaded to the same base-address at the same time.
Long explanation, short way to fix the problem:
- Quit all cygwin processes
- Start ash (<cygroot>\bin\ash.exe) (<edit>Use “Run as Administrator…”</edit>)
- Execute /usr/bin/rebaseall
Voilla, that’s all. git-svn should work again.
I am Software Engineer and partly self-employed. I am currently focused around C++ and Java on Linux, but previously used to develop mainly for Windows on the Microsoft .NET platform, and sometimes Python and PHP for web applications. I consider myself being a Linux enthusiast. (
Thank you very much for this! I tried googling for my errors and I couldn’t find anything but after just searching for git svn windows I happened upon this post. My exact issue, solved!
Glad it helped you!
Thanks! That helped me getting git-svn working.
Great, thanks for documenting this.
Thank you so much. It did worked for me
FYI: ash needs to run as Administrator when UAC is on.
This only works for me in 1 of 10 tries.
+1 on running as an Administrator. It didn’t complain about running without admin rights, but git didn’t continue working until I did so.
Thanks for this tip. It worked great for me.