ToDo:
久々に遭遇したのだが、device probe/attachフェーズからpanicしてそのままリブートする流れで、早すぎて読めない orz
環境 | revision | Bootable? |
Desktop 10.1-STABLE | 275815 | OK |
Note 10.1-STABLE | 276192 | OK |
Desktop 10.1-STABLE | 276198 | NG |
10-stable の履歴を確認するかぎり最終の変更は 276179 なので Noteと結果が異なるのが謎
ドライバ回りのエラッタ混入か?
src/sysの revision的には、Desktopで動いていた状態は 275807相当で、 動かない状態は 276179相当
あとは、bisectするしかないか?
2017/12/18 r456561適用後のportupgrade後にX server再起動でjisx0208フォントを認識しない状況が発生
更新前のlibXfont-1.5.2へ巻き戻すと元に戻るので、1.5.2から1.5.4の差分で退行している?
1.5.4に入っているCVE-2017-16611の修正で、フォントファイルオープン(src/fontfile/fileio.c)時にO_NOFOLLOWが付与された結果、.pcf.gzがシンボリックリンクなものが表示できなくなっている
portsから入れているフォントに関しては、ports側を修正すべき (copyにするかハードリンクに切り替える)
loader tunable(machdep.hyperthreading_allowed=0)でHTTをdisableした状態で、起動するとsysctl(3)のENOMEMエラーで起動しない件だが、 kern.cp_times sysctlが返す配列サイズがhw.ncpuでは無く、kern.smp.maxid+1で決まっているためにsysctl(3)呼び出し時のバッファサイズ不足で落ちる
有効なcp_timesは、先頭のhw.ncpu個分だけなので、バッファ確保時とsysctl(3)呼び出し時の長さにkern.smp.maxid + 1を用いれば解決する (maxidなので、0から始まるcpu番号の最後で +1しないと個数にならない)
ちなみにkern.smp.cpusはhw.ncpu同様に現時点で有効なthread数になっている模様
別解として、+1するのが面倒ならkern.smp.maxcpusを使うという手もある(標準だと256で、Ryzen TR2 2950Xだと高々8倍なので対した消費ではないはず)
srcツリーの配布ルートがSubversionからGitに切り替えられたので、ごそごそ対応作業実施…
ローカルの差分やらkernel config抱えたツリーのアップデートが面倒になりそうな予感…
あと、Gitには単調なrepository revisionが無いので、kernelに埋め込む revisionタグはどうするのだろう? CURRENT/STABLE回りで不具合調査する際には、revision番号で2分探索とかするのに便利なのですがねぇ…
mergemasterは、/usr/srcから作ったetcと/etcのコンテンツの変更検知トリガーにFreeBSDタグに展開される revisionを使っていた気がする
/etc/groupとか/etc/master.passwdなんかだと、配布状態と異なっていても配布状態と等しいFreeBSDタグが入っていると更新対象にならなかった気がするのだが、この辺どうするんだろう…
カテゴリー: Admin | Emacs | EPICS | Fortran | FreeBSD | GCC | hgsubversion | IPv6 | KEKB | LHC | Lisp | LLVM | MADX | Ryzen | SAD | samba | tDiary | unix | WWW | YaSAI | お仕事 | イベント | 出張 | 宴会 | 数学 | 艦これ | 買いもの | 追記 | 雑記