ToDo:
sad_cstrマクロによるstringポインタ参照に書き換える作業を進行中
残っているのは
itflistを使ってon-stack list constructionしているコードを明示的なlistコンテナ割り当てとtfsetlistで書き換える作業を進行中
長大なリストが戻ってくる可能性がある部分では、mstk検査をしていないので stack corruptionの危険が生じている
残っているのは
list containerからReal配列ハンドルや Type/Addr配列ハンドルを取り出す操作があるが、内部のデータ構造を隠蔽する為の抽象化helperを用意すべきでは?
検討すべきコーナーケース
多分、NULLを返すのが妥当?
container生成時だけは、書き込みの為にnon-constである必要があるが、参照用途では、constハンドルを返すべきと考えられる
const/non-constで、helperを分離すべきか? (C++と異なり、proxy objectによるtype dispatchは行えない)
includeされているcommon宣言をmoldule化作業で自動検査の障害となるimplicit宣言を含むsrc/inc/*.incの参照
include元 | 参照数 | ファイル数 |
src/inc/TFMACRO.inc | 123 | 104 |
src/inc/TMACRO.inc | 33 | 28 |
数量的には、TMACRO.incからやっつけるべき?
基本的な仕込みは終わったので、耐久ストレステストに入ったのだが、未だに安定しない
耐久ストレステストの内容は、最大並列度でのエンドレス buildworld + buildkernel
現在の最長記録は36時間程度で、なぜかハングアップする状況
少なくとも、Ryzen TR1の初期出荷分で発生したSEGV系の不具合ではない
原因の洗い出しと対策のために色々試しているが未だに解決していない Orz
この状態でもハングアップするので、さらにSMT回りのデータレース等を疑ってmachdep.hyperthreading_allowed=0にてSMTを殺した状態も試したが、ハングアップする
Tjmaxの超過による熱暴走系を疑って、冷却系の設定を変更してTjを10℃程度低下させたところ、24時間も持たずに30分以内にハングアップした(2回)
CPUのエラッタ以外の可能性として疑っているのは
現在、メインストレージを SATA SSDに切り替えNVMeを切り離した状態かつい、CPU P-stateを固定した状態で、ストレステストを実施中
カテゴリー: Admin | Emacs | EPICS | Fortran | FreeBSD | GCC | hgsubversion | IPv6 | KEKB | LHC | Lisp | LLVM | MADX | Ryzen | SAD | samba | tDiary | unix | WWW | YaSAI | お仕事 | イベント | 出張 | 宴会 | 数学 | 艦これ | 買いもの | 追記 | 雑記