ToDo:
まず、version番号だが、前置単項演算子として実装されて来た ~演算子を、中置演算子としても作用可能にする仕様変更を 含んでいるので、major versionを変えるべきだと思う。
また、~を中置演算子として使った構文、a~bは 関数表現ではNot[a,b]と解釈され構文エラーとされるのは 個人的には謎仕様だと思う。
掲示板 にある conststentの意味するところは、
In[1]:= Not[a,b] ???General::narg: Number of arguments is expected 1 in (a~b) Out[1]:= (a~b)
に対する整合性だと思うのだが、整合性問題の本質は関数型で記述した 入力に対してエラーメッセージを表示する際に入力した構文 そのものではなく中置演算子表示に勝手に変換する インタープリター実装の問題と思われる。 原因は、構文解析器が吐き出す構文木に元の表現形(関数 or 演算子)が 記録されないためだが、ユーザーに何処で構文エラーが発生しているかを 正しく伝えるためには構文上意味を持たない空白文字を省略するならまだしも、 意味論的に同じだからと言って構文要素として異なる表現形で提示するのは あまり正しいとは思えない。
他の構文糖(syntax sugar)としての中置演算子表現を持つ関数でも同様の 表示上の問題を抱えている。さらに言えば、関数表現では単一の引数を 認めているが、対応する演算子に単項演算子が存在しない場合は 以下に示すように引数の数が変わった際の表示に一貫性が無い。
In[1]:= Plus[a] Out[1]:= Plus[a] In[2]:= Plus[a,b] Out[2]:= (a+b) In[3]:= Plus[a,b,c] Out[3]:= (a+b+c) In[4]:= Alternatives[a] Out[4]:= Alternatives[a] In[5]:= Alternatives[a,b] Out[5]:= (a|b) In[6]:= Alternatives[a,b,c] Out[6]:= (a|b|c)
なんか、SATA系で DMA転送エラー出てる
ad6: TIMEOUT - READ_DMA retrying (1 retry left) LBA=134171751 ad6: TIMEOUT - WRITE_DMA retrying (1 retry left) LBA=131110271 ad6: TIMEOUT - WRITE_DMA retrying (0 retries left) LBA=131110271 ad6: TIMEOUT - WRITE_DMA retrying (1 retry left) LBA=131473215 ad6: TIMEOUT - READ_DMA retrying (1 retry left) LBA=133048383 ad6: TIMEOUT - WRITE_DMA retrying (1 retry left) LBA=133356063
一応、リトライして動いているし、geom mirror構成なので現時点では 致命的な問題ではないが嫌な感じ...
物としては、Seagate Momentus 5400.3のSATA版で、3ware 9650SEで運用時に アクセスエラーで RAID Volumeから外れる事が多かったユニットなのだが、 nForce Pro 3600でも同様のようなのでコントローラや ケーブル・エンクロージャ系が原因ではなくユニット自体に問題のようだ。 SMARTの各種ステータスや SMART Error Log自体には異常が無いので、 微妙な状態...
SMART Error Logに DMA errorが現れないということは、ユニット側で 転送エラーが見えて無い訳で、怪しさ爆発
9650SE接続の残り4台が正常なので、ユニットの基盤不良が疑わしいのだが... こういうユニットって、RMAかけられるのかな?
カテゴリー: Admin | Emacs | EPICS | Fortran | FreeBSD | GCC | hgsubversion | IPv6 | KEKB | LHC | Lisp | LLVM | MADX | Ryzen | SAD | samba | tDiary | unix | WWW | YaSAI | お仕事 | イベント | 出張 | 宴会 | 数学 | 艦これ | 買いもの | 追記 | 雑記