Newsgroups: comp.parallel.pvm
From: Tudor Buican <tudor@workhorse.timb.com>
Subject: Another case of disappearing messages
Organization: Rt66.COM, Public Internet Access in New Mexico
Date: Thu, 18 Apr 1996 12:44:19 -0600
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Message-ID: <31768D83.7606@workhorse.timb.com>

Hi.

I'm running an application on a cluster of PCs 
(mixed Win95 and NT) under WPVM (Hmm...). At one 
point, one node is set up as a receiver, while the 
other nodes send messages to it. All messages use 
the same message type, which is reserved for this 
message exchange. The length of the messages is 
variable.

The senders execute something like the following:

	pvm_initsend(PvmDataDefault);      			
	pvm_pkint(&my_process_no, 1, 1);								
	pvm_pkint(&data_length, 1, 1);
	pvm_pkbyte(buffer, data_length, 1);
	pvm_send(destination_tid, msgtype);

while the receiver does something like this:

	to_receive = no_nodes - 1;
	while (to_receive > 0){
	  pvm_recv(-1, msgtype);
	  pvm_upkint(&msg_source, 1, 1);			  	  	 
	  pvm_upkint(&data_length, 1, 1);				  	  		 
	  pvm_upkbyte(buffer, data_length, 1);
	  to_receive--;

	..... Process the received data .....	

	}

1. If there are only two nodes (i.e., one receiver 
and one sender), everything works fine for all 
message lengths that I've tried;

2. If there are more than two nodes (i.e., more 
than one sender), everything works fine for very 
short messages (maybe less than a few hundred 
bytes);

3. For more than one sender and long messages, the 
first message is always received, after which 
pvm_recv does not return anymore.

Does anybody have a clue?

Many thanks,
- Tudor

