mpi-serial copy_data2 bug
jedwards4b opened this issue · comments
I'm getting a memory issue when on MacOS
thread MCSclimate/MCT#1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x520)
frame #0: 0x000000010040a8a5 cesm.exe`copy_data2(source=0x00007ffeefbfdc08, src_count=1, src_type=<unavailable>, dest=0x0000000102f9ec1c, dest_count=1, dest_type=1275069467) at copy.c:33:22 [opt]
30 int copy_data2(void *source, int src_count, MPI_Datatype src_type,
31 void *dest, int dest_count, MPI_Datatype dest_type)
32 {
-> 33 Datatype src_ptr = *(Datatype*) mpi_handle_to_datatype(src_type);
34 Datatype dest_ptr = *(Datatype*) mpi_handle_to_datatype(dest_type);
35
36 return Pcopy_data2(source, src_count, src_ptr, dest, dest_count, dest_ptr);
frame MCSclimate/MCT#1: 0x00000001004080af cesm.exe`MPI_Allreduce(sendbuf=<unavailable>, recvbuf=<unavailable>, count=<unavailable>, datatype=<unavailable>, op=<unavailable>, comm=<unavailable>) at collective.c:337:3 [opt]
334 if (sendbuf==MPI_IN_PLACE)
335 return(MPI_SUCCESS);
336
-> 337 copy_data2(sendbuf, count, datatype, recvbuf, count, datatype);
338 // memcpy(recvbuf,sendbuf,count * datatype);
339
340 return(MPI_SUCCESS);
(lldb) up
frame MCSclimate/MCT#2: 0x0000000100408083 cesm.exe`mpi_allreduce_(sendbuf=<unavailable>, recvbuf=<unavailable>, count=<unavailable>, datatype=<unavailable>, op=<unavailable>, comm=<unavailable>, ierror=0x00007ffeefbfdc0c) at collective.c:325:11 [opt]
322 ( void *sendbuf, void *recvbuf, int *count,
323 int *datatype, int *op, int *comm, int *ierror)
324 {
-> 325 *ierror=MPI_Allreduce(sendbuf, recvbuf, *count,
326 *datatype, *op, *comm);
327
328 }
(lldb) up
frame MCSclimate/MCT#3: 0x00000001002e28fb cesm.exe`__piolib_mod_MOD_pio_initdecomp_dof_i8 at piolib_mod.F90:1131
1128 do i=1,ndims
1129 iosize=iosize*iodesc%count(i)
1130 end do
-> 1131 call mpi_allreduce(iosize, iodesc%maxiobuflen, 1, mpi_integer, mpi_max, iosystem%io_comm, ierr)
1132 call checkmpireturn('mpi_allreduce in initdecomp',ierr)
1133
1134 lenblocks=1