git - जीआईटी जीयूआई हर बार जब यह एक रिपॉजिटरी खोलता है तब क्रैश होता है




dll msysgit (5)

एक और विंडोज़ अपडेट और ओएस पुनरारंभ करने के बाद, समस्या गायब हो गई।

ऐसा लगता है कि अपडेट में से एक ने एक बग की शुरुआत की जो एक और में तय हो गई थी। या यह "चरण-के-चंद्रमा" बग हो सकता है

मुझे लगता है हम कभी पता नहीं चलेगा ...

कुछ दिन पहले, हर बार जब मैं एक रिपॉजिटरी में जीआईटी जीयूआई शुरू करता हूँ, यह इस भयावह त्रुटि संदेश को प्रदर्शित करता है और ठीक होने पर मुझे क्लिक करता है:

prepare-commit-msg hook failed:

      0 [main] us 0 init_cheap: VirtualAlloc pointer is null, Win32 error 487
AllocationBase 0x0, BaseAddress 0x68560000, RegionSize 0x260000, State 0x10000
C:\Program Files (x86)\Git\bin\sh.exe: *** Couldn't reserve space for cygwin's heap, Win32 error 0

You must correct the above errors before committing.

यह केवल जीआईटी जीयूआई के साथ होता है और केवल तब होता है जब भंडार में (पुराने या नव निर्मित एक)। प्रतिबद्ध कार्य सहित दंड में आम आज्ञा ठीक काम करते हैं।

नए पैकेज (केवल मामूली संस्करण में परिवर्तन) के साथ स्थापना और पुन: स्थापित करने से समस्या दूर नहीं हुई। यह अभी भी पुराने भंडार के साथ-साथ नव निर्मित लोगों के साथ भी होता है

एक साफ मशीन पर यह समस्या पुन: उत्पन्न नहीं करती है, इसलिए मुझे लगता है कि यह मेरे बॉक्स पर कुछ है, लेकिन मुझे कोई अजीब तरीके से स्थापित करना याद नहीं है। मुझे याद है कि लंबे समय के बाद अपने बॉक्स को बंद करना संभव है, इसलिए शायद कुछ विंडोज़ अपडेट ने इसे ट्रिगर किया हो सकता है - यह भी समझाएगा कि दूसरी मशीन क्यों नहीं पीड़ित है - यह पिछले विन अपडेट से 2-3 महीने है।

कोई विचार कैसे इस में प्रकाश डालना है? (जैसा कि मैं इसे केवल एक मशीन पर देख सकता हूं, मुझे यह आधिकारिक ट्रैकर भेजने से पहले ऐसा नहीं लगता है कि यह मेरे / अन्य ऐप की गलती नहीं है ...)

पहली टिप्पणियों के बाद अपडेट करें :

  • यदि आप हुक स्क्रिप्ट को हटा देते हैं या उसका नाम बदलते हैं, तो क्या यह काम करता है?

    अजीब बात है, लेकिन हुक स्क्रिप्ट वास्तव में बिल्कुल मौजूद नहीं है (कोई हुक स्क्रिप्ट मौजूद नहीं है - केवल * .git \ hooks में *। नमूना फ़ाइलें हैं)। कहीं भी नहीं (जीआईटी प्रोग्राम डायर, आदि)

  • इसे ट्रेस करें ताकि आप जान सकें कि यह किस प्रकार चला गया - git-bash run git gui --trace

    अफसोस की बात है कि यह खोल करने के लिए कुछ भी उत्पादन नहीं करता है। व्यवहार समान है

  • शायद वहां जीडीबी मिलें

    मैंने कोशिश की लेकिन gdb कुछ उपयोगी उत्पादन नहीं किया। हालांकि, मुझे GDB के साथ कोई अनुभव नहीं है, मैं शायद यह गलत कर रहा हूं। मुझे एक मिनजीडब्ल्यू जीडीबी मिला, यह कमांड प्रॉम्प्ट से तर्क के रूप में git.exe के साथ run gui गया और फिर run gui गया जीडीबी कुछ भी दिलचस्प उत्पादन नहीं था:

    (gdb) run gui
    Starting program: C:\Program Files (x86)\Git\bin\git.exe gu
    [New Thread 8264.0x1ce4]
    [New Thread 8264.0x394]
    [Inferior 1 (process 8264) exited with code 01]
    (gdb)  
    

    लेकिन मुझे यकीन है कि मैं यह गलत कर रहा हूं, इसलिए स्वागत से अधिक सलाह है :)

  • सुनिश्चित करें कि आपके पास साइगविन स्थापित नहीं है या कम से कम यह आपके पाथ में मौजूद नहीं है

    मेरे पास साइगविन स्थापित है (जैसा कि मैंने हमेशा किया था, इससे पहले कि git तोड़ दिया)। सिगविन से मुझे कुछ *। बैट लांचर और कुछ *। Dll फ़ाइलों में ही पथ है, लेकिन मैंने ProcMon से यह जाँच लिया है कि यह उन्हें स्पर्श नहीं करता और यहां तक ​​कि अगर मैं उन्हें पथ से हटा देता हूं, तब भी मुझे एक ही दुर्घटना मिलती है।


मुझे Win64 मशीन पर 1.8.0 स्थापित करने के बाद यह वही समस्या हो रही थी। मैंने 1.8.0 को हटाने और 1.7.11 को स्थापित करके इस समस्या का समाधान किया


मैं भी इस में भाग गया, और यह इसलिए था क्योंकि मैकटाइप bash.exe और msys1.0.dll से हस्तक्षेप कर रहा था। (मैक टाईप विंडोज के लिए एक फंट चौरसाई कार्यक्रम है जो ओएस-एक्स शैली फ़ॉन्ट रास्टराइज़ेशन का अनुकरण करने की कोशिश करता है।) केवल प्रोग्रामों पर ही मैकटाइप को सक्षम करने की आवश्यकता है, और कंसोल 2 विंडो पर नहीं जो कि bash.exe को लोड करने का प्रयास कर रहा था।

हो सकता है कि किसी और को त्रुटि ठीक करने में मदद मिलेगी।


बस अपनी C:\ ड्राइव पर सभी msys-1.0.dll लिए खोज करें, और Git द्वारा उपयोग किए जाने वाले को पहले आता है।

मेरे मामले में, मैंने बस का क्रम बदल दिया:

C:\prgs\Gow\Gow-0.7.0\bin\msys-1.0.dll
C:\prgs\git\PortableGit-1.8.5.2-preview20131230\bin\msys-1.0.dll

गिट पथ C:\prgs\git\PortableGit-1.8.5.2-preview20131230\bin\ पहले मेरे %PATH% में आने से, त्रुटि संदेश गायब हो गया!

पुन: रिबूट करने या डॉस सत्र को बदलने की कोई आवश्यकता नहीं है।
एक बार %PATH% को उस डॉस सत्र में अपडेट किया जाता है, तो git कमांड केवल काम करता है


मुझे भी यही समस्या थी। मेरे लिए काम करने वाला समाधान लगभग उसी के जैसा था जिसे एक्सैंड्र्ड्यूड ने सुझाया था

c:\msysgit\bin>rebase.exe -b 0x50000000 msys-1.0.dll

समाधान यहाँ समझाया गया है http://jakob.engbloms.se/archives/1403

मेरे लिए समाधान थोड़ा अलग था। ये था

C:\Program Files (x86)\Git\bin>rebase.exe -b 0x50000000 msys-1.0.dll

आशा है कि ऐसे लोगों की मदद करता है जो समस्या को गुगल करने की कोशिश कर रहे हैं






msysgit