Hi, today I installed openmpi-1.9a1r28730 and tried to test MPI_Iexscan() on my machine (Solaris 10 sparc, Sun C 5.12). Unfortunately my program breaks.
tyr xxx 105 mpicc iexscan.c tyr xxx 106 mpiexec -np 2 iexscan [tyr:21094] *** An error occurred in MPI_Iexscan [tyr:21094] *** reported by process [4097966081,0] [tyr:21094] *** on communicator MPI_COMM_WORLD [tyr:21094] *** MPI_ERR_INTERN: internal error [tyr:21094] *** MPI_ERRORS_ARE_FATAL (processes in this communicator will now abort, [tyr:21094] *** and potentially your MPI job) [tyr.informatik.hs-fulda.de:21092] 1 more process has sent help message help-mpi-errors.txt / mpi_errors_are_fatal [tyr.informatik.hs-fulda.de:21092] Set MCA parameter "orte_base_help_aggregate" to 0 to see all help / error messages tyr xxx 107 tyr xxx 107 ompi_info |grep "MPI: " Open MPI: 1.9a1r28730 tyr xxx 108 That's the program I used for my test. #include <stdio.h> #include "mpi.h" #define MAXLEN 10000 int main(int argc, char *argv[]) { int out[MAXLEN], in[MAXLEN], i, j, k; int myself, tasks; MPI_Request request; MPI_Init(&argc, &argv); MPI_Comm_rank(MPI_COMM_WORLD, &myself); MPI_Comm_size(MPI_COMM_WORLD, &tasks); for(j = 1; j <= MAXLEN; j *= 10) { for(i = 0; i < j; i++) { out[i] = i; } MPI_Iexscan(out, in, j, MPI_INT, MPI_SUM, MPI_COMM_WORLD, &request); MPI_Wait(&request, MPI_STATUS_IGNORE); if (myself != 0) for(k = 0; k < j; k++) { if(in[k] != k * myself) { fprintf (stderr, "bad answer (%d) at index %d of %d " "(should be %d)\n", in[k], k, j, k*(myself)); break; } } } MPI_Barrier(MPI_COMM_WORLD); MPI_Finalize(); return 0; } Do you have any ideas what's going wrong? Is the internal MPI error a real internal error or is something wrong with my program, which results in an internal error? Thank you very much for any help in advance. Kind regards Siegmar