Corba 事件客户端 ETIMEDOUT

2024-04-17

我使用omniOrb 和Python 构建了一个CORBA 事件服务客户端。我在使用 Java 客户端时遇到了同样的问题。我非常确定我遇到了与这篇文章相同的事情,因为我的 strace 看起来非常相似,但他没有确切解释他是如何修复它的:Java 的“tnameserv”需要 3 分钟以上才能“就绪”,为什么? https://stackoverflow.com/questions/1911823/javas-tnameserv-takes-3-minutes-to-be-ready-why

底线是我的客户端启动但从未收到来自服务器的事件,因为双方都出现 ETIMEDOUT 错误。非常感谢任何指导!

提前致谢!

EDIT

不幸的是,更新 ip6tables(或 iptables)不起作用。

看来我能够让远程调用返回数据,但是一旦 IT 想要启动响应(事件),就会导致此问题(请参阅下面日志的开头)

这是我来自 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)

我通过将以下行添加到我的防火墙脚本中解决了这个问题

 ip6tables -A INPUT -i lo -j ACCEPT
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Corba 事件客户端 ETIMEDOUT 的相关文章

随机推荐