Newsgroups: comp.parallel.pvm
From: jeff@Adeno.wistar.upenn.edu (Jeff Taylor)
Subject: FPVM bug?
Organization: University of Pennsylvania
Date: 21 Nov 1995 18:26:44 GMT
Message-ID: <48t5l4$2uf@netnews.upenn.edu>

	I've been writing a pvm program in fortran and have
run into a problem I can't explain.  This isn't unusual as
I mostly program in C and I make lots of errors in fortran.
This one, however, may be a PVM bug.  It comes while unpacking
a buffer, I first unpack an integer, which works ok.  But
when I then unpack the next variable, which is real, the
real value is ok but the integer is now changed to zero.
It sounds like a typedef problem to me but I've double checked,
the varibles 'chrome' and 'n' are type integer and are
packed/unpacked as INTEGER4.  The variables rn,x,y are
type real*8 and are packed/unpacked as REAL8.
	I've written a few other PVM fortran programs and
never seen this before.  I'll post the source if I can 
whittle it down to a small size and in the mean time if you
have any suggestions, please send E-mail.  Here is a dbx
step through of the problem.

Thanx,   Jeff

dbx version 3.18 Feb 14 1994 00:52:47
Type 'help' for help.
Process 14591 (p_ga) started
[2] Process 14591 (p_ga) stopped at [currentga:30 ,0x403df4]
  30  call pvmfmytid( mytid )
(dbx) step
Process 14591 (p_ga) stopped at [currentga:31 ,0x403e10]
  31  call pvmfparent( tids(0) )
(dbx) step
Process 14591 (p_ga) stopped at [currentga:33 ,0x403e30]
  33  if ( tids(0) .EQ. PVMNOPARENT ) then
(dbx) step
Process 14591 (p_ga) stopped at [currentga:286 ,0x406638]
 286  chrome = 1
(dbx) step
Process 14591 (p_ga) stopped at [currentga:288 ,0x406640]
 288  do while (chrome .gt. 0) 
(dbx) step
Process 14591 (p_ga) stopped at [currentga:290 ,0x406650]
 290  msgtype =-1
(dbx) step
Process 14591 (p_ga) stopped at [currentga:291 ,0x406658]
 291  call pvmfrecv( -1, msgtype, info )
(dbx) step
Process 14591 (p_ga) stopped at [currentga:292 ,0x406680]
 292  call pvmfunpack( INTEGER4, n, 1, 1, info )
(dbx) step
Process 14591 (p_ga) stopped at [currentga:293 ,0x4066bc]
 293  chrome=n
(dbx) step
Process 14591 (p_ga) stopped at [currentga:294 ,0x4066c8]
 294  call pvmfunpack( REAL8, x, 1, 1, info )
(dbx) print chrome,n,x
1 1 0.0 
(dbx) step
Process 14591 (p_ga) stopped at [currentga:295 ,0x406704]
 295  rn=x
(dbx) print chrome,n,x
0 1 1.9873958826065063 
^
why did this change?



