トップ «前の日(03-28) 最新 次の日(03-30)» 追記

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|05|06|07|08|09|

2006-03-28 風が強いぜ

_ [tDiary]tDiaryのフォーマット

tDiaryスタイルはいまいち書きにくいし、Hiki v0.8を使いはじめたので Wiki系のフォーマットの方が嬉しい

と言うわけで、Wikiスタイルを導入

練習も兼ねて、古い日記をWikiスタイルに変換...

うは、.td2更新しても cache/*.parserを飛ばさないと 再パースしてくれないのね orz

_ [Admin]amsad5故障

ケーブル整理のため amsad 5号機を停止して、再起動したら 電源ボタンロゴが出てリブートするように言われる

しかも、リブートしたら MacOS Xの立ち上げ画面でプログレスバーが 伸びたまま、先に進まなくなる

ICMP echo requestに答えてくれるが、TCP/UDP系のサービスは停止状態で 手が出せない orz

なんか変なので、TechTool Proを借りて来て調査開始、 エラーが出た項目は、File System関係のみで、 HDDは無事なようなので、インストールDVDから立ち上げて fsck_hfsによる修復を試みるが、Index Key Lengthが合わないとか 言って fsck_hfsが仕事してくれない orz

amsad5にしかないインストールメモは回収して他のマシンに配ったので 最悪1日かけて再インストールすれば、良いのだが...

インストールDVDを入れたついでに、AHTを実行したら... メモリにエラーが有るそうです orz (TechTool Proのメモリテストは信用できないということか)


2008-03-28

_ [SAD][LLVM]SAD on LLVM-GCC

27日の日記でLLVM-GCCを使ってコンパイルしたSADだが、 common block回りの不具合原因が判明。

ここで問題です、次の Fortranコードを llvm-gfrotranで コンパイルした場合、どんな結果が出力されるでしょう?

     implicit none
     integer*4 i
     logical*4 flags(64),flag1,flag2,flag3
     common /tflags/flags
     equivalence (flag2,flags(2))
     equivalence (flag3,flags(3))
     do i=1,64
        flags(i)=.false.
     enddo

     write(*,*)'Clear:'
     write(*,*)'flags(1)=',flags(1)
     write(*,*)'flag1=',flag1
     write(*,*)'flags(2)=',flags(2)
     write(*,*)'flag2=',flag2
     write(*,*)'flags(3)=',flags(3)
     write(*,*)'flag3=',flag3

     flag2=.true.

     write(*,*)'After: flag2=.true.'
     write(*,*)'flags(1)=',flags(1)
     write(*,*)'flag1=',flag1
     write(*,*)'flags(2)=',flags(2)
     write(*,*)'flag2=',flag2
     write(*,*)'flags(3)=',flags(3)
     write(*,*)'flag3=',flag3

     do i=1,64
        flags(i)=.false.
     enddo

     write(*,*)'Clear:'
     write(*,*)'flags(1)=',flags(1)
     write(*,*)'flag1=',flag1
     write(*,*)'flags(2)=',flags(2)
     write(*,*)'flag2=',flag2
     write(*,*)'flags(3)=',flags(3)
     write(*,*)'flag3=',flag3

     flags(1)=.true.

     write(*,*)'After: flags(1)=.true.'
     write(*,*)'flags(1)=',flags(1)
     write(*,*)'flag1=',flag1
     write(*,*)'flags(2)=',flags(2)
     write(*,*)'flag2=',flag2
     write(*,*)'flags(3)=',flags(3)
     write(*,*)'flag3=',flag3

     flag1=.false.

     write(*,*)'After: flag1=.false.'
     write(*,*)'flags(1)=',flags(1)
     write(*,*)'flag1=',flag1
     write(*,*)'flags(2)=',flags(2)
     write(*,*)'flag2=',flag2
     write(*,*)'flags(3)=',flags(3)
     write(*,*)'flag3=',flag3

     end

Subversion resporitory revision 48818での結果は、以下の通り。

Clear:
flags(1)= F
flag1= F
flags(2)= F
flag2= F
flags(3)= F
flag3= F
After: flag2=.true.
flags(1)= T
flag1= F
flags(2)= F
flag2= T
flags(3)= F
flag3= T
Clear:
flags(1)= F
flag1= F
flags(2)= F
flag2= F
flags(3)= F
flag3= F
After: flags(1)=.true.
flags(1)= T
flag1= F
flags(2)= F
flag2= T
flags(3)= F
flag3= T
After: flag1=.false.
flags(1)= T
flag1= F
flags(2)= F
flag2= T
flags(3)= F
flag3= T

要するに、EQUIVALENCE文に配列を添字付きで与えた場合、 添字の部分が無視されているようです。

バグ 1971でも EQUIVALENCEの不具合が報告されている模様です。

SADは、common blockEQUIVALENCEを多用してるので このバグが直らない限り、LLVM-GCCを使うのは絶望的です。

_ [SAD]CVS repository考古学

SADの CVS repositoryから調査用に変換生成した Subversion repositoryを あさってみると...

  • 現在の CVS repositoryは1995/09/13に初期化された
    • SADの開発は、1986年ごろに始まっている
  • CVS repositoryに実際にコミットしたことのあるコミッターは、9
    • 最多コミッターのコミット数は、全体の66.9%を占める。
    • コミット数は、第一位から66.9%,13.7%,12.2%で上位3コミッターが全体の92.8%を占める(コミット数なので、コード行数ではないことに注意)
  • CVS repository上のコードで、始めて動作したものは 1995/09/15と思われる(コミットメッセージは、working Alpha version 1.0)
  • src/MAIN.fへ Version番号が格納されるようになったのは1997/02/06、最初のVersion番号は1.0.1bである。

といったことが、分かりました。

開発形態は、少数精鋭による典型的な伽藍モデルのようです。

あとは、CVS repository導入直後から現代までのコード行数の変遷でも 調べて見るべきか?

本日のツッコミ(全1件) [ツッコミを入れる]

_ Y氏 [バグ1971は直ったようですね。]


2017-03-28

_ [samba][FreeBSD]devel/talloc 2.1.9 + net/samba43

ports-CURRENT r436873にて、net/samba46に合わせてtallocが 2.1.8から2.1.9にアップデートされているが、後方互換性に問題がある模様

当方の環境では、talloc 2.1.9だとnet/samba43のsamba_dnsupdateSEGVする(2.1.8に戻すと問題無し)


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