[Spread-users] Newbie: 2 servers, 1 linux, 1 NT, each has one deamon running, locally work fine, but can't communicate over the internet

Mr, Vikas (NSN - IN/Bangalore) vikas.mr at nsn.com
Wed Jan 28 05:28:28 EST 2009


Hello John,

Thank you very much for your response. I will download the patches and
use it.

I have one more query. The situation is like this

I run the spread daemon, then I connect two to three clients. When I
close the client connections I still see that the socket opened by the
spread daemon does not die. 

The spread daemon does not close the socket once the client closes the
connection. I see that the when the client closes the connection the
socket is in "TIME_WAIT" state. The after 1 minute it goes to
"CLOSE_WAIT" state. But then the "CLOSE_WAIT" state does not go away. It
stays as long as the spread daemon is active and goes away only when the
spread daemon dies.

Question: Is there a way to close those connections ?

Regards
Vikas

-----Original Message-----
From: ext John Lane Schultz [mailto:jschultz at spreadconcepts.com] 
Sent: Tuesday, January 27, 2009 9:52 PM
To: Mr, Vikas (NSN - IN/Bangalore)
Subject: Re[2]: [Spread-users] Newbie: 2 servers, 1 linux, 1 NT,each has
one deamon running, locally work fine,but can't communicate over the
internet

Mr. Vikas,

That bug has been reported in the past and is already fixed in the
development version of Spread 4.0.1.  We just haven't gotten around to
releasing the patch version yet officially, although we probably should
do that soon.

If you want to get access to the most up-to-date version of Spread with
patches, etc., then follow the instructions for getting access to
Spread's cvs/svn code repository on spread.org.

If you want to continue using Spread 4.0.0 instead, then here is the
actual bug fix we made in our development version in diff format.
The problem was that I was casting a char* to a 32b integer* when I
shouldn't have been.

--- stdutil.c   2007-10-25 16:59:59.000000000 -0400
+++ ../../../../trunk/stdutil/src/stdutil.c     2009-01-11
15:54:06.000000000 -0500
@@ -219,7 +219,8 @@
      defined (__BORLANDC__) || defined (__TURBOC__))  #  define
stdhcode_sfh_get16bits(d) ( *((const stduint16*)(d)) )  #else -#  define
stdhcode_sfh_get16bits(d) ( ((stduint32) *((const stduint8 *)(d) + 1) <<
8) | *(const stduint32 *)(d) )
+#  define stdhcode_sfh_get16bits(d) ( ((stduint32) *((const stduint8
*)(d) + 1) << 8) | \
+                                       (stduint32) *(const stduint8 
+*)(d) )
 #endif

 STDINLINE stduint32 stdhcode_sfh(const void * buf, stdsize buf_len)


Cheers!
John

---
John Lane Schultz
Spread Concepts LLC
Phn: 443 838 2200
Fax: 301 560 8875

Tuesday, January 27, 2009, 2:51:57 AM, you wrote:

> Hello,

> Thank you for your response. We are using now in the process of 
> finalizing Spread(latest version) and it seems to work fine. I have 
> informed our management about this and they are also happy.

> But I have one doubt , I faced and error (see below), will this be a 
> big error to correct ? or is it about my system settings ? I am using
Solaris 10.

> While running the spread daemon on Solaris the SIGBUS error was 
> received. The solution to that was

> in the "stdutil.c" file line number 236

> tmp = (stdhcode_sfh_get16bits(kit + 2) << 11) ^ ret;

> was giving a SIGBUS error.

> I calculated this value of tmp by stepping using gdb and hardcoded it.

> i.e

> tmp = 0x24BFFBF2810;

> Then it started working. So the
> point here is that the data types need to be handled well for Solaris.
>  
> Please see if this error could hamper our usage ? Also should I put 
> this up in the spread users list ?
>  
> Regards
> Vikas






> -----Original Message-----
> From: ext John Lane Schultz [mailto:jschultz at spreadconcepts.com]
> Sent: Friday, January 23, 2009 12:43 AM
> To: Mr, Vikas (NSN - IN/Bangalore)
> Cc: michal at spreadconcepts.com
> Subject: RE: [Spread-users] Newbie: 2 servers, 1 linux, 1 NT,each has 
> one deamon running, locally work fine,but can't communicate over the 
> internet

> Mr. Vikas,

> 1) Yes, the different Solaris operating systems are supported 
> platforms as Spread is built to work on most any POSIX platform.
> However, it is no optimized to run on Solaris (e.g. - does not use 
> /dev/poll or I/O completion ports, etc.).

> 2) Spread is mostly an open source project and is in use in thousands 
> of installations around the world, most of which we are not even aware

> because there is no reporting requirement to use Spread's open source
license.
> Spread is even packaged up as part of several Linux distributions. 
> If you like, I can try to put together a short list of known large 
> "customers" of open source Spread.  We generally do not disclose the 
> names of the customers that buy commercial licenses directly from us.

> 3) If you buy a support license from Spread Concepts LLC, then it 
> usually works based on an hourly rate that goes down based on how many

> hours you buy a priori.  Our engineers are available through email, 
> through phone and if necessary through travel (you pay travel costs 
> and time).  Your support hours can be used for simple support with 
> Spread or help with almost any distributed system analysis, design and
development.

> If you choose to utilize the open source license instead, then support

> is voluntary and the spread-users mailing list is your primary
resource.

> Cheers!

> ---
> John Lane Schultz
> Spread Concepts LLC
> Phn: 443 838 2200
> ________________________________________
> From: spread-users-bounces at lists.spread.org
> [mailto:spread-users-bounces at lists.spread.org] On Behalf Of Mr, Vikas 
> (NSN -
> IN/Bangalore)
> Sent: Thursday, January 22, 2009 5:34 AM
> To: John Lane Schultz
> Cc: spread-users at lists.spread.org
> Subject: Re: [Spread-users] Newbie: 2 servers, 1 linux, 1 NT,each has 
> one deamon running, locally work fine,but can't communicate over the 
> internet

> Hello John,
>  
> I am a new user of spread. Currently I am evaluating the product for 
> use in our porject. I have downloaded the spread code and compiled it 
> on Solaris 10. I have a few questions
>  
> 1) Is it officially supported for Solaris 10 ?
>  
> 2) For the product management to use this product they want to know 
> which other third party Applications  use spread ?
>  
> 3) In case of problems, how will the support model be ?
>  
> Just to inform you I have compiled on Solaris 10 and using it , and it
is working fine also !!!!
>  
>  
> Regards
> Vikas

> ________________________________________
> From: spread-users-bounces at lists.spread.org
> [mailto:spread-users-bounces at lists.spread.org] On Behalf Of ext Paolo 
> Bernasconi
> Sent: Thursday, January 22, 2009 1:43 PM
> To: John Lane Schultz
> Cc: spread-users at lists.spread.org
> Subject: Re: [Spread-users] Newbie: 2 servers, 1 linux, 1 NT,each has 
> one deamon running, locally work fine,but can't communicate over the 
> internet Hi John, thanks for the quick reply.
> I will definitely modify the segment address to 127.0.0.1 , since I do

> have one single machine on each side and plan to make use of only one
single daemon on each side.
> About the communication issue: ping goes through without a problem, 
> though I am not sure which port that is.
> I'll try sp_send and sp_recv and see if I can get some more clues 
> about which port is open and which not.
> My suspect is that, since both machines are virtual servers, there 
> sure is one layer of firewall where things might get stopped. I have 
> control of the firewall of my server, but not of the box in which it
runs.
> I will need to bother tech support at both sites, but first I need to 
> understand what the problem is, otherwise ... they will simply tell me

> that they do not support the use of spread ... ;-( I will do some more

> digging with the sp_* tools and go from there.
>  
> Thanks for your help! If I manage to get it working, I'll post the
solution ...
> regards,
> Paolo
> On Wed, Jan 21, 2009 at 11:56 PM, John Lane Schultz 
> <jschultz at spreadconcepts.com> wrote:
> Something between your two daemons is probably blocking their 
> point-to-point traffic to one another.  The culprit could be any 
> number of things, but is most likely either a machine level or network

> level firewall somewhere in the mix.

> You need to make sure that the port number you pick X (3333), port X +

> 1 and port X + 2 are all open for UDP traffic for all the daemons in 
> your configuration.  You can try using sp_send and sp_recv to see if 
> traffic can flow on those ports at all between your machines.  Or, you

> could try some other more basic utility (ping?) to check the same
thing.

> PS - If you are only going to have single machines in a segment, then 
> set the segment address to be 127.0.0.1 so they don't bother any other

> machines in their subnet.  If you are going to have multiple daemons 
> within a subnet, then use a multicast address (e.g.
> - 227.227.227.227) so that your daemons don't needlessly bother 
> uninvolved machines by using the network broadcast address.

> Cheers!
> John

> ---
> John Lane Schultz
> Spread Concepts LLC
> Phn: 443 838 2200
> Fax: 301 560 8875

> Thursday, January 22, 2009, 2:29:39 AM, you wrote:

>> Hi,
>> here is the config file,same for both servers:

>> Spread_Segment xxx.93.145.255:3333 {
>> machine1 xxx.93.145.124
>> }
>> Spread_Segment yyy.154.219.255:3333 {
>> machineB1 yyy.154.219.120
>> }

>> On each server the deamon works fine, and client sessions can 
>> communicate, but there is no way to make both server deamona see each

>> other and have the messages cross over the internet and reach the
> other deamon.

>> After starting up the deamons on each server, this is what I get:

>> on server at yyy.154.219.120 (linux)

>> ....
>> Conf_load_conf_file: using file: spread.conf Successfully configured 
>> Segment 0 [xxx.93.145.255:3333] with 1 procs:
>>                     machine1: xxx.93.145.124 Successfully configured 
>> Segment 1 [yyy.154.219.255:3333] with 1 procs:
>>                    machineB1: yyy.154.219.120 Finished configuration 
>> file.
>> Hash value for this configuration is: 1744128833
>> Conf_load_conf_file: My name: machineB1, id: xyyy.154.219.120, port:
>> 3333 Membership id is ( -660939912, 1232603174)
>> --------------------
>> Configuration at machineB1 is:
>> Num Segments 2
>>         0       xxx.93.145.255    3333
>>         1       xxyyy.154.219.255   3333
>>                 machineB1               yyy.154.219.120
>> ====================

>> <<<<<<<<<<<<<<<<

>> On server xxx.93.145.255    (NT)


>> Conf_load_conf_file: using file: spread.conf Successfully configured 
>> Segment 0 [xxx.93.145.124:3333] with 1 procs:
>>                     machine1: xxx.93.145.124 Successfully configured 
>> Segment 1 [yyy.154.219.120:3333] with 1 procs:
>>                    machineB1: yyy.154.219.120 Finished configuration 
>> file.
>> Hash value for this configuration is: 2008767669
>> Conf_load_conf_file: My name: machine1, id: xxx.93.145.124, port: 
>> 3333 Membership id is ( -799174276, 1232608861)
>> --------------------
>> Configuration at machine1 is:
>> Num Segments 2
>>         1       xxx.93.145.124    3333
>>                 machine1                xxx.93.145.124
>>         0       yyy.154.219.120   3333 ====================

>> <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

>> I can connect locally on each server using spuser, join a group and 
>> send messages. If I use several clients joining the same group, they 
>> all
> see each other.
>> However. joining the same group on both severs across the internet 
>> will not get me anywhere. No client session from one server gets to 
>> the
> other server
>> Now, both server have no firewall, I have disabled it on the NT and 
>> opened
> everything on the linux.
>> Shoulnd't this work or am I missing something?

>> Hope someone can help, I haven't been able to figure it out.

>> Thanks in advance
>> Paolo






More information about the Spread-users mailing list