2010-12-11 10 views
0

J'ai construit un client de service d'événement CORBA avec omniOrb et Python. J'ai eu le même problème avec un client Java. Je suis très sûr d'expérimenter la même chose que ce post parce que mon profil ressemble beaucoup mais il n'explique pas exactement comment il l'a réparé: Java's 'tnameserv' takes 3+ minutes to be "Ready", why?Corba Event Client ETIMEDOUT

La ligne de fond est mon client démarre mais ne reçoit jamais les événements à partir du serveur en raison de l'erreur ETIMEDOUT des deux côtés. Toute orientation est grandement appréciée!

Merci d'avance!

EDIT

Malheureusement la mise à jour ip6tables (ni iptables) ne fonctionnent pas.

Il semble que je suis en mesure d'avoir des données de retour d'appel à distance, mais dès qu'il veut initier la réponse (événement), il provoque ce problème (voir le début du journal ci-dessous)

ici est mon journal de strace ...

[pid 17571] futex(0xa298288, FUTEX_WAIT_PRIVATE, 1, {4, 999961668} <unfinished ...> 
[pid 17568] <... poll resumed>)  = 1 ([{fd=10, revents=POLLOUT}]) 
[pid 17568] getpeername(10, {sa_family=AF_INET, sin_port=htons(23120), sin_addr=inet_addr("10.10.10.250")}, [16]) = 0 
[pid 17568] fcntl64(10, F_SETFL, O_RDONLY) = 0 
[pid 17568] getsockname(10, {sa_family=AF_INET, sin_port=htons(37741), sin_addr=inet_addr("10.10.10.204")}, [16]) = 0 
[pid 17568] getpeername(10, {sa_family=AF_INET, sin_port=htons(23120), sin_addr=inet_addr("10.10.10.250")}, [16]) = 0 
[pid 17568] fcntl64(10, F_SETFD, FD_CLOEXEC) = 0 
[pid 17568] send(10, "GIOP\1\1\1\0035\0\0\0\2\0\0\0-\0\0\0\24\1\17\0NUP\0\0\0\24\0"..., 65, 0) = 65 
[pid 17568] recv(10, <unfinished ...> 
[pid 17570] <... poll resumed>)  = 0 (Timeout) 
[pid 17570] gettimeofday({1292097412, 746922}, NULL) = 0 
[pid 17570] poll([{fd=3, events=POLLIN}, {fd=9, events=POLLIN}], 2, 0) = 0 (Timeout) 
... 
[pid 17570] gettimeofday({1292097412, 747503}, NULL) = 0 
[pid 17570] poll([{fd=3, events=POLLIN}, {fd=9, events=POLLIN}], 2, 0) = 0 (Timeout) 
[pid 17570] gettimeofday({1292097412, 747544}, NULL) = 0 
[pid 17570] gettimeofday({1292097412, 747563}, NULL) = 0 
[pid 17570] poll([{fd=3, events=POLLIN}, {fd=9, events=POLLIN}], 2, 50 <unfinished ...> 
[pid 17568] <... recv resumed> "GIOP\1\1\0\4\0\0\0\10\0\0\0\2\0\0\0\1", 8192, 0) = 20 
[pid 17568] send(10, "GIOP\1\1\1\0z\0\0\0\1\0\0\0\1\0\0\0\f\0\0\0\1\0\0\0\1\0\1\0"..., 134, 0) = 134 
[pid 17568] recv(10, <unfinished ...> 
[pid 17570] <... poll resumed>)  = 0 (Timeout) 
[pid 17570] gettimeofday({1292097412, 797695}, NULL) = 0 
[pid 17570] gettimeofday({1292097412, 797716}, NULL) = 0 
[pid 17570] poll([{fd=3, events=POLLIN}, {fd=9, events=POLLIN}], 2, 50 <unfinished ...> 
[pid 17568] <... recv resumed> "GIOP\1\1\0\1\0\0\0\330\0\0\0\1\0\0\0\1\0\0\0\f\1\0\0\0\1\0\1\0"..., 8192, 0) = 228 
[pid 17568] write(1, "logged on\n", 10logged on 
) = 10 
[pid 17568] send(10, "GIOP\1\1\1\0u\0\0\0\0\0\0\0\6\0\0\0\1\0\0\0#\0\0\0\24\1\17\0"..., 129, 0) = 129 
[pid 17568] recv(10, <unfinished ...> 
[pid 17570] <... poll resumed>)  = 0 (Timeout) 
[pid 17570] gettimeofday({1292097412, 847848}, NULL) = 0 
[pid 17570] gettimeofday({1292097412, 847868}, NULL) = 0 
[pid 17570] poll([{fd=3, events=POLLIN}, {fd=9, events=POLLIN}], 2, 50 <unfinished ...> 
[pid 17568] <... recv resumed> "GIOP\1\1\0\1\0\0\0\r\0\0\0\0\0\0\0\6\0\0\0\0\1", 8192, 0) = 25 
[pid 17568] send(10, "GIOP\1\1\1\0\t\1\0\0\0\0\0\0\10\0\0\0\1\0\0\0#\0\0\0\24\1\17\0"..., 277, 0) = 277 
[pid 17568] recv(10, <unfinished ...> 
[pid 17570] <... poll resumed>)  = 0 (Timeout) 
[pid 17570] gettimeofday({1292097412, 898007}, NULL) = 0 
[pid 17570] gettimeofday({1292097412, 898028}, NULL) = 0 
[pid 17570] poll([{fd=3, events=POLLIN}, {fd=9, events=POLLIN}], 2, 50 <unfinished ...> 
[pid 17568] <... recv resumed> "GIOP\1\1\0\1\0\0\0\20\0\0\0\0\0\0\0\10\0\0\0\0\0\2I\360", 8192, 0) = 28 
[pid 17568] write(1, "150000\n", 7150000 
)  = 7 
[pid 17568] write(1, "registered\n", 11registered 
) = 11 
[pid 17568] gettimeofday({1292097412, 921865}, NULL) = 0 
[pid 17568] clock_gettime(CLOCK_REALTIME, {1292097412, 921888446}) = 0 
[pid 17568] futex(0xb7228ed4, FUTEX_WAKE_PRIVATE, 1) = 0 
[pid 17568] gettimeofday({1292097412, 921935}, NULL) = 0 
[pid 17568] clock_gettime(CLOCK_REALTIME, {1292097412, 921956052}) = 0 
... 
[pid 17568] futex(0xb7228ed4, FUTEX_WAKE_PRIVATE, 1) = 0 
[pid 17568] gettimeofday({1292097412, 923784}, NULL) = 0 
[pid 17568] clock_gettime(CLOCK_REALTIME, {1292097412, 923804532}) = 0 
[pid 17568] futex(0xb7228f48, FUTEX_WAIT_PRIVATE, 65, {0, 581}) = -1 ETIMEDOUT (Connection timed out) 
[pid 17568] futex(0xb7228ed4, FUTEX_WAKE_PRIVATE, 1) = 0 
[pid 17568] gettimeofday({1292097412, 923933}, NULL) = 0 
[pid 17568] clock_gettime(CLOCK_REALTIME, {1292097412, 923953643}) = 0 
[pid 17568] futex(0xb7228f48, FUTEX_WAIT_PRIVATE, 67, {0, 2582}) = -1 ETIMEDOUT (Connection timed out) 
... 
[pid 17568] futex(0xb7228ed4, FUTEX_WAKE_PRIVATE, 1) = 0 
[pid 17568] gettimeofday({1292097412, 934108}, NULL) = 0 
[pid 17568] clock_gettime(CLOCK_REALTIME, {1292097412, 934127651}) = 0 
[pid 17568] futex(0xb7228f48, FUTEX_WAIT_PRIVATE, 135, {0, 573697}) = -1 ETIMEDOUT (Connection timed out) 
[pid 17568] futex(0xb7228ed4, FUTEX_WAKE_PRIVATE, 1) = 0 
[pid 17568] gettimeofday({1292097412, 934800}, NULL) = 0 
[pid 17570] <... poll resumed>)  = 0 (Timeout) 
[pid 17570] gettimeofday({1292097412, 989071}, NULL) = 0 
[pid 17570] gettimeofday({1292097412, 989093}, NULL) = 0 
[pid 17570] poll([{fd=3, events=POLLIN}, {fd=9, events=POLLIN}], 2, -1 <unfinished ...> 
[pid 17568] clock_gettime(CLOCK_REALTIME, {1292097412, 989133116}) = 0 
[pid 17568] futex(0xb7228ed4, FUTEX_WAKE_PRIVATE, 1) = 0 
[pid 17568] gettimeofday({1292097412, 989191}, NULL) = 0 
[pid 17568] clock_gettime(CLOCK_REALTIME, {1292097412, 989211757}) = 0 
[pid 17568] futex(0xb7228f48, FUTEX_WAIT_PRIVATE, 139, {0, 697194}) = -1 ETIMEDOUT (Connection timed out) 
... 
[pid 17568] futex(0xb7228ed4, FUTEX_WAKE_PRIVATE, 1) = 0 
[pid 17568] gettimeofday({1292097413, 255954}, NULL) = 0 
[pid 17568] clock_gettime(CLOCK_REALTIME, {1292097413, 255977528}) = 0 
[pid 17568] futex(0xb7228f48, FUTEX_WAIT_PRIVATE, 215, {0, 26830986}) = -1 ETIMEDOUT (Connection timed out) 

Répondre

0

J'ai fini par comprendre que depuis que je suis sur un autre sous net que le serveur, l'ORB comme la publication de la mauvaise adresse IP, et n'a pas pu trouver le chemin de retour à mon client quand un même déclenché.

J'ai fini par changer le fichier de configuration de /etc/omniORB.cfg et de changer la valeur de la propriété "endPointPublish" en adresse IP sur le sous-réseau du serveur!

0

Je résolu ce problème en ajoutant la ligne suivante à mon script de pare-feu

ip6tables -A INPUT -i lo -j ACCEPT 
+0

Malheureusement, cela n'a pas aidé. S'il vous plaît voir mon edit. – Benny

+0

Avez-vous vu le message ETIMEDOUT après avoir effectué ce changement? – Benny