KiNOKO-DAQ 関連情報 掲示板

このスレッドに記事を投稿する
前のスレッド | 次のスレッド | 掲示版ホーム

kinoko について
2002 年 4 月 21 日 19 時 24 分
投稿者: 井垣 友克

大学で、問題なく動作していた Smallkinokoが、KEKに持ってきたら動かなくなってしまいました。前と変わったのは、モニターとIPアドレスだけだと思います。動かそうとすると次のようなエラーがでます。

ERROR: controller: TKcomProcess::AttachSocketIO(): system call exception: TMushServerNetworkSocket::Bind(): bind(3N): Address already in use
attach null-stream...

ERROR: logger: TKcomProcess::AttachSocketIO(): system call exception: TMushServerNetworkSocket::Bind(): bind(3N): Address already in use
attach null-stream...

ERROR: viewer: TKcomProcess::AttachSocketIO(): system call exception: TMushServerNetworkSocket::Bind(): bind(3N): Address already in use
attach null-stream...

どうしてでしょうか?


Re: kinokoについて
2002 年 4 月 21 日 22 時 37 分
投稿者: 榎本 三四郎

榎本です.

すぐには理由が思い当たらないのですが,とりあえず環境変数の KINOKO_SHELL_PORT_BASE (45000 になっているはずです) を 3456 とか適当に変えてみて,動くかどうか見てみてください.

あと,もしかしたら OS をリブートしてみると,なにか違いがあるかもしれません.
以前とディレクトリ構成やライブラリが変わった可能性があるのなら,KiNOKO を再コンパイルする必要があります.一応,手順を以下に示します.

% cd kinoko/src
% make uninstall
% ./configure-for LINUX
% make


それでだめだったら,問題の場所を知るために,いくつか調べてみてほしいことがあります.
以下は KINOKO_SHELL_PORT_BASE が 45000 の場合です.

まず,netstat でポート 45000 が使用中かどうか確かめてください.

% netstat -a | grep 45000

ここで,出力が無ければ,そのポートは使われていないということです.
使用中なら,KINOKO_SHELL_PORT_BASE を別の値に変えてください.

次に,kinoko/scripts/SmallKinoko.kcom の 50 行目あたりの
execute("kinoko-control --client localhost " + port_control);
の文を // でコメントアウトして smallkinoko を実行してみてください.

この場合,smallkinoko を起動したターミナルで

% smallkinoko
KCOM_PATH: .:/home/sanshiro/work/kinoko/bin:/home/sanshiro/daq/sys/KamDAQ/bin
launching controller: KinokoController@localhost (control is 'port: 45000')

と表示されたところで実行が止まるはずです.ここで,もう一度 netstat を見てください.
ちゃんと動いていれば以下のようになるはずです.

% netstat -a | grep 45000
tcp 0 0 *:45000 *:* LISTEN

ここで,別のターミナルから,

% telnet localhost 45000

としてみてください.実行が先に進みます.もう一度 netstat すると,

% netstat -a | grep 45000
tcp 0 0 localhost.localdo:45000 localhost.localdom:1925 ESTABLISHED
tcp 0 0 localhost.localdom:1925 localhost.localdo:45000 ESTABLISHED

たぶん,ここまでのどこかでエラーが出ると思います.エラーの出た場所とその内容,
各時点の netstat の出力を教えてください.


結果
2002 年 4 月 21 日 23 時 19 分
投稿者: 井垣 友克

% telnet localhost 45000
local host ホスト名の検索に失敗しました

となりました。


忘れ事
2002 年 4 月 21 日 23 時 25 分
投稿者: 井垣 友克

netstatの出力

% netstat -a | grep 45000
tcp 0 0 *:45000 *:* LISTEN


Re: 結果
2002 年 4 月 22 日 20 時 4 分
投稿者: 榎本 三四郎

ローカルホストに localhost で接続できるようになっていないと,
KiNOKO はちゃんと動きません.もし,ping localhost や
ssh localhost などがちゃんと動作しないなら,これらが動作する
ようにシステムの設定を変更する必要があります.

設定の方法はシステムにより異なりますが,最終的にはたぶん /etc/hosts に
127.0.0.1 localhost.localdomain localhost
を加えることになると思います.詳細は,お使いのシステムのマニュアルを
参照してください.

あと,netstat の出力は,smallkinoko を起動した後のものですよね?


このスレッドに記事を投稿する