2012-07-10 8 views
15

を開くたびにクラッシュし、私はリポジトリにGitのGUIを起動するたびに、それはこの恐ろしいエラーメッセージが表示され、私は[OK]をクリックした後に終了します。GitのGUIは、それが数日前からリポジトリ

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. 

それだけ起こりますGit GUIを使って、リポジトリ(古いものや新しく作成されたもの)のときのみ。 Git Bashの一般的なコマンドはコミット作業を含め、うまく動作します。

新しいパッケージをアンインストールして再インストール(マイナーバージョン変更のみ)しても問題は解決されませんでした。それは、古いリポジトリだけでなく、新しく作成されたリポジトリでも起こります。

クリーンなマシンでは、この問題は再現されないので、私の箱には何かがありますが、面白いものをインストールすることは覚えていません。私は長い時間が経ってからボックスを消してしまったことを覚えています。だから、Windows Updateによってこれが引き起こされたかもしれません。それは他のマシンがなぜ苦しんでいないのかを説明します。

これに光を当てる方法はありますか? (私は単一のマシン上でそれを見ることができるように私はそれが私の/他のアプリのせいではありません知っている前に、私は公式のトラッカーにそれを提出するように感じることはありません...)


更新は、最初のコメントの後に:

  • あなたはフックスクリプトを削除するか、名前を変更した場合、それは動作しますか?

    十分おかしいが、フックスクリプトは、実際には(何のフックスクリプトが 存在しない - .git \フックで唯一* .sampleファイルがあります)すべてに存在しません。さえ他の場所(gitのプログラム DIRなど)

  • トレースそれはそうあなたはそれが走ったコマンドを知っている - のgit-bashの実行からシェルに悲しいことに、この出力しません何もgit gui --trace

    。行動は同じです。

  • おそらくそこにgdbがあります。

    gdbは何も役に立ちませんでした。しかし、私はGDBで の経験がありません。おそらく間違っています。私はMinGW's gdbを得て、コマンド からgit.exeを引数として実行し、run guiを実行しました。 gdbが面白い何 出力しませんでした:

    (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が壊れた前に、)cygwinのはそれが私はcygwinのインストールされていないすべての

    であなたの PATHに存在しないことを少なくともインストールしますか。Cygwinから私は にいくつかの* .batランチャーといくつかの* .dllファイルしか持っていませんが、 ProcMonでチェックしました。

+1

グーグルしようとしている人々を助け、それを願っていたのですか? '.git/hooks/prepare-commit-msg' – fork0

+2

git-bashから' git gui --trace'を実行して、どのコマンドが実行されたのかを知るためにトレースします。 prepare-commit-hookを実行すると、実行されるコマンドが発行され、そのコマンドを参照してさらにデバッグ情報を調べることができます。おそらくそこにgdbを入れてください。 Cygwinのヒープについて不平を言うという事実は疑わしい。 cygwinがインストールされていないか、少なくともPATHには存在しないことを確認してください。 cygwinとmsysは混在しません。 – patthoyts

+0

@patthoyts、fork0ポインタをありがとう、返信でQを更新 –

答えて

3

別のWindows UpdateおよびOSの再起動後、問題は消えました。

アップデートの1つが、別のもので修正されたバグを導入したようです。それとも、 が「フェーズ・オブ・ザ・ムーン」のバグになる可能性があります。

私たちが知っていることは決してないだろうと思い

...

2

私はWin64のマシン上で1.8.0をインストールした後、この同じ問題を得ていました。私は1.8.0を削除し、同様に私が持っていたこの問題を1.7.11

+0

残念ながら、OPはバージョンを指定していないので、あなたの報告書とあなたのケースを比較することはできません。 –

9

をインストールすることで問題を解決し

私はどうやらこれが原因で発生し

http://support.code-red-tech.com/CodeRedWiki/VirtualAllocPointerNull

でそれを解決してきました

いくつかの機能、およびDLLを交換するウェブサイトがダウンしている場合には、ほとんどの人

のためにそれを修正 -


仮想のAllocポインタがヌルである

非常にまれに、このようなエラーになることがあり、メイクを実行している:これは、顧客の小さな少数派に影響を与える問題があり、かつ依存

0 [main] us 0 init_cheap: VirtualAlloc pointer is null, Win32 error 487 
AllocationBase 0x0, BaseAddress 0x71110000, RegionSize 0x350000, State 0x10000 
\msys\bin\make.exe: *** Couldn't reserve space for cygwin's heap, Win32 error 0 

同時に実行している他のアプリケーション

これは、製品のビルド環境を提供するために使用するMSYSバイナリの機能によって発生します。

この場合、ファイル \ msys \ bin \ msys-1.0.dll を添付のzipファイルに置き換えることができます。 msys-1.0.zip

これは問題を解決するのではなく、DLLのベースアドレスを移動することに注意してください。 残念ながら、この代替DLLでもエラーが発生する可能性があります。これは、実行中の他のアプリケーションによっても変わります。


+1

チャームのように働いた! – sepehr

+1

それは働いた!ありがとう! –

+0

実際の問題の手掛かりかもしれませんが、cliを閉じて再オープンすると、この問題が解消されました。これは、長い間正しく動作した後にのみ発生しました。私の場合、私は先にコミットの数が異なる2つのリモコンを持っていました。再度起こった場合、dllを置き換えます。ありがとう – isimmons

3

MacTypeがbash.exeとmsys1.0.dllを妨害していたため、この問題も発生しました。 (MacTypeは、Windows用のフォントスムージングプログラムで、OS-Xスタイルのフォントのラスタライゼーションをエミュレートしようとしています)必要なプログラムのみでMacTypeを有効にし、bash.exeをロードしようとしていたConsole2ウィンドウでは使用できません。

他人がエラーを修正するのに役立つかもしれません。

1

C:\ドライブのmsys-1.0.dllをすべて検索して、Gitで使用するものが最初に来るようにしてください。私の場合は

が、私は単にの順序変更:C:\prgs\git\PortableGit-1.8.5.2-preview20131230\bin\は私の%PATH%で最初に来る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 

を、エラーメッセージが消えました!

リブートしたり、DOSセッションを変更したりする必要はありません。
DOSセッションで%PATH%が更新されると、gitコマンドが機能します。

10

これは私のために働いた。

http://www.trinitycore.org/f/topic/5194-msysgit-couldnt-reserve-space-for-cygwins-heap/

ソリューション:

変更msysgit.dll

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

+0

私のために働く、Windows 7 64ビット、git 1.9.4 – jasonslyvia

+0

私はどのようなrebaseがdllと関係がないのか分かりませんリベースが必要な場合はソース管理下にあります)が、気にしません。それは動作します:) –

+0

Windows 10で壊れたGitHubデスクトップクライアントのために働く –

3

のベースアドレス、私は同じ問題を抱えていました。ソリューションは、私の解決のためにここにhttp://jakob.engbloms.se/archives/1403

説明されてXandrGuard

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

によって提案されたものとほぼ同じだった私のために働いた溶液はわずかに異なっていました。

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

は、それはあなたがそれが動作しない、フックスクリプトを削除するか、名前を変更した場合、問題

+0

'ReBaseImage(msys-1.0.dll)は最後のエラーで失敗しました= 2 ' これを再実行すると、Git GUIアプリケーション – JPeroutek

+0

を直接指しているので、管理者がコマンドプロンプトからそのトリックを実行しました。 – df778899

関連する問題