Found while probing the empty-rank eval_metric finding during the #488 re-review. A standalone global_evaluate call at np=4 where each rank supplies distinct points, some off-domain, deadlocked — and so did the non-empty control with rank-distinct off-rank points, so the hang could not be attributed to the empty-rank case and does not implicate the #488 branch (reproduces against development). Related prior art: #314 (empty-interior-rank hang) and the swarm-migration collectivity in global_evaluate — this may be the same root with a different entry, but the control's behaviour says it deserves its own scrutiny rather than an assumption.
Repro sketch: np=4, box mesh, each rank calls uw.function.global_evaluate(expr, points_r) with points_r unique per rank and partially off-domain; observed indefinite hang (>300 s timeouts) in the migration collective.
Underworld development team with AI support from Claude Code
Found while probing the empty-rank eval_metric finding during the #488 re-review. A standalone
global_evaluatecall at np=4 where each rank supplies distinct points, some off-domain, deadlocked — and so did the non-empty control with rank-distinct off-rank points, so the hang could not be attributed to the empty-rank case and does not implicate the #488 branch (reproduces against development). Related prior art: #314 (empty-interior-rank hang) and the swarm-migration collectivity inglobal_evaluate— this may be the same root with a different entry, but the control's behaviour says it deserves its own scrutiny rather than an assumption.Repro sketch: np=4, box mesh, each rank calls
uw.function.global_evaluate(expr, points_r)withpoints_runique per rank and partially off-domain; observed indefinite hang (>300 s timeouts) in the migration collective.Underworld development team with AI support from Claude Code