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 root    9u  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 00000000f6a33cc1 sp
00000000f42fae28 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"

Reply via email to