2012-06-19 14 views
21

最近開始,基本上每次我嘗試抓取或提交它時都會給我這個奇怪的錯誤。它會不斷嘗試「重新提取/重新發送」,直到我放棄並且CtrlC如何解決「地址空間已被佔用」錯誤提取/提交?

C:\cygwin\home\git\new_trunk>git sf 
     1 [main] perl 760 child_info_fork::abort: address space needed by 'cygreadline7.dll' (0x960000) is already occupied 

C:\cygwin\home\git\new_trunk>git svn dcommit 
     1 [main] perl 2672 child_info_fork::abort: address space needed by 'cygreadline7.dll' (0x980000) is already occupied 

任何想法爲什麼會發生這種情況?

+0

你的cygwin安裝有些問題作爲替代,你可以使用[官方git build](http://git-scm.com/downloads)(它使用msys)來代替。 –

+0

@MatthewFlaschen可能,我更新了一些其他的東西cygwin。將嘗試 – iCodeLikeImDrunk

回答

11

看看this Cygwin FAQ sectionthis too。 在我的情況下禁用Avast的行爲和文件系統實時屏蔽和 然後重新啓動Cygwind是答案。

因此,您可能正在運行windows程序,它們將dll掛接到 分叉進程中,從而導致分叉故障。

+1

我認爲我經歷了與Microsoft Security Essentials類似的行爲。 – DavidS

+0

使用Sophos的行爲監控確認此問題 - 取消選中行爲監控,重新啓動cygwin。 – sCiphre

+0

我的情況是Windows 10的病毒和威脅防護引起的問題。 – Koning

4

當我的病毒掃描程序Symantec Endpoint Protection升級到64位時,我有同樣的fork()問題,但我仍在運行32位版本的Cygwin。 'Rebaseall'沒有幫助。升級到Cygwin的64位版本已經解決了我的問題。

+0

我有類似的問題;在執行[git difftool -dirdiff]時出現此錯誤,並且未識別出安裝了新版本的SEP(32位)並要求重新啓動以完成安裝。重新啓動後,問題就消失了,SEP完全安裝完畢。 – Zodman

+0

我有一個類似的問題,試圖使用git svn克隆回購。它無休止地報告說,mysqlite.dll已經在給定的內存位置。 mingw32中的命令行類似於「C:\ Program Files文件(x86)\ git \ git.exe」svn克隆.....無論如何exe被封裝在dquotes中。所以我颳了命令,並改變它只是說 svn git克隆.....和MAGIC - 它運行。顯然,在shell中使用完全限定的EXE名稱時,調用了git.exe的第二個副本,試圖將自己放入同一個內存區域或某些內存區域,而不是在自己的空間中運行 – Allen

22

重新安裝我的Cygwin安裝爲我解決了這個問題。我跟着DOC Rebaseall,短跑途中跑從Windows資源管理器管理,然後發出以下:

/usr/bin/rebaseall -v 

P.S:沒有Cygwin的服務應該運行這個工作。

+0

這對我來說是一個臨時解決方案。只修復了幾個小時的問題。 – Rahman

+3

從開始菜單打開CMD,輸入ash,然後運行命令。 – neves

相關問題