Yes indeed, there is something strange.
I've got the same issue. But I never realized the problem because I always
connect to arsystem using a tcp port regardless of the
Register-With-Portmapper setting.
I digged through the sourcecode of rpcbind and found the problem. If a process
is trying to register with portmapper the ip and port information is carried in
a string. If the process trys to register a programm with tcpport 3334 the
string is 0.0.0.0.6.13
0.0.0.0 is for the ip address
6.13 is for the port
13 - 0x0d
6 - 0x06
0x0d06 - 3334
The algo for computing the port from this string swapped the two bytes and this
leads to registering the wrong port.
#ifdef PORTMAP
/*
* Extract port from universal TCP/UDP address
*/
int
uaddr2port(char *uaddr, u_long *p_port)
{
char *pt1, *pt2;
int rc = -1;
if ((pt1 = strrchr(uaddr, '.')) != NULL) {
*pt1++ = 0;
if ((pt2 = strrchr(uaddr, '.')) != NULL) {
*pt2++ = 0;
*p_port = atoi(pt1) * 256 + atoi(pt2); //Here I
exchanged pt1 with pt2 and everything is working
rc = 0;
*--pt2 = '.';
}
*--pt1 = '.';
}
return rc;
}
Kind Regards Conny
-Ursprüngliche Nachricht-
Von: Action Request System discussion list(ARSList)
[mailto:arslist@ARSLIST.ORG] Im Auftrag von michep
Gesendet: Mittwoch, 9. März 2011 14:25
An: arslist@ARSLIST.ORG
Betreff: Re: ARS 7.5p007 on SLES11
OMG! Its getting more and more interesting with every step!
Ok, thanx to Conny (-i parameter to rpcbind service) now im able to start ARS
server with Register-With-Portmapper:T option without errors. BUT!!!
Now trying to connect to ARS server with RUT without specified TCP port I
receive error:
ARERR [90] Cannot establish a network connection to the AR System server :
msk-m1-rem001 : RPC: Miscellaneous tli error - System error (Connection refused)
Ok, thanx to Axton, I stop rpcbind service and started it in debug
mode: rpcbind -id, and able to see whats happen inside.
Restart ARS server, and see that a lot of registration commands
(RPCB_SET) was processed and succeeded.
Now, connecting with RUT without specified TCP and see rpc command in rpcbind
log:
PMAP_GETPORT req for (390620, 18, tcp) from
192.168.170.10.250.247 :port = 47240
So, comment was proessed and port number was returned - 47240.
WTH!? I didn't remove port options in ar.conf, now its looks like:
Register-With-Portmapper: T
TCD-Specific-Port: 35000
Plugin-Port: 36000
and netstat shows that ports 35000 and 36000 are in LISTEN state, so why
rpcbind returned wrong port number?
Next, comment out port options:
Register-With-Portmapper: T
#TCD-Specific-Port: 35000
#Plugin-Port: 36000
and restart ARS server, truing to connect with RUT without specified TCP port -
error again, rpcbind returns:
PMAP_GETPORT req for (390620, 18, tcp) from
192.168.170.10.223.199 :port = 18773
BUT! ARS server is listening on different port:
# lsof +M -p 13564|grep IPv4
...
arserverd 13564 root9u IPv4 1994493 0t0 TCP *:21833
(LISTEN)
...
Whats goning on?!
And even one more finding - in this configuration arplugin reports segfault
every one and a half minutes:
Mar 9 16:02:10 msk-m1-rem001 kernel: [2598443.587831]
arplugin[13909]: segfault at 1c ip f6a33cc1 sp
f42fae28 error 4 in libc-2.11.1.so[f69c2000+15b000]
I call support ...
On 6 мар, 12:48, Conny Martin conny.mar...@t-systems.com wrote:
so go to /etc/sysconfig/rpcbind and add this line
RPCBIND_OPTIONS=-i
then restart rpcbind (/etc/init.d/rpcbind restart) you should now see
the -i option in ps output If you start your arserver it should now be
able to register with portmapper
On 6 мар, 02:33, Axton axton.gr...@gmail.com wrote:
Try starting rpcbind in debug mode to see what it reports. Look in
/var/log/messages to see if rpcbind is reporting anything there already.
___
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org attend wwrug11
www.wwrug.com ARSList: Where the Answers Are