Re: [OMPI devel] Bad parameter in file oob_tcp.c
Yes - but Marco said he was going to look into it. I meant that I would fix the problem George identified, although it doesn't fix the problem Marco hit. Sorry for the confusion On Wed, Mar 5, 2014 at 2:48 PM, Paul Hargrovewrote: > Wait a second... > > Unless I am missing something Marco's error means that Cygwin *did* return > INADDR_ANY. > According to George's research that shouldn't happen (unless on XP or > older and host is an empty string). > > So, changing the code to check for INADDR_NONE just ignores what should be > an impossible return, right? > I agree that the change makes the code check for what it was meant to > check for, but doesn't Marco's result *still* point at a problem with host > resolution under Cygwin? > > -Paul > > > On Wed, Mar 5, 2014 at 2:35 PM, Ralph Castain wrote: > >> Cool - I'll make the correction. Thx! >> >> >> >> On Wed, Mar 5, 2014 at 2:08 PM, George Bosilca wrote: >> >>> I'm afraid the snippet pointed by Ralph is incorrect, as INADDR_ANY >>> should not be a valid return for inet_addr. Here is a quick check on >>> different OSes. >>> >>> On Linux, the man Page states: >>> >>> If the input is invalid, INADDR_NONE (usually -1) is returned. >>> >>> >>> On Mac OS X: >>> >>> The constant INADDR_NONE is returned by inet_addr() and inet_network() >>> for malformed requests. >>> >>> >>> On Windows things are slightly more complicated: >>> >>> On Windows Server 2003 and later if the string in the cp parameter is an >>> empty string, then inet_addr returns the value INADDR_NONE. If NULL is >>> passed in the cp parameter, then inet_addrreturns the value INADDR_NONE. >>> On Windows XP and earlier if the string in the cp parameter is an empty >>> string, then inet_addr returns the value INADDR_ANY. If NULL is passed in >>> the cp parameter, then inet_addr returns the value INADDR_NONE. >>> >>> >>> Thus, we should compare with INADDR_NONE and not with INADDR_ANY. >>> >>> George. >>> >>> On Mar 4, 2014, at 22:06 , Ralph Castain wrote: >>> >>> The code generating the error is here: >>> >>> in->sin_addr.s_addr = inet_addr(host); >>> if (in->sin_addr.s_addr == INADDR_ANY) { >>> return ORTE_ERR_BAD_PARAM; >>> } >>> >>> >>> The address is resolving to INADDR_ANY instead of a regular address. >>> Does cygwin require some other method for resolving a hostname to an IP >>> address? >>> >>> Ralph >>> >>> >>> >>> On Tue, Mar 4, 2014 at 3:19 PM, Marco Atzeri wrote: >>> noted on cygwin with 1.7.4 and on 1.7.5rc1 $ mpirun -n 4 ./hello_c.exe [MATZERI:06212] [[62628,1],0] ORTE_ERROR_LOG: Bad parameter in file /pub/devel/openmpi/openmpi-1.7.5rc1-1/src/openmpi-1.7.5rc1/orte/mca/oob/tcp/oob_tcp.c at line 292 [MATZERI:05620] [[62628,1],1] ORTE_ERROR_LOG: Bad parameter in file /pub/devel/openmpi/openmpi-1.7.5rc1-1/src/openmpi-1.7.5rc1/orte/mca/oob/tcp/oob_tcp.c at line 292 [MATZERI:06892] [[62628,1],2] ORTE_ERROR_LOG: Bad parameter in file /pub/devel/openmpi/openmpi-1.7.5rc1-1/src/openmpi-1.7.5rc1/orte/mca/oob/tcp/oob_tcp.c at line 292 [MATZERI:03908] [[62628,1],3] ORTE_ERROR_LOG: Bad parameter in file /pub/devel/openmpi/openmpi-1.7.5rc1-1/src/openmpi-1.7.5rc1/orte/mca/oob/tcp/oob_tcp.c at line 292 Hello, world, I am 1 of 4, (Open MPI v1.7.5rc1, package: Open MPI marco@MATZERI Distribution, ident: 1.7.5rc1, Mar 01, 2014, 102) Hello, world, I am 2 of 4, (Open MPI v1.7.5rc1, package: Open MPI marco@MATZERI Distribution, ident: 1.7.5rc1, Mar 01, 2014, 102) Hello, world, I am 3 of 4, (Open MPI v1.7.5rc1, package: Open MPI marco@MATZERI Distribution, ident: 1.7.5rc1, Mar 01, 2014, 102) Hello, world, I am 0 of 4, (Open MPI v1.7.5rc1, package: Open MPI marco@MATZERI Distribution, ident: 1.7.5rc1, Mar 01, 2014, 102) any idea what could be the cause ? I don't remember it in previous 1.7.x releases the relevant code is: if ((rc = parse_uri(pop->af_family, pop->net, pop->port, (struct sockaddr*) )) != ORTE_SUCCESS) { ORTE_ERROR_LOG(rc); Regards Marco ___ devel mailing list de...@open-mpi.org Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel Searchable archives: http://www.open-mpi.org/ community/lists/devel/2014/03/index.php >>> >>> ___ >>> devel mailing list >>> de...@open-mpi.org >>> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel >>> Searchable archives: >>> http://www.open-mpi.org/community/lists/devel/2014/03/index.php >>> >>> >>> >>> ___ >>> devel mailing list >>> de...@open-mpi.org >>> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel >>> Link to this post: >>>
Re: [OMPI devel] Bad parameter in file oob_tcp.c
Wait a second... Unless I am missing something Marco's error means that Cygwin *did* return INADDR_ANY. According to George's research that shouldn't happen (unless on XP or older and host is an empty string). So, changing the code to check for INADDR_NONE just ignores what should be an impossible return, right? I agree that the change makes the code check for what it was meant to check for, but doesn't Marco's result *still* point at a problem with host resolution under Cygwin? -Paul On Wed, Mar 5, 2014 at 2:35 PM, Ralph Castainwrote: > Cool - I'll make the correction. Thx! > > > > On Wed, Mar 5, 2014 at 2:08 PM, George Bosilca wrote: > >> I'm afraid the snippet pointed by Ralph is incorrect, as INADDR_ANY >> should not be a valid return for inet_addr. Here is a quick check on >> different OSes. >> >> On Linux, the man Page states: >> >> If the input is invalid, INADDR_NONE (usually -1) is returned. >> >> >> On Mac OS X: >> >> The constant INADDR_NONE is returned by inet_addr() and inet_network() >> for malformed requests. >> >> >> On Windows things are slightly more complicated: >> >> On Windows Server 2003 and later if the string in the cp parameter is an >> empty string, then inet_addr returns the value INADDR_NONE. If NULL is >> passed in the cp parameter, then inet_addrreturns the value INADDR_NONE. >> On Windows XP and earlier if the string in the cp parameter is an empty >> string, then inet_addr returns the value INADDR_ANY. If NULL is passed in >> the cp parameter, then inet_addr returns the value INADDR_NONE. >> >> >> Thus, we should compare with INADDR_NONE and not with INADDR_ANY. >> >> George. >> >> On Mar 4, 2014, at 22:06 , Ralph Castain wrote: >> >> The code generating the error is here: >> >> in->sin_addr.s_addr = inet_addr(host); >> if (in->sin_addr.s_addr == INADDR_ANY) { >> return ORTE_ERR_BAD_PARAM; >> } >> >> >> The address is resolving to INADDR_ANY instead of a regular address. Does >> cygwin require some other method for resolving a hostname to an IP address? >> >> Ralph >> >> >> >> On Tue, Mar 4, 2014 at 3:19 PM, Marco Atzeri wrote: >> >>> noted on cygwin with 1.7.4 and on 1.7.5rc1 >>> >>> $ mpirun -n 4 ./hello_c.exe >>> [MATZERI:06212] [[62628,1],0] ORTE_ERROR_LOG: Bad parameter in file >>> /pub/devel/openmpi/openmpi-1.7.5rc1-1/src/openmpi-1.7.5rc1/orte/mca/oob/tcp/oob_tcp.c >>> at line 292 >>> [MATZERI:05620] [[62628,1],1] ORTE_ERROR_LOG: Bad parameter in file >>> /pub/devel/openmpi/openmpi-1.7.5rc1-1/src/openmpi-1.7.5rc1/orte/mca/oob/tcp/oob_tcp.c >>> at line 292 >>> [MATZERI:06892] [[62628,1],2] ORTE_ERROR_LOG: Bad parameter in file >>> /pub/devel/openmpi/openmpi-1.7.5rc1-1/src/openmpi-1.7.5rc1/orte/mca/oob/tcp/oob_tcp.c >>> at line 292 >>> [MATZERI:03908] [[62628,1],3] ORTE_ERROR_LOG: Bad parameter in file >>> /pub/devel/openmpi/openmpi-1.7.5rc1-1/src/openmpi-1.7.5rc1/orte/mca/oob/tcp/oob_tcp.c >>> at line 292 >>> Hello, world, I am 1 of 4, (Open MPI v1.7.5rc1, package: Open MPI >>> marco@MATZERI Distribution, ident: 1.7.5rc1, Mar 01, 2014, 102) >>> Hello, world, I am 2 of 4, (Open MPI v1.7.5rc1, package: Open MPI >>> marco@MATZERI Distribution, ident: 1.7.5rc1, Mar 01, 2014, 102) >>> Hello, world, I am 3 of 4, (Open MPI v1.7.5rc1, package: Open MPI >>> marco@MATZERI Distribution, ident: 1.7.5rc1, Mar 01, 2014, 102) >>> Hello, world, I am 0 of 4, (Open MPI v1.7.5rc1, package: Open MPI >>> marco@MATZERI Distribution, ident: 1.7.5rc1, Mar 01, 2014, 102) >>> >>> any idea what could be the cause ? >>> >>> I don't remember it in previous 1.7.x releases >>> >>> the relevant code is: >>> >>> if ((rc = parse_uri(pop->af_family, pop->net, pop->port, (struct >>> sockaddr*) )) != ORTE_SUCCESS) { >>> ORTE_ERROR_LOG(rc); >>> >>> Regards >>> Marco >>> ___ >>> devel mailing list >>> de...@open-mpi.org >>> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel >>> Searchable archives: http://www.open-mpi.org/ >>> community/lists/devel/2014/03/index.php >>> >> >> ___ >> devel mailing list >> de...@open-mpi.org >> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel >> Searchable archives: >> http://www.open-mpi.org/community/lists/devel/2014/03/index.php >> >> >> >> ___ >> devel mailing list >> de...@open-mpi.org >> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel >> Link to this post: >> http://www.open-mpi.org/community/lists/devel/2014/03/14301.php >> > > > ___ > devel mailing list > de...@open-mpi.org > Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel > Link to this post: > http://www.open-mpi.org/community/lists/devel/2014/03/14302.php > -- Paul H. Hargrove phhargr...@lbl.gov Future
Re: [OMPI devel] Bad parameter in file oob_tcp.c
Cool - I'll make the correction. Thx! On Wed, Mar 5, 2014 at 2:08 PM, George Bosilcawrote: > I'm afraid the snippet pointed by Ralph is incorrect, as INADDR_ANY should > not be a valid return for inet_addr. Here is a quick check on different > OSes. > > On Linux, the man Page states: > > If the input is invalid, INADDR_NONE (usually -1) is returned. > > > On Mac OS X: > > The constant INADDR_NONE is returned by inet_addr() and inet_network() for > malformed requests. > > > On Windows things are slightly more complicated: > > On Windows Server 2003 and later if the string in the cp parameter is an > empty string, then inet_addr returns the value INADDR_NONE. If NULL is > passed in the cp parameter, then inet_addrreturns the value INADDR_NONE. > On Windows XP and earlier if the string in the cp parameter is an empty > string, then inet_addr returns the value INADDR_ANY. If NULL is passed in > the cp parameter, then inet_addr returns the value INADDR_NONE. > > > Thus, we should compare with INADDR_NONE and not with INADDR_ANY. > > George. > > On Mar 4, 2014, at 22:06 , Ralph Castain wrote: > > The code generating the error is here: > > in->sin_addr.s_addr = inet_addr(host); > if (in->sin_addr.s_addr == INADDR_ANY) { > return ORTE_ERR_BAD_PARAM; > } > > > The address is resolving to INADDR_ANY instead of a regular address. Does > cygwin require some other method for resolving a hostname to an IP address? > > Ralph > > > > On Tue, Mar 4, 2014 at 3:19 PM, Marco Atzeri wrote: > >> noted on cygwin with 1.7.4 and on 1.7.5rc1 >> >> $ mpirun -n 4 ./hello_c.exe >> [MATZERI:06212] [[62628,1],0] ORTE_ERROR_LOG: Bad parameter in file >> /pub/devel/openmpi/openmpi-1.7.5rc1-1/src/openmpi-1.7.5rc1/orte/mca/oob/tcp/oob_tcp.c >> at line 292 >> [MATZERI:05620] [[62628,1],1] ORTE_ERROR_LOG: Bad parameter in file >> /pub/devel/openmpi/openmpi-1.7.5rc1-1/src/openmpi-1.7.5rc1/orte/mca/oob/tcp/oob_tcp.c >> at line 292 >> [MATZERI:06892] [[62628,1],2] ORTE_ERROR_LOG: Bad parameter in file >> /pub/devel/openmpi/openmpi-1.7.5rc1-1/src/openmpi-1.7.5rc1/orte/mca/oob/tcp/oob_tcp.c >> at line 292 >> [MATZERI:03908] [[62628,1],3] ORTE_ERROR_LOG: Bad parameter in file >> /pub/devel/openmpi/openmpi-1.7.5rc1-1/src/openmpi-1.7.5rc1/orte/mca/oob/tcp/oob_tcp.c >> at line 292 >> Hello, world, I am 1 of 4, (Open MPI v1.7.5rc1, package: Open MPI >> marco@MATZERI Distribution, ident: 1.7.5rc1, Mar 01, 2014, 102) >> Hello, world, I am 2 of 4, (Open MPI v1.7.5rc1, package: Open MPI >> marco@MATZERI Distribution, ident: 1.7.5rc1, Mar 01, 2014, 102) >> Hello, world, I am 3 of 4, (Open MPI v1.7.5rc1, package: Open MPI >> marco@MATZERI Distribution, ident: 1.7.5rc1, Mar 01, 2014, 102) >> Hello, world, I am 0 of 4, (Open MPI v1.7.5rc1, package: Open MPI >> marco@MATZERI Distribution, ident: 1.7.5rc1, Mar 01, 2014, 102) >> >> any idea what could be the cause ? >> >> I don't remember it in previous 1.7.x releases >> >> the relevant code is: >> >> if ((rc = parse_uri(pop->af_family, pop->net, pop->port, (struct >> sockaddr*) )) != ORTE_SUCCESS) { >> ORTE_ERROR_LOG(rc); >> >> Regards >> Marco >> ___ >> devel mailing list >> de...@open-mpi.org >> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel >> Searchable archives: http://www.open-mpi.org/ >> community/lists/devel/2014/03/index.php >> > > ___ > devel mailing list > de...@open-mpi.org > Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel > Searchable archives: > http://www.open-mpi.org/community/lists/devel/2014/03/index.php > > > > ___ > devel mailing list > de...@open-mpi.org > Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel > Link to this post: > http://www.open-mpi.org/community/lists/devel/2014/03/14301.php >
Re: [OMPI devel] Bad parameter in file oob_tcp.c
I’m afraid the snippet pointed by Ralph is incorrect, as INADDR_ANY should not be a valid return for inet_addr. Here is a quick check on different OSes. On Linux, the man Page states: > If the input is invalid, INADDR_NONE (usually -1) is returned. On Mac OS X: > The constant INADDR_NONE is returned by inet_addr() and inet_network() for > malformed requests. On Windows things are slightly more complicated: > On Windows Server 2003 and later if the string in the cp parameter is an > empty string, then inet_addr returns the value INADDR_NONE. If NULL is passed > in the cp parameter, then inet_addrreturns the value INADDR_NONE. > On Windows XP and earlier if the string in the cp parameter is an empty > string, then inet_addr returns the value INADDR_ANY. If NULL is passed in the > cp parameter, then inet_addr returns the value INADDR_NONE. Thus, we should compare with INADDR_NONE and not with INADDR_ANY. George. On Mar 4, 2014, at 22:06 , Ralph Castainwrote: > The code generating the error is here: > > in->sin_addr.s_addr = inet_addr(host); > if (in->sin_addr.s_addr == INADDR_ANY) { > return ORTE_ERR_BAD_PARAM; > } > > > The address is resolving to INADDR_ANY instead of a regular address. Does > cygwin require some other method for resolving a hostname to an IP address? > > Ralph > > > > On Tue, Mar 4, 2014 at 3:19 PM, Marco Atzeri wrote: > noted on cygwin with 1.7.4 and on 1.7.5rc1 > > $ mpirun -n 4 ./hello_c.exe > [MATZERI:06212] [[62628,1],0] ORTE_ERROR_LOG: Bad parameter in file > /pub/devel/openmpi/openmpi-1.7.5rc1-1/src/openmpi-1.7.5rc1/orte/mca/oob/tcp/oob_tcp.c > at line 292 > [MATZERI:05620] [[62628,1],1] ORTE_ERROR_LOG: Bad parameter in file > /pub/devel/openmpi/openmpi-1.7.5rc1-1/src/openmpi-1.7.5rc1/orte/mca/oob/tcp/oob_tcp.c > at line 292 > [MATZERI:06892] [[62628,1],2] ORTE_ERROR_LOG: Bad parameter in file > /pub/devel/openmpi/openmpi-1.7.5rc1-1/src/openmpi-1.7.5rc1/orte/mca/oob/tcp/oob_tcp.c > at line 292 > [MATZERI:03908] [[62628,1],3] ORTE_ERROR_LOG: Bad parameter in file > /pub/devel/openmpi/openmpi-1.7.5rc1-1/src/openmpi-1.7.5rc1/orte/mca/oob/tcp/oob_tcp.c > at line 292 > Hello, world, I am 1 of 4, (Open MPI v1.7.5rc1, package: Open MPI > marco@MATZERI Distribution, ident: 1.7.5rc1, Mar 01, 2014, 102) > Hello, world, I am 2 of 4, (Open MPI v1.7.5rc1, package: Open MPI > marco@MATZERI Distribution, ident: 1.7.5rc1, Mar 01, 2014, 102) > Hello, world, I am 3 of 4, (Open MPI v1.7.5rc1, package: Open MPI > marco@MATZERI Distribution, ident: 1.7.5rc1, Mar 01, 2014, 102) > Hello, world, I am 0 of 4, (Open MPI v1.7.5rc1, package: Open MPI > marco@MATZERI Distribution, ident: 1.7.5rc1, Mar 01, 2014, 102) > > any idea what could be the cause ? > > I don't remember it in previous 1.7.x releases > > the relevant code is: > > if ((rc = parse_uri(pop->af_family, pop->net, pop->port, (struct > sockaddr*) )) != ORTE_SUCCESS) { > ORTE_ERROR_LOG(rc); > > Regards > Marco > ___ > devel mailing list > de...@open-mpi.org > Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel > Searchable archives: > http://www.open-mpi.org/community/lists/devel/2014/03/index.php > > ___ > devel mailing list > de...@open-mpi.org > Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel > Searchable archives: > http://www.open-mpi.org/community/lists/devel/2014/03/index.php
Re: [OMPI devel] Bad parameter in file oob_tcp.c
On 05/03/2014 04:06, Ralph Castain wrote: The code generating the error is here: in->sin_addr.s_addr = inet_addr(host); if (in->sin_addr.s_addr == INADDR_ANY) { return ORTE_ERR_BAD_PARAM; } The address is resolving to INADDR_ANY instead of a regular address. Does cygwin require some other method for resolving a hostname to an IP address? Ralph in theory should be transparent using the same as windows. But I need to understand if there is any difference in formal behavior Regards Marco
[OMPI devel] Bad parameter in file oob_tcp.c
noted on cygwin with 1.7.4 and on 1.7.5rc1 $ mpirun -n 4 ./hello_c.exe [MATZERI:06212] [[62628,1],0] ORTE_ERROR_LOG: Bad parameter in file /pub/devel/openmpi/openmpi-1.7.5rc1-1/src/openmpi-1.7.5rc1/orte/mca/oob/tcp/oob_tcp.c at line 292 [MATZERI:05620] [[62628,1],1] ORTE_ERROR_LOG: Bad parameter in file /pub/devel/openmpi/openmpi-1.7.5rc1-1/src/openmpi-1.7.5rc1/orte/mca/oob/tcp/oob_tcp.c at line 292 [MATZERI:06892] [[62628,1],2] ORTE_ERROR_LOG: Bad parameter in file /pub/devel/openmpi/openmpi-1.7.5rc1-1/src/openmpi-1.7.5rc1/orte/mca/oob/tcp/oob_tcp.c at line 292 [MATZERI:03908] [[62628,1],3] ORTE_ERROR_LOG: Bad parameter in file /pub/devel/openmpi/openmpi-1.7.5rc1-1/src/openmpi-1.7.5rc1/orte/mca/oob/tcp/oob_tcp.c at line 292 Hello, world, I am 1 of 4, (Open MPI v1.7.5rc1, package: Open MPI marco@MATZERI Distribution, ident: 1.7.5rc1, Mar 01, 2014, 102) Hello, world, I am 2 of 4, (Open MPI v1.7.5rc1, package: Open MPI marco@MATZERI Distribution, ident: 1.7.5rc1, Mar 01, 2014, 102) Hello, world, I am 3 of 4, (Open MPI v1.7.5rc1, package: Open MPI marco@MATZERI Distribution, ident: 1.7.5rc1, Mar 01, 2014, 102) Hello, world, I am 0 of 4, (Open MPI v1.7.5rc1, package: Open MPI marco@MATZERI Distribution, ident: 1.7.5rc1, Mar 01, 2014, 102) any idea what could be the cause ? I don't remember it in previous 1.7.x releases the relevant code is: if ((rc = parse_uri(pop->af_family, pop->net, pop->port, (struct sockaddr*) )) != ORTE_SUCCESS) { ORTE_ERROR_LOG(rc); Regards Marco