2012-06-19 6 views
21

Iniziato di recente, praticamente ogni volta che provo a recuperare o eseguire il commit mi dà questo strano errore. Continuerà a cercare "refetch/recommit" fino a quando non mi arrenderò e CtrlC.Come risolvere l'errore "spazio indirizzo è già occupato" su fetch/commit?

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 

Qualche idea del motivo?

+0

C'è qualcosa che non va con la tua installazione cygwin In alternativa, puoi usare il [git build ufficiale] (http://git-scm.com/downloads) (che usa msys). –

+0

@MatthewFlaschen probabile, ho aggiornato Cygwin con altre cose. proverò – iCodeLikeImDrunk

risposta

11

Dai uno sguardo a this Cygwin FAQ section e this too. Nel mio caso la disabilitazione di Avast's Behavior e Filesystem Realtime shields e quindi il riavvio di Cygwind era la risposta.

Quindi, probabilmente, si stanno eseguendo programmi Windows che collegano le DLL in processi biforcati interrompendo gli indirizzi e causando così il malfunzionamento della forcella.

+1

Penso di aver avuto un comportamento simile con Microsoft Security Essentials. – DavidS

+0

Confermare questo problema con il monitoraggio del comportamento di Sophos: deselezionare il monitoraggio del comportamento, riavviare cygwin. – sCiphre

+0

Nel mio caso si trattava della protezione da virus e minacce di Windows 10 che causava il problema. – Koning

4

Ho avuto questo problema stesso fork() quando il mio programma antivirus, Symantec Endpoint Protection, è stato aggiornato a 64 bit, ma ero ancora in esecuzione la versione a 32 bit di Cygwin. 'Rebaseall' non ha aiutato. L'aggiornamento alla versione a 64 bit di Cygwin ha risolto il problema per me.

+0

Ho avuto problemi simili; stava avendo questo errore facendo un [git difftool -dirdiff] e non aveva riconosciuto che una nuova versione di SEP (32 bit) era installata e chiedeva di essere riavviata per completare l'installazione. Il problema è andato via dopo il riavvio e SEP è stato completamente installato. – Zodman

+0

Ho avuto un problema simile cercando di usare git svn per clonare un repository. Ha costantemente riferito che mysqlite.dll si trovava già in una determinata posizione di memoria. La riga di comando in mingw32 era qualcosa come "C: \ Programmi (x86) \ git \ git.exe" svn clone ..... comunque l'exe era racchiuso in dquotes. Così ho raschiato il comando e l'ho cambiato per dire solo svn git clone ..... e MAGIC: funziona. Quindi apparentemente l'uso del nome EXE completo nella shell stava invocando una seconda copia di git.exe che tentava di collocarsi nella stessa area di memoria o somesuch invece di girare nel proprio spazio – Allen

22

La ridefinizione dell'installazione di Cygwin ha risolto questo problema per me. Ho seguito il doc Rebaseall, in esecuzione trattino come amministratore da Windows Explorer e quindi rilascia la seguente:

/usr/bin/rebaseall -v 

P.S .: Nessun servizio Cygwin deve essere in esecuzione per questo lavoro.

+0

Questa era una soluzione temporanea per me. Risolto il problema solo per poche ore. – Rahman

+3

Aprire CMD dal menu Start, digitare ash ed eseguire il comando. – neves

Problemi correlati