[mpich-discuss] ad_pvfs2_read bug in ADIOI_PVFS2_ReadStrided()

Wei-keng Liao wkliao at ece.northwestern.edu
Fri May 29 19:01:31 CDT 2009


I suspect there is a bug at line 480, file ad_pvfds2_read.c.
Here is the test case. Each process defines a noncontiguous fileview
using MPI_Type_vector() and MPI_File_read_all() reads an amount
that is less than the size of first contiguous block in fileview.

When calling PVFS_Request_contiguous(), the variable mem_lengths
is not set to the buffer size, instead it is set to the first block
size. So, it will reads more data than the read buffer size. (may
cause segmentation fault)

I don't know the if condition at line 480 is correct.
     if(i || k) {

I think when i and k are both zero, the statements inside the if
condition are still needed. There are other places having the same
if condition.

Attached is the test program.
I ran it without problem if I used UFS file, but not PVFS2.

Wei-keng


-------------- next part --------------
A non-text attachment was scrubbed...
Name: vector_read.c
Type: application/octet-stream
Size: 3204 bytes
Desc: not available
URL: <http://lists.mcs.anl.gov/pipermail/mpich-discuss/attachments/20090529/a4eb4d57/attachment.obj>
-------------- next part --------------



More information about the mpich-discuss mailing list