問題がある程度見えたの記録。

さて、先日の記録にて、MicropcのXがフリーズしてしまった件について。

上の絵を見てもらうと分かりづらいかもしれませんが画面の中央にマウスカーソルが存在し、左したに白いドットがあります。表示はここでとまり、キーボードやマウスを受け付けずコンソール側からでは操作不可となりました。

外出先でPCがないと不安になり、そろそろ問題を解決しようと調査を本格的にしてみました。

■問題になった事象のきっかけは?

FreeBSDバージョンを11.2 -> 12.2へあげたことが原因と思われる。

アップグレードの方法はいつも通りで、freebsd-updateコマンドを使用し、12.2Rへアップデートを実施。ソースコードもダウンロードして再コンパイル後、pkgのアップグレードを敢行。

で、このありさまになりました。

■これは何によって起こっているのか切り分け。

最初のころは、Xなので、Xorg.0.logのエラーメッセージを見れば分かるだろう程度したが、(EE)が出てこない。

困った。すこぶる困った。っとのとなので、driverをscfbからintelへ変更してみたが、X自体が起動しなかったり、同じ現象だったりと進展なし。

そこで、回転(rotate)のオプションを外してみると、Xが正常に起動することが判明。

ここで回転関連が怪しいとあたりをつけました。

■Xorg.0.logとscfbにデバッグログを追加。

上の絵を見ると、赤系と緑系に分かれているのがわかり、赤の分は問題が発生した際に表示されたログとなり。

緑は正常にXが動いた時に出力されたログの「続き」となっている。

そう、ドライバが回転処理を実施した際に止まったことが判明しました。

ではこの解決としてドライバを修正するればいいのですが、面倒なのと時間がかかるので、ドライバを1つ前の正常に起動していた物に変更することにしました。

調べてみると、scfbのバージョンが0.0.4 → 0.0.5に変更され構造も大きく変わっていました。

そこで、0.0.4を使用するべく11.3Rでインストール。

動きました。

今は、ひたすらこの動いた環境にアプリやライブラリのコンパイルしています。

音や動画チェックはまた今度。

明日は、出勤なのでめんどくさい・・・