LinuxでCorbaServerを使用して問題を解決するために、使用したいアプリの開発者を支援しようとしています。tnameserv
問題を、呼び出し後の準備に3分以上かかるように絞り込みました。
この3分間で正確に何をtnameserv
しようとしているのでしょうか。とにかく、スピードを上げることができますか?再試行の間に1秒で5回の接続試行を試みたため、アプリは失敗しました。これは明らかに、tnameservに準備ができるのに十分な時間を与えていません。Slackware13.0でJava6u17を使用しています
それが重要な場合。の実際の呼び出しtnameserv
は次のとおりです。
tnameserv -ORBInitialPort 23423
シェルでそのコマンドを実行すると、最終的に「準備完了」と表示される3分マーク付近までハングしているように見えます。
アップデート
私が行ったstrace -f tnameserv -ORBInitialPort 23423
ところ、gettimeofday()、clock_gettime()、futex()の呼び出しが大量に発生し、後者は常に'-1 ETIMEDOUT(接続がタイムアウト)を返しています。これは自分の問題に関係していると感じていますが、その方法や理由がわかりません。
これは、私がstraceから見ているもののほんの一部です。誰かがこれを複製および/または理解できますか?
[pid 30950] futex(0x8128e14、FUTEX_WAIT_PRIVATE、1、{0、49903084})= -1 ETIMEDOUT(接続がタイムアウトしました) [pid 30950] futex(0x8098a28、FUTEX_WAKE_PRIVATE、1)= 0 [pid 30950] clock_gettime(CLOCK_MONOTONIC、{329619、995857482})= 0 [pid 30950] gettimeofday({1260930158、92108}、NULL)= 0 [pid 30950] clock_gettime(CLOCK_MONOTONIC、{329619、995996617})= 0 [pid 30950] clock_gettime(CLOCK_MONOTONIC、{329619、996088536})= 0 [pid 30950] gettimeofday({1260930158、92328}、NULL)= 0 [pid 30950] clock_gettime(CLOCK_REALTIME、{1260930158、92424295})= 0 [pid 30950] futex(0x8128e14、FUTEX_WAIT_PRIVATE、1、{0、49903705})= -1 ETIMEDOUT(接続がタイムアウトしました) [pid 30950] futex(0x8098a28、FUTEX_WAKE_PRIVATE、1)= 0 [pid 30950] clock_gettime(CLOCK_MONOTONIC、{329620、46761098})= 0 [pid 30950] gettimeofday({1260930158、143084}、NULL)= 0 [pid 30950] clock_gettime(CLOCK_MONOTONIC、{329620、46913924})= 0 [pid 30950] clock_gettime(CLOCK_MONOTONIC、{329620、47006961})= 0 [pid 30950] gettimeofday({1260930158、143303}、NULL)= 0 [pid 30950] clock_gettime(CLOCK_REALTIME、{1260930158、143398317})= 0 [pid 30950] futex(0x8128e14、FUTEX_WAIT_PRIVATE、1、{0、49904683})= -1 ETIMEDOUT(接続がタイムアウトしました) [pid 30950] futex(0x8098a28、FUTEX_WAKE_PRIVATE、1)= 0 [pid 30950] clock_gettime(CLOCK_MONOTONIC、{329620、97818379})= 0 [pid 30950] gettimeofday({1260930158、194127}、NULL)= 0 [pid 30950] clock_gettime(CLOCK_MONOTONIC、{329620、97957235})= 0 [pid 30950] clock_gettime(CLOCK_MONOTONIC、{329620、98049154})= 0 [pid 30950] gettimeofday({1260930158、194346}、NULL)= 0 [pid 30950] clock_gettime(CLOCK_REALTIME、{1260930158、194441349})= 0 [pid 30950] futex(0x8128e14、FUTEX_WAIT_PRIVATE、1、{0、49904651})= -1 ETIMEDOUT(接続がタイムアウトしました) [pid 30950] futex(0x8098a28、FUTEX_WAKE_PRIVATE、1)= 0 [pid 30950] clock_gettime(CLOCK_MONOTONIC、{329620、148806370})= 0 [pid 30950] gettimeofday({1260930158、245055}、NULL)= 0 [pid 30950] clock_gettime(CLOCK_MONOTONIC、{329620、148947182})= 0 [pid 30950] clock_gettime(CLOCK_MONOTONIC、{329620、148981547})= 0 [pid 30950] gettimeofday({1260930158、245280}、NULL)= 0 [pid 30950] clock_gettime(CLOCK_REALTIME、{1260930158、245374859})= 0 [pid 30950] futex(0x8128e14、FUTEX_WAIT_PRIVATE、1、{0、49905141})= -1 ETIMEDOUT(接続がタイムアウトしました)