
PVM Version 3 Release 3.1 Errata
12 Apr 1993

________________________________________________________________________

This errata file will be updated as necessary to reflect known bugs in
version 3.1.  It is intended to get users unstuck from small problems
with the release.  I'll try to keep it short.


NOTES

2.	The only mpp port available so far is the I860.  We're working
	on others.  The I860 mpp port is available as a separate package.
	Some time soon it will be integrated into the regular src.

1.	If a pvmd dies or is killed with f.e. SIGKILL it may leave
	behind a file, `/tmp/pvmd.<uid>', where <uid> is the numeric
	uid of the user.  Until this file is removed (by hand) another
	pvmd will not start on that host.


BUGS - General

5.	When deleting a host using the console delete command or the
	pvm_delhosts() function, you may see a message like:

	    [t80040000] netinput() bogus pkt from 128.169.201.228:3743

	in the log file.  Don't worry about it; it won't hurt you.

4.	Inplace packing (PvmDataInPlace) is still not implemented.

3.	The task-task TCP routing should be considered fragile.  It is enabled
	in passive mode by default - a task will not try to establish a TCP
	connection with another task, but will grant one if requested.
	The pvm_advise() call controls routing policy and should be called
	with one of the following three as a parameter:
		PvmDontRoute    1   /* don't allow direct task-task links */
		PvmAllowDirect  2   /* allow direct links, but don't request */
		PvmRouteDirect  3   /* request direct links */

2.	There's no easy way to know when the master pvmd has finished starting
	all the slave pvmds when it is started with a hostfile, since it will
	answer connection requests from local tasks right away.  A task could
	call pvm_config(), looping until the configuration includes more than
	the master host.

1.	Output printed in node programs may not be seen right away or at
	all unless you flush the output buffer in the program.  The I/O
	libraries buffer input and output for efficiency whenever
	possible.  That is, they try to reduce the frequency of actual
	read() or write() system calls.  If the printed lines are still
	in the buffer when the task exits, the pvmd may clean up and mark
	the task dead before reading the output and so never get it.

	There are a few ways to see your output at the correct time.  In C
	You can put "fflush(stdout);" after critical printf() calls.  Or,
	change the buffering mode of stdout to line-oriented for the
	entire program by putting "setlinebuf(stdout);" near the top of
	the program.  In Fortran, there is often a flush function too.


BUGS - SGI systems

1.	rexec() doesn't seem to work, so startup with the hostfile password
	(pw) option with the master pvmd running on an SGI probably won't
	work.


BUGS - PMAX systems

1.	File src/startup.c won't compile with -O.


