Re: [SCore-users-jp] scored のクラッシュ

Atsushi HORI hori @ allinea.com
2005年 10月 28日 (金) 20:12:24 JST


On 2005/10/28, at 19:59, Naoya Maruyama wrote:

> Atsushi HORI <hori @ allinea.com> wrote:
>> usleep() を入れたのは、最近の CPU が高速になり、ループ 
>> だけ
>> では不十分な場合があったためです。PentiumIII 1.4GHz だ 
>> とま
>> ず大丈夫だと思います。
>>
>
> 当方の環境でもこの現象が頻繁に確認されるわけではないのですが、 
> 感覚的に
> は1月に1回程度は起きてしまっております。
>
>
>>
>> もし、PM/Ethernet をお使いでしたら、上記の現象は PM/
>> Ethernet のバグとして(私の記憶違いがなければ)すでに認識および
>> 対応が施されており、次のリリースでは修正されております。
>>
>
> クラッシュ前のscoredの関数トレースを取ってみましたところ、
> myri2kIsSendStable()が繰り返し呼ばれていることを確認しました。 
> ですので、
> PM/EthernetではなくPM/Myrinetの話ではないかと思います。

いずれにせよ現在次版の 5.8.3 リリース直前ということもあ 
り、バグ修正は間に合わない状況です。

お急ぎでしたら、usleep() を適当に入れてみてください。

>> が、もし、write_sysmon() で本当にブロックしているとした
>> ら、これは明らかに SCore-D のバグです。SCore-D から
>> の write() はいかなる状況でもブロックしてはいけませんし、
>> 本当に長時間ブロックすると sc_watch のタイムアウトが発 
>> 生す
>> るのは当然です。今すぐには確認できませんが、機会があって、バ 
>> グを
>> 確認できれば修正することをお約束します。
>>
>
> 失礼しました。もう一度確認しましたところ、write()システ 
> ムコールでブロッ
> クしているわけではなく、score_write()のループにはいった 
> ままsc_watchの
> タイムアウトがかかったようです。こちらも関数トレースをとって確 
> 認したの
> ですが、以下のscore_write()がwrite()呼び出しが成功 
> せず、ループでスピン
> していた模様です。

先のメールを書いた後に思い出しました。sysmon のコードはさ 
ぼっていて出力のための fd を NONBLOCK にしていませ 
ん。これは明らかにバグなので、修正したいと思います。もし運用上困 
るというのであれば、ご不便でも sctop の利用を中止していた 
だくしか方法はありません。




SCore-users-jp メーリングリストの案内