0

I have built a CORBA event service client with omniOrb and Python. I had the same issue with a Java client. I'm very certain I'm experiencing the same thing as this post because my strace looks very similar but he doesn't explain exactly how he fixed it: Java's 'tnameserv' takes 3+ minutes to be "Ready", why?

Bottom line is my client starts up but never receives the events from the server because of the ETIMEDOUT error on both sides. Any guidance is greatly appreciated!

Thanks in advance!

EDIT

Unfortunately updating ip6tables (nor iptables) didn't work.

It appears that I am able to have a remote call return data, but as soon as IT wants to initiate the response (event), it causes this problem (see the beginning of the log below)

Here is my log from 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)
Community
  • 1
  • 1
Benny
  • 3,899
  • 8
  • 46
  • 81

2 Answers2

0

I fixed this issue by adding the following line to my firewall script

 ip6tables -A INPUT -i lo -j ACCEPT
SiegeX
  • 135,741
  • 24
  • 144
  • 154
0

I ended up figuring out that since I'm on a different subnet than the server, the ORB as publishing the wrong IP address, and couldn't figure out the route back to my client when an even triggered.

I ended up changing the config file at /etc/omniORB.cfg and changing the value of the "endPointPublish" property to the IP address on the server's subnet!

Benny
  • 3,899
  • 8
  • 46
  • 81