2016-01-23 11 views
17

Git है मुझे इस त्रुटि दे रहाGithub/Cygwin त्रुटि: cygheap आधार बेमेल का पता चला

0 [main] sh (47116) C:\Users\Marcus\AppData\Local\GitHub\PortableGit_c7e0cbde92ba565cb218a521411d0e854079a28c\usr\bin\sh.exe: *** fatal error - cygheap base mismatch detected - 0x11C7400/0x1297400. 
This problem is probably due to using incompatible versions of the cygwin DLL. 
Search for cygwin1.dll using the Windows Start->Find/Search facility 
and delete all but the most recent version. The most recent version *should* 
reside in x:\cygwin\bin, where 'x' is the drive on which you have 
installed the cygwin distribution. Rebooting is also suggested if you 
are unable to find another cygwin DLL. 
    0 [main] sh 42052 fork: child -1 - forked process 47116 died unexpectedly, retry 0, exit code 0xC0000142, errno 11 
/mingw32/libexec/git-core/git-sh-setup: fork: retry: No child processes 
This problem is probably due to using incompatible versions of the cygwin DLL. 
Search for cygwin1.dll using the Windows Start->Find/Search facility 
and delete all but the most recent version. The most recent version *should* 
reside in x:\cygwin\bin, where 'x' is the drive on which you have 
installed the cygwin distribution. Rebooting is also suggested if you 
are unable to find another cygwin DLL. 
    0 [main] sh 42052 fork: child -1 - forked process 47116 died unexpectedly, retry 0, exit code 0xC0000142, errno 11 
/mingw32/libexec/git-core/git-sh-setup: fork: retry: No child processes 

बातें मैं कोशिश की है में शामिल हैं:

  • C:\cygwin और C:\cygwin64 से cygwin को हटाने और
  • फिर से स्थापित करने अनइंस्टॉलर और इंस्टॉलर का उपयोग कर जिथब को पुनर्स्थापित करना।
  • जिथब को अनइंस्टॉल करना और मैन्युअल रूप से अपने स्थानीय और रोमिंग एपडाटा फ़ोल्डर्स को हटाने और पुनर्स्थापित करना।
  • कंप्यूटर को रीबूट करने
  • C:\cygwin को रीबूट करते हुए, यह सफल हुआ, लेकिन किसी भी समस्या को ठीक नहीं किया।
  • %appdata%\Local\Github\PortableGit_c7e...\. को रिबेस करने से यह फिर से मूल त्रुटि लौटा दी।

संदर्भ के लिए, मैं विंडोज 10 64 बिट चला रहा हूं। एकमात्र अन्य सवाल मुझे पता चला कि पिन ने उस त्रुटि को इंगित किया है जिसे मैं कभी भी समाधान तक नहीं पहुंचा रहा हूं: link here

मुझे यकीन नहीं है कि विंडोज़ को पूरी तरह से पुनर्स्थापित करने से कहीं और क्यों जाना है, किसी भी मदद की सराहना की जाएगी।

उत्तर

12

git-for-windows (based on msys2) से खोल सिग्विन या msys2 के एक अलग स्थापित करने के लिए नहीं है।

GitHub Desktop एक old git-for-windows (2.5.3, Sept. 2015)

एक Git बैश सत्र के लिए उपयोग करता है, आप Cygwin या GitHub डेस्कटॉप जरूरत नहीं है।

Uncompress latest git-for-windows azrchive you can find:

तब:

cd c:\prgs\git 
mklink /J latest PortableGit-2.7.0-64-bit 
set GIT_ROOT=c:\prgs\git\latest 
set PATH=%PATH%;%GIT_ROOT%;%GIT_ROOT%\bin;%GIT_ROOT%\cmd;%GIT_ROOT%\us`\bin 

फिर आप एक linux आधारित बैश सत्र शुरू करने के लिए टाइप करने के लिए git-bash सक्षम हो जाएगा।

या एक नियमित रूप से CMD खोल सत्र से, आप 200 से यूनिक्स के लिए उपयोग आदेशों होगा (curl, cat, xargs, ls, ...)।
सिगविन की कोई आवश्यकता नहीं है।

+0

धन्यवाद! यह एक बड़ी मदद है और निश्चित रूप से इस मुद्दे को हल करती है। अब मैं कमांड लाइन, पावरहेल, और गिट बैश से गिट का उपयोग कर सकता हूं! लेकिन अगर आपको कोई फर्क नहीं पड़ता है तो मेरे पास थोड़ा सा फॉलो अप है? नए काम करने वाले गिट कमांड को पहचानने के लिए मुझे गिटूब कैसे प्राप्त करना चाहिए? क्योंकि अगर मैं अपने पोर्टेबल गिट को नए कामकाजी के साथ बदलने की कोशिश करता हूं, तो यह इसे ओवरराइट करता है और त्रुटियां उत्पन्न होती हैं। –

+0

@MarcusGosselin मैंने गिटहब डेस्कटॉप में पहले गिट को बदलने की कोशिश की और ... मैंने आपके द्वारा किए गए एक ही मुद्दे का सामना किया: http://stackoverflow.com/a/33703716/6309। मैं एक स्वतंत्र खोल खोलना पसंद करता हूं (जिसे मैं नियंत्रित करता हूं) जहां मैं इच्छित गिट का उपयोग कर सकता हूं। – VonC

+0

मुझे भी एक ही समस्या का सामना करना पड़ता है, लेकिन जब मैंने गिटहब डेस्कटॉप से ​​गिट खोल को एक्सेस किया। जब मैं एक स्टैंडअलोन पावरहेल से एक निर्देशिका खोलता हूं, तो गिट ठीक काम करता है। कोई विचार? –

2

मेरे लिए ठीक इसी तरह की एक त्रुटि ffmpeg $ ./configure ...

License: LGPL version 2.1 or later 
Creating config.mak, config.h, and doc/config.texi... 
     1 [main] cmp (5984) C:\Program Files\Git\usr\bin\cmp.exe: *** fatal error - cygheap base mismatch detected - 0x180326400/0x180330400. 
This problem is probably due to using incompatible versions of the cygwin DLL. 
Search for cygwin1.dll using the Windows Start->Find/Search facility 
and delete all but the most recent version. The most recent version *should* 
reside in x:\cygwin\bin, where 'x' is the drive on which you have 
installed the cygwin distribution. Rebooting is also suggested if you 
are unable to find another cygwin DLL. 

मतलब था "आप MSYS2 का उपयोग कर लेकिन वितरित cmp.exe फ़ाइलें, जो जाहिरा तौर पर व्यर्थ कर रहे हैं गलती से कुछ Git के लिए खत्म हो नाकाम रहने का निर्माण करने की कोशिश कर रहे हैं" (वोनसी का जवाब देखें)।मेरे मामले में

फिक्स: उन्हें MSYS2 उचित में स्थापित:

$ pacman -S make 

$ pacman -S diffutils # for cmp package 
+1

इसलिए आपका संपादन एक असंगत msys2 स्थापना का उल्लेख करता है। समझ गया। +1 – VonC

0

MSYS2 में कुछ संकुल आप स्थापित एक्स के विरोध में हैं: \ cygwin \ बिन, तो बस सिस्टम वातावरण में MSYS2 पथ को नष्ट

3

रीबूटिंग ने इसे मेरे लिए तय किया। विंडोज़ के लिए गिट को अपग्रेड करने के कारण मुझे शायद यह त्रुटि मिली। किसी अन्य पागल चीजों को करने से पहले रीबूट करने का प्रयास करें!

3

मुझे एक बहुत ही समस्या थी, लेकिन न तो पुन: प्रारंभ और न ही गिट या साइगविन को पुनर्स्थापित करने में मदद मिली। मैं हमेशा मिल गया:

 1 [main] sh (12220) C:\Program Files\Git\usr\bin\sh.exe: *** fatal error - cygheap base mismatch detected - 0x37C7408/0x38E7408. 
This problem is probably due to using incompatible versions of the cygwin DLL. 
Search for cygwin1.dll using the Windows Start->Find/Search facility 
and delete all but the most recent version. The most recent version *should* 
reside in x:\cygwin\bin, where 'x' is the drive on which you have 
installed the cygwin distribution. Rebooting is also suggested if you 
are unable to find another cygwin DLL. 
     0 [main] sh 6928 fork: child -1 - forked process 12220 died unexpectedly, retry 0, exit code 0xC0000142, errno 11 
C:\Program Files\Git\mingw64/libexec/git-core\git-stash: fork: retry: Resource temporarily unavailable 

मुझे थोड़ी देर के लिया यह पता लगाने की है कि यह शुरू कर दिया बाद मैं संबंधित एक खिड़कियों बग के बारे में पढ़ा "सिस्टम चौड़ा अनिवार्य ASLR", और कैसे विंडोज यूआई के माध्यम से उपलब्ध सेटिंग की स्थापना नहीं कर रहे थे करने के लिए उचित रजिस्ट्री कुंजी। इस रजिस्ट्री प्रविष्टि जोड़ने, cygwin forking के आधार पर अपने को अधिक सुरक्षित प्रणाली बनाने के बाद तोड़ दिया:

Windows Registry Editor Version 5.00 
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\kernel] 
"MitigationOptions"=hex:00,01,01,00,00,00,00,00,00,00,00,00,00,00,00,00 

स्रोत:। Clarifying the behavior of mandatory ASLR

कि Git-गुप्त कोष के परिणामस्वरूप अब और काम नहीं कर रहा, और न ही cygwin काम कर रहा है (जो मैं बाद में स्थापित निकाला जा रहा है कि रजिस्ट्री कुंजी फिर से समस्या का समाधान हो

+1

इसी तरह के मामले यहाँ! मुझे लगता है कि विंडोज 10 फॉल क्रिएटर अपडेट विंडोज डिफेंडर में नए "एक्सप्लॉयट प्रोटेक्शन" सेटिंग्स पैनल के साथ भेज दिया गया है, जिसमें से एक "अनिवार्य एएसएलआर" है। यह डिफ़ॉल्ट रूप से अक्षम है, लेकिन मैंने इसे कुछ समय पहले सक्षम कर दिया है, और यह 'गिट स्टैश' तोड़ दिया है। इसे अक्षम करने और विंडोज को पुनरारंभ करने से समस्या हल हो गई। –

0

अक्षम Force randomization for images (mandatory ASLR) आपके सिस्टम के विंडोज डिफेंडर सुरक्षा केंद्र में या exclude ASLR for git executables:।।

Get-Item -Path "C:\Program Files\Git\usr\bin\*.exe" | %{ Set-ProcessMitigation -Name $_.Name -Disable ForceRelocateImages } 
+2

यह एक सीमा रेखा [लिंक-केवल उत्तर] है (// meta.stackexchange.com/q/8231)। आपको यहां अधिक जानकारी शामिल करने के लिए अपने उत्तर का विस्तार करना चाहिए, और केवल संदर्भ के लिए लिंक का उपयोग करना चाहिए। –

संबंधित मुद्दे