I'm suspicious of some code, but would like comment from someone who understands it.

In orte/util/nidmap.c orte_util_decode_pidmap(), one cycles through a buffer. One cycles through jobs. For each one, one unpacks num_procs. One also unpacks all sorts of other stuff like bind_idx. In particular, there's

    orte_process_info.bind_idx = bind_idx[ORTE_PROC_MY_NAME->vpid];

Well, if we spawn a job with more processes than the parent job, we could have vpid >= num_procs and we read garbage which could and I think does lead to some less-than-enjoyable experiences later on.

Yes/no/fix?

Reply via email to