かってきままな日々
2020-01-20 (Mo) [長年日記]
_ Emacs freeze
PR をマージした直後から、私の手元では 100% フリーズしてたんだよね。
で、それを伝えて、とりあえず revert する PR を上げてくれたから、 それをマージ。症状は起きなくなった。
んで、症状をデバッグしてみようかと、100% フリーズした commit を git clone して、 ビルドしてみたんだけど、さっぱり症状が起きない。
おかしいなぁ... ネットワークの調子がたまたま悪かった?
このまま数日間使ってみよう。起きなければ、revert を revert しよう。
で、今日 revert した。そうすると、何故か再現する freeze… orz
その後いろいろ調査したところ、
フリーズしなくなった時は、ビルドにミスったのではないかと。
フリーズするバージョンは、./src/emacs < /dev/null
で起動すると、
必ず (フリーズしてない時も) CPU 100% になってる。
./src/emacs
で起動すると問題ない。
CPU 100% になるバージョンとならないバージョンの違いは、
add_keyboard_wait_descriptor (0);
をしてるかどうか。これをすると cpu 100% になる。
0 って stdin だから、< /dev/null
を付けた時と付けない時とで
症状が違うって点に、すごく関係がありそう。
とりあえず、PR くれた人にも、同様の症状が起きるか確認依頼を投げた。 こっちはこっちでデバッグしてみないと。