ToDo:
SADの Cパートを ISO C99規格で厳格にチェックし始めると、 エラーが大量に出て凹む。 EPICS Channel Access周り以外は、ほぼ修正完了
ただし、各OS毎の include headerサポート状況が異なり config/*.specの修正が泥沼... Orz
FreeBSDは、何もしないと POSIX, X/OPEN等の最新規格 + BSD拡張な include headerが提供される。で、_POSIX_C_SOURCEや _XOPEN_SOURCE マクロがあると、定義された分だけ提供する。 つまり、_POSIX_C_SOURCEや _XOPEN_SOURCEを下手に定義すると 一部の関数や typedefが提供されなくなります。
対して、Linuxは _POSIX_C_SOURCE, _XOPEN_SOURCEを明示的に 定義しないと 新しい規格に対する include headerの機能が 活性化しない...
先日の freezeの続き
kdb.enterイベントの種別は、sys/sys/kdb.hに定義されている KDB_WHT_UNSETを除くと名前がついてるイベントは以下のとおり(stable/9 rev.228485)
kdb.enter.defaultに resetを仕込むと再起動するようなので、 kdbに突入していることは確実なので、標準でdump&resetになるpanic以外の どの イベントでkdbに突入したかを洗い出そうと調査中
kdb.enter.camとkdb.enter.vfslockに reset仕込んだ状態で freezeしたので、それ以外ぽぃ orz
amd64なシステムで発生しないはずのイベント
kernelに組み込んでないので発生しないはずのイベント
明示的な呼び出しによるイベント
したがって、panic以外の調査対象イベントは...
に絞られる
この仮設の妥当性を証明するのが第一段階かな?
まあ、なんで crash dumpが取れてないかも大問題なんだけどねぇ
オリジナル実装の送信バリアのまとめと考察
CaOpenX[pv:{__String}] := Module[{chl = EPICS$CaOpen/@pv, dt = 10e-3, timeout = EPICS$CaOpenTimeout[]}, While[timeout > 0, Sleep[dt]; timeout -= dt; EPICS$CaPendEvent[]; Print[timeout]; If[And@@(CaConnectedQ/@chl), Break[]]]; Map[If[CaConnectedQ[#], #, EPICS$CaClearChannel[#]; $Failed]&, chl]];
tffsmatchで割り当てた領域がtffscalcに渡しているケースで、tffscalc内部で並列化する場合に、並列リージョンからの書き戻し動作の挙動が変わっていないかソースを精査する必要あり
カテゴリー: Admin | Emacs | EPICS | Fortran | FreeBSD | GCC | hgsubversion | IPv6 | KEKB | LHC | Lisp | LLVM | MADX | Ryzen | SAD | samba | tDiary | unix | WWW | YaSAI | お仕事 | イベント | 出張 | 宴会 | 数学 | 艦これ | 買いもの | 追記 | 雑記
_ 影達 [すんません。アレス空洞側シールドを張ること当面不可。 何せゼロポイントモジュール(ZPM)は開発途上なもので... ..]
_ Y氏 [復帰したかな。今回は特にエラーメッセージなし&コンソールからログイン可能な模様]