-
Notifications
You must be signed in to change notification settings - Fork 5
Open
Description
This is part of FLAME-HPC/xparser#14, but since it is an issue of libmboard, I am posting it here.
Using the attached minimal example, built and run like this:
xparser -p bl_model.xml
make
mpirun -np 2 ./main 2000 its/0.xml -r
I get the error
------- P1:1
main: comm_routines_HANDSHAKE.c:301: MBI_CommRoutine_HANDSHAKE_AgreeBufSizes: Assertion `node->board->tt != NULL' failed.
main: comm_routines_HANDSHAKE.c:301: MBI_CommRoutine_HANDSHAKE_AgreeBufSizes: Assertion `node->board->tt != NULL' failed.
[irene:21163] *** Process received signal ***
[...]
right on the first iteration.
This only happens when xparser is run without the -f flag, thus only when using the DEBUG version of libmboard. The production version of libmboard doesn't seem to do the same tests at the beginning, thus does not error out.
I found two workarounds (these are marked in the code):
- Sending of a message by the Sender Agent is in this example dependent on the state of the agent. Removing this optional behaviour (i.e. commenting an if-condition in the function of the Sender agent) also removes the error.
- On the receiving end, messages are filtered by ID of the Receiver agent. Removing this filter also removes the error.
I can replicate this behaviour with both OpenMPI 3.0.1 and MPICH 3.2.1 (both using the MPI 3.0 Standard).
Metadata
Metadata
Assignees
Labels
No labels