Portmapper

Portmapper

Post by Simon Chamber » Thu, 28 Jun 2001 23:15:03



Up until now, I have always used a redhat or mandrake distribution, but
recently, I decided to rebuild the whole lot from source code, because I
wasn't happy with the way the other distributions set up the os.

However, to my problem,  I have a redhat 4.2 system working as an internal
only file and print server, and it exports it's filesystems as NFS for the
Linux workstations, and SMB for the win9x ones, which is fine.

However, on completion of the rebuild, I downloaded the portmapper and NFS
sources, one from debian, one from the NFS homepage,  I also downloaded the
RPC bind program from the homepage for that too.  

I compiled and installed them all fine, and got them installed.

I have never set up NFS or RPC from scratch before, I have always used the
default configuration and installation provided by the installer, and just
modified the relevant files to get them to work.

However, I can't on the new base system get the RPC services to work, I
managed to get the portmap package to install fine, got NFS to install fine
as well,  and set up the relevant entries in the system boot scripts
(basically just copied from my previous system) and also the mount points
and everything else.

However, when I rebooted, the mountd daemon exited with the following:

Cannot register service: RPC: Unable to send; errno = Invalid argument

the portmap process was running fine, and all was as it seemed to be.

I tried replacing portmap with rpc.bind, but the same result occurred.

I recall having this or a similar problem a number of years back, but I
can't think of the solution.

Any ideas / Links / Postings would be greatly appreciated.

Si

 
 
 

Portmapper

Post by Peet Groble » Fri, 29 Jun 2001 20:08:21


There is a tip on the linuxfromscratch website (think it's .org) on how to
install nfs. They explain it all for you.

Up until now, I have always used a redhat or mandrake distribution, but
recently, I decided to rebuild the whole lot from source code, because I
wasn't happy with the way the other distributions set up the os.

However, to my problem,  I have a redhat 4.2 system working as an internal
only file and print server, and it exports it's filesystems as NFS for the
Linux workstations, and SMB for the win9x ones, which is fine.

However, on completion of the rebuild, I downloaded the portmapper and NFS
sources, one from debian, one from the NFS homepage,  I also downloaded the
RPC bind program from the homepage for that too.

I compiled and installed them all fine, and got them installed.

I have never set up NFS or RPC from scratch before, I have always used the
default configuration and installation provided by the installer, and just
modified the relevant files to get them to work.

However, I can't on the new base system get the RPC services to work, I
managed to get the portmap package to install fine, got NFS to install fine
as well,  and set up the relevant entries in the system boot scripts
(basically just copied from my previous system) and also the mount points
and everything else.

However, when I rebooted, the mountd daemon exited with the following:

Cannot register service: RPC: Unable to send; errno = Invalid argument

the portmap process was running fine, and all was as it seemed to be.

I tried replacing portmap with rpc.bind, but the same result occurred.

I recall having this or a similar problem a number of years back, but I
can't think of the solution.

Any ideas / Links / Postings would be greatly appreciated.

Si

 
 
 

Portmapper

Post by Simon Chamber » Fri, 29 Jun 2001 22:31:24


Thanks very much, took me a little while to find it, but well worth it!!

Si

> There is a tip on the linuxfromscratch website (think it's .org) on how to
> install nfs. They explain it all for you.


> Up until now, I have always used a redhat or mandrake distribution, but
> recently, I decided to rebuild the whole lot from source code, because I
> wasn't happy with the way the other distributions set up the os.

> However, to my problem,  I have a redhat 4.2 system working as an internal
> only file and print server, and it exports it's filesystems as NFS for the
> Linux workstations, and SMB for the win9x ones, which is fine.

> However, on completion of the rebuild, I downloaded the portmapper and NFS
> sources, one from debian, one from the NFS homepage,  I also downloaded
> the RPC bind program from the homepage for that too.

> I compiled and installed them all fine, and got them installed.

> I have never set up NFS or RPC from scratch before, I have always used the
> default configuration and installation provided by the installer, and just
> modified the relevant files to get them to work.

> However, I can't on the new base system get the RPC services to work, I
> managed to get the portmap package to install fine, got NFS to install
> fine
> as well,  and set up the relevant entries in the system boot scripts
> (basically just copied from my previous system) and also the mount points
> and everything else.

> However, when I rebooted, the mountd daemon exited with the following:

> Cannot register service: RPC: Unable to send; errno = Invalid argument

> the portmap process was running fine, and all was as it seemed to be.

> I tried replacing portmap with rpc.bind, but the same result occurred.

> I recall having this or a similar problem a number of years back, but I
> can't think of the solution.

> Any ideas / Links / Postings would be greatly appreciated.

> Si

 
 
 

1. Handling of multiple identical servers by the portmapper

Assume a client-process writing some data via RPC-call into a server-process and later reading this previously written data (via another RPC-call) multiple times with arbitrary time-intervals between.

Assume further there a multiple clients each of them wants to write data into the server and later to read from the server. Each client starts for these purpose a new server-process.

It seems the portmapp-deamon (respectively the rpcbind on solaris 2.x) handles this situation correct if the following chronological order related to the startpoints of the processes is kept:

server(1)
client(1)
server(2)
client(2)
server(3)
client(3) (the number within brackets indicates a pair of corresponing                       client-server)

In the next situation the client(2) overwrites datas previously written by client(1):

server(1)
server(2)
client(1)
client(2)

My conjecture is that the portmap-deamon assigns a requesting (via 'clnt_create'-call) client-process the portnumber of that matching (related to the program-number) serverprocess which has last of all (related to servers with matching program-numbers) registered itself to the portmapper. (The program-number is declared in the 'application.x '-file).

If this supposition is correct it would explain the wrong result in the latter situation described above: both clients are assigned to the portnumber of server(2) by the portmapper. Therefore client(2) overwrites the datas of client(1) and later client(1) reads not his own datas but these of client(2)!

My question is very short: Is my conjecture correct? Is that specific topic somewhere (manual, book, www...) described?

Thanks for your patience with reading such a long problem-description and a lot of thanks in advance for a helpful answer!

Ciao,
       KLaus  

_______________________________________________________________________________


_______________________________________________________________________________

2. Kernel boot error

3. clnttcp_create: Cannot comm. with portmapper suddenly.

4. Repeating characters

5. portmapper

6. Disk buffer..

7. Portmapper

8. cam SCSI without da0?

9. portmapper, mountd and nfsd won't start

10. NFS/Portmapper Question

11. portmapper bug crashes rs6000

12. portmapper failure

13. Portmapper UNSET operation unsets too much