- changed status to duplicate
dist_object can hang execution
Issue #130
duplicate
so noticed this when trying to make an rput_irregular example
dist_object<uvector> dParticles(uvector(500));
future<global_ptr<particle_t> > hiVectorF = rpc(nebrHi, [](dist_object<uvector>& d){
return global_ptr<particle_t>(&((*d).front()));}, dParticles);
std::cout<<"rpc called "<<me<<std::endl;
hiVectorF.wait();
std::cout<<"pointer arrived "<<me<<std::endl;
can produce output like this:
rpc called 5
rpc called 0
rpc called 2
rpc called 4
pointer arrived 4
rpc called 3
rpc called 7
rpc called 1
pointer arrived 0
pointer arrived 2
pointer arrived 5
rpc called 6
pointer arrived 1
pointer arrived 7
pointer arrived 6
In this case, rank 3 does not return from the wait call. The code hangs and the processes stay pegged at full CPU rate.
Comments (1)
-
- Log in to comment
Duplicate of
#129.