Dear All,

I'm having the following problem with Globus Toolkit:

While running the examples from the GT4 Tutorial by Borja Sotomayor
there seem to be random delays in the client that calls the Math Service.

strace gives the following (at some point)

.....
6339  17:10:53.677566 open("/tmp",
O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY|O_CLOEXEC) = 176
6339  17:10:53.677623 fstat64(176, {st_mode=S_IFDIR|S_ISVTX|0777,
st_size=4096, ...}) = 0
6339  17:10:53.677694 getdents64(176, /* 15 entries */, 4096) = 552
6339  17:10:53.677949 getdents64(176, /* 0 entries */, 4096) = 0
6339  17:10:53.678012 close(176)        = 0
6339  17:10:53.678294 read(175,
"\v\303\276\5\372\33\374N\210D|\31\350\330\372\253"..., 8192) = 16
6339  17:10:53.678382 fstat64(175, {st_mode=S_IFCHR|0666,
st_rdev=makedev(1, 8), ...}) = 0
6339  17:10:53.678446 ioctl(175, FIONREAD, [149494784]) = -1 EINVAL
(Invalid argument)
6339  17:10:53.678511 _llseek(175, 0, [0], SEEK_CUR) = 0
6339  17:10:53.678560 _llseek(175, 0, [0], SEEK_END) = 0
6339  17:10:53.678619 _llseek(175, 0, [0], SEEK_SET) = 0
6339  17:10:53.678701 read(175,  <unfinished ...>
6346  17:10:53.689764 <... futex resumed> ) = -1 ETIMEDOUT (Connection
timed out)
6346  17:10:53.689801 futex(0x8eddb28, FUTEX_WAKE_PRIVATE, 1) = 0
6346  17:10:53.689856 clock_gettime(CLOCK_MONOTONIC, {10072, 935287704}) = 0
6346  17:10:53.689908 gettimeofday({1263309053, 689926}, NULL) = 0
6346  17:10:53.689956 clock_gettime(CLOCK_MONOTONIC, {10072, 935387402}) = 0
6346  17:10:53.690004 clock_gettime(CLOCK_MONOTONIC, {10072, 935434621}) = 0
6346  17:10:53.690051 gettimeofday({1263309053, 690069}, NULL) = 0
6346  17:10:53.690099 clock_gettime(CLOCK_REALTIME, {1263309053,
690118560}) = 0
6346  17:10:53.690148 futex(0x96ee834, FUTEX_WAIT_PRIVATE, 1, {0,
49950440}) = -1 ETIMEDOUT (Connection timed out)
6346  17:10:53.740161 futex(0x8eddb28, FUTEX_WAKE_PRIVATE, 1) = 0
6346  17:10:53.740212 clock_gettime(CLOCK_MONOTONIC, {10072, 985650326}) = 0
6346  17:10:53.740268 gettimeofday({1263309053, 740286}, NULL) = 0
6346  17:10:53.740316 clock_gettime(CLOCK_MONOTONIC, {10072, 985746802}) = 0
6346  17:10:53.740363 clock_gettime(CLOCK_MONOTONIC, {10072, 985794056}) = 0
6346  17:10:53.740411 gettimeofday({1263309053, 740429}, NULL) = 0
6346  17:10:53.740459 clock_gettime(CLOCK_REALTIME, {1263309053,
740477706}) = 0
6346  17:10:53.740507 futex(0x96ee834, FUTEX_WAIT_PRIVATE, 1, {0,
49951294}) = -1 ETIMEDOUT (Connection timed out)
6346  17:10:53.790529 futex(0x8eddb28, FUTEX_WAKE_PRIVATE, 1) = 0
6346  17:10:53.790582 clock_gettime(CLOCK_MONOTONIC, {10073, 36028876}) = 0
6346  17:10:53.790649 gettimeofday({1263309053, 790669}, NULL) = 0
6346  17:10:53.790700 clock_gettime(CLOCK_MONOTONIC, {10073, 36132492}) = 0
6346  17:10:53.790750 clock_gettime(CLOCK_MONOTONIC, {10073, 36182258}) = 0
6346  17:10:53.790800 gettimeofday({1263309053, 790819}, NULL) = 0
6346  17:10:53.790851 clock_gettime(CLOCK_REALTIME, {1263309053,
790871031}) = 0
6346  17:10:53.790902 futex(0x96ee834, FUTEX_WAIT_PRIVATE, 1, {0,
49947969}) = -1 ETIMEDOUT (Connection timed out)
6346  17:10:53.840925 futex(0x8eddb28, FUTEX_WAKE_PRIVATE, 1) = 0
6346  17:10:53.840985 clock_gettime(CLOCK_MONOTONIC, {10073, 86416466}) = 0
6346  17:10:53.841034 gettimeofday({1263309053, 841053}, NULL) = 0
6346  17:10:53.841083 clock_gettime(CLOCK_MONOTONIC, {10073, 86513727}) = 0
6346  17:10:53.841129 clock_gettime(CLOCK_MONOTONIC, {10073, 86560401}) = 0
6346  17:10:53.841176 gettimeofday({1263309053, 841194}, NULL) = 0
6346  17:10:53.841224 clock_gettime(CLOCK_REALTIME, {1263309053,
841243111}) = 0
....


and so on until at some point is seems to "unpause" at which time
execution continues correctly and the client finishes.

I have concluded that this happens when the client tries to call
math.add(10) for the first time but does not happen in the following
calls to add.

This does not happen every time the client is executed. Sometimes it is
fast, but most of the time it is slow (sometimes it takes up to 2
minutes for the client to finish).

This happens with another service/client that I have developed in
exactly the same way (the client hangs the first time it tries to call a
method of the stub class).

The client and the server are running on the same machine and I have
also tried it with separate machines but nothing changes.

It has been tested both on Fedora Core 9 and Debian 5 and both sun java
1.5 and 1.6.

Has anyone else encountered such delays?

Any help would be much appreciated!

Best Regards,
Spyridon V. Gogouvitis

Reply via email to