You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
#include <mpi.h>
#include <stdio.h>
#include <stdlib.h>
#define buff_size 128
int main(int argc, char **argv) {
int nprocs = -1;
int rank = -1;
MPI_Init(&argc, &argv);
MPI_Comm_size(MPI_COMM_WORLD, &nprocs);
MPI_Comm_rank(MPI_COMM_WORLD, &rank);
printf("Hello from rank %d \n", rank);
if (nprocs < 2)
printf("MBI ERROR: This test needs at least 2 processes to produce a bug!\n");
int dest = (rank == nprocs - 1) ? (0) : (rank + 1);
int src = (rank == 0) ? (nprocs - 1) : (rank - 1);
int buf1[buff_size]; MPI_Request req1;
int buf2[buff_size]; MPI_Request req2;
MPI_Send_init(buf1, buff_size, MPI_INT, dest, 0, MPI_COMM_WORLD, &req1);
MPI_Start(&req1);
MPI_Irecv(buf2, buff_size, MPI_INT, src, 0, MPI_COMM_WORLD, &req2);
/* MISSING: MPI_Wait(&req1, MPI_STATUS_IGNORE); */
MPI_Wait(&req2, MPI_STATUS_IGNORE);
MPI_Request_free(&req1);
MPI_Request_free(&req2);
MPI_Finalize();
printf("Rank %d finished normally\n", rank);
return 0;
}
Here is the output of Aislinn in this case:
$ aislinn -p=2 MissingWait_Send_init_Irecv_nok
==AN== INFO: Aislinn v0.5.0
Traceback (most recent call last):
File "/builds/quinson/mbi2/tools/aislinn-git/bin/../src/aislinn/aislinn.py", line 359, in <module>
main()
File "/builds/quinson/mbi2/tools/aislinn-git/bin/../src/aislinn/aislinn.py", line 315, in main
if not generator.run():
File "/builds/quinson/mbi2/tools/aislinn-git/src/aislinn/mpi/generator.py", line 195, in run
self.main_cycle()
File "/builds/quinson/mbi2/tools/aislinn-git/src/aislinn/mpi/generator.py", line 184, in main_cycle
context.process_run_result(c.finish_async())
File "/builds/quinson/mbi2/tools/aislinn-git/src/aislinn/mpi/context.py", line 150, in process_run_result
if self.handle_call(result[1], result[2:]):
File "/builds/quinson/mbi2/tools/aislinn-git/src/aislinn/mpi/context.py", line 123, in handle_call
return call.run(self, args)
File "/builds/quinson/mbi2/tools/aislinn-git/src/aislinn/mpi/mpicalls.py", line 921, in run
for i in xrange(len(args))])
File "/builds/quinson/mbi2/tools/aislinn-git/src/aislinn/mpi/mpicalls.py", line 240, in MPI_Request_free
request = check.check_persistent_request(context, request_id, False, 1)
File "/builds/quinson/mbi2/tools/aislinn-git/src/aislinn/mpi/check.py", line 166, in check_persistent_request
context.add_error_and_throw(errormsg.InvalidPersistentRequest(
AttributeError: 'module' object has no attribute 'InvalidPersistentRequest'
Thanks for this tool,
Mt
The text was updated successfully, but these errors were encountered:
I will try to fix them; however, I need to first migrate Aislinn code on a newer Valgrind so I can run it with my current gcc, and it may take me some time.
Hello,
The following program raises an error in Aislinn:
Here is the output of Aislinn in this case:
Thanks for this tool,
Mt
The text was updated successfully, but these errors were encountered: