cygwin broke!

Opera で Adobe のとあるページを見たら、Windows ごと固まってしまったのである。マウスポインタは動くが、表示されているものは単なる絵になってしまった。何も反応しない。Ctrl+Shift+Esc (タスクマネージャのショートカット) も効かず、Ctrl+Alt+Del も効かない。

しかたがないので電源落とした。

Opera のバグかは定かではない。今日はそもそも PC の調子が悪かった。スリープから起こした時点から妙に PC 全体が重かったのだ。まるで 128MB しかメモリがない PC がスワップしながらかろうじて動作しているみたいだった。Opera は単に不安定な状態に最後の止めを刺しただけなのかもしれない。

で、困ったのは Cygwin が起動しなくなってしまったことなのだ。なにやら cygreadline7.dll のベースアドレスが違うよ的エラーが出る。readline まわりが初期化できないだけっぽいので ash は起動することは起動するのだが、なんだか気持ち悪い。

Cygwin が正しく起動しなくなったとき、それを解決するのはコマンドプロンプトで /bin/rebaseall である。というかぐぐっても rebaseall 以外の解法が見つからない。そんなわけで、Cygwin 関連のプロセスをすべて落とした上で管理者権限のコマンドプロンプトで ash を起動して rebaseall したのだが、しかしなお Cygwin は起動しない。rebaseall -v してみても cygreadline7.dll はリベースされてないようなのでさもありなんという感じだ。

ということで割と困ってしまったのだが、Cygwin の setup.exe を起動してみたところ、libreadline パッケージが新しくなっているようなので単に Cygwin 自体をアップグレードしたらとりあえず ash 自体は起動するようになったようだ。ふーん。うーん?

教訓: Cygwin がぶっこわれて、rebaseall してもダメなときは、起動しない原因となっている dll を含むパッケージを再インストールしてみる

Leave a Reply

Your email address will not be published. Required fields are marked *