本記事が対象とする現象
本記事は、Cygwin起動時における下記のエラー1~2を改善できる可能性があります。
私は数日前から本症状で困っておりましたが、このページの方法により無事復旧できました。本記事が同じ症状でお悩みの方の手助けになりましたら幸いです。
エラー1:minttyの表示
Error: Could not fork child process: Resource temporarily unavailable (-1).
DLL rebasing may be required; see ‘rebaseall / rebase –help’.
エラー2:Cygwin.bat実行時の表示
0 [main] bash (6100) D:\cygwin64\bin\bash.exe: *** fatal error – cygheap base mismatch detected – 0x11D7408/0x1187408.
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] bash 100 dofork: child -1 – forked process 6100 died unexpectedly, retry 0, exit code 0xC0000142, errno 11
bash: fork: retry: Resource temporarily unavailable
対応方法
Windows セキュリティの Exploit Protection にて「イメージのランダム化を強制する(必須ASLR)」をオフにすることで問題のエラーが発生しなくなりました。
手順
スタートメニューから「設定」を選択。
「更新とセキュリティ」をクリック。
「Windowsセキュリティ」をクリック。
「アプリとブラウザの制御」をクリック。
画面をスクロールして「Exploit Protection の設定」をクリック。
システム設定の中から「イメージのランダム化を強制する(必須ASLR)」を探します。
これがオンになっている場合はオフに設定します。
あとは指示に従いPCを再起動してください。
問題発生から解決まで
最初、私のメインPCを再起動したら、突然Cygwinが本ページ上部のエラー2を表示し動かなくなりました。その後、Cygwinを新規インストールしてminttyを起動したところエラー1が発生。
このエラーが発生したPCは、数日前にWindows Updateをした覚えはあるものの、再起動の直前まではふつうにCygwinを使えていましたので、Cygwin側の設定というよりはWindows側の設定に変化があったのではないかと思いネット検索を中心に調査をしました。
参考にさせていただいたページ
以下のページを参考にさせていただきました。