Newsgroups: comp.parallel.pvm
From: pdinda@cs.cmu.edu (Peter A Dinda)
Subject: Bug report on Paragon
Organization: School of Computer Science, Carnegie Mellon
Date: 15 Aug 1994 19:08:22 GMT
Message-ID: <32oef6$d7@cantaloupe.srv.cs.cmu.edu>


I sent this to the pvm@msr.epm.ornl.gov, but I was wondering if anyone else
has seen the second bug described:

I am using PVM 3.3.1 on a 66 node Intel Paragon.  My
application works fine with PVM 3.3.1 on a
workstation cluster.  First, an obvious bug in
lpvmmimd.c:  in pvm_precv, *rtid is set twice,
the second of which is obviously intended to be
*rlen.

Second, a timing-dependent problem.  In mroute(),
_infocount() will occasionally report that a 4 byte
message is received.  fr_new() is called to reserve
a 4 byte buffer (actually 8 bytes for union align
and 4 bytes for the buffer, I gather).  Then the
following is done:
                        cp = fp->fr_dat;
                        if ((len = pvmget32(cp + 8) + TDFRAGHDR) != fp->fr_len) 
                                            ^^^^^^

Notice that this pointer points beyond the end of the fr_dat buffer...
{
                                /* inplace data */
                                rxbuf = fp;

                                fp = fr_new(len);

The result of which is fr_new being called with a (usually) huge
request.



