トップ 最新 追記

Orz日記 by Akio Morita

ToDo:

  • 15 SAD Fit[]回りの障害事例の解析
  • 10 smart pointer版PEGクラスの再実装(Left Recursionまわり)
2006|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|06|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|07|08|09|10|11|12|
2013|01|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|06|07|08|10|12|
2016|01|02|03|05|06|08|10|11|
2017|01|02|03|04|05|06|07|09|10|11|12|
2018|01|02|03|04|06|07|08|09|10|11|12|
2019|01|03|04|05|07|08|09|10|11|12|
2020|01|02|03|04|05|06|07|08|09|10|11|12|
2021|01|02|03|04|05|06|07|08|09|10|11|12|
2022|01|02|03|04|05|06|07|08|09|10|11|12|
2023|01|02|03|04|05|06|07|08|09|10|11|12|
2024|01|02|03|04|

2023-11-03 [長年日記]

_ [FreeBSD]あれ、RC4でてる…

14.0-RC3以降大きな変更が入ってなかったので、このままリリースかと思ったら14.0-RC4が出ている模様


2023-11-07 [長年日記]

_ [雑記]WAN回線落ち

2023/11/06 13:55 PPPoE切断、2023/11/07 13:16 PPPoE復帰

ダウンタイムは約23時間

NTT収容施設と加入者側VDSL終端の間に挟まっているMDF室内の機器トラブルだった模様


2023-11-10 [長年日記]

_ [FreeBSD]RC終わった

releng/14.0のBRANCHタグがRELEASEに変更になり、リリースビルドが開始された模様、めでたしめでたし

一方、ports-CURRENTの方には未だにmisc/compat13xが用意されていない Orz


2023-11-21 [長年日記]

_ [FreeBSD]14.0-RELEASEでた

アナウンスが約1週間遅れになったが、リリースアナウンスが出た


2023-11-22 [長年日記]

_ [雑記]japanease/ktermの覚書

ports-CURRENTから外されてもしぶとくktermを使っているのだが…

FreeBSD 14.0-STABLE上でビルドしたものは、TERMCAP環境変数が壊れている? (www/firefox configure/build時にpythonでruntime errorになる)

少なくとも、13.2-STABLE上でビルドしたものと値が異なるというか、凄く短いので何か変

同様に、x11/xtermの挙動も異なって見えるので要調査(分類してみた)

terminal 13.2-STABLE 14.0-STABLE
xterm TERMCAP=xterm|... TERMCAP環境変数無し
kterm TERMCAP=kterm|... co#とli#エントリを含むTERMCAP環境変数だが、先頭5byteが起動毎に異なる

動作的には、stable/14系ではtermcapの検索に失敗し、xtermではTERMCAPを設定無し動作(深刻な副作用は出ない)、ktermでは独自のco#, li#エントリ追加時に正しく初期化されていないtermcap bufferを操作して、壊れたTERMCAP環境変数を設定している模様

コードを読んで状況が見えてきた…

  • co#li#エントリは、ktermのresize@main.cが追加している
    • resizeを含めtermcap編集コードは、termcap bufferの有効性を検査していない
  • stable/14系だとtgetent(3)が1を返して成功しても、bufferにtermcapが書き戻されない
  • spawn@main.c内のlocal scopeなtermcap, newtc bufferが初期化されていない
    • ifdef linuxなbzeroコードがあるが、当該環境では有効にならない
    • 起動毎にTERMCAP環境変数の先頭が異なる原因

多分、正しい修正は…

  • bufferを明示的に初期化する(bzeroは過剰で、先頭をNULL文字にするで十分のはず)
    • 未初期化の場合、その後の編集操作で最悪buffer overrunで上書き or SEGVする
  • termcap bufferが空文字列のときの処理を入れる
    • 編集しない (resize・strcat)
      • remove_termcap_entryは、自動的にNOPになる
    • TERMCAP環境変数を設定しない

カテゴリー: Admin | Emacs | EPICS | Fortran | FreeBSD | GCC | hgsubversion | IPv6 | KEKB | LHC | Lisp | LLVM | MADX | Ryzen | SAD | samba | tDiary | unix | WWW | YaSAI | お仕事 | イベント | 出張 | 宴会 | 数学 | 艦これ | 買いもの | 追記 | 雑記