OK I found the problem:

It is not allowed to use a ```std::map``` with a pointer as key argument . If we use two or more nodes the pointer address can be different. A ```std::map``` sorts it contained data by key. 
The point is that the order how the notify method is called is not deterministic, thus some of the collective MPI calls run into a deadlock.