Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fence upcall not issued for rank subset #12

Open
garlick opened this issue Sep 22, 2021 · 2 comments
Open

fence upcall not issued for rank subset #12

garlick opened this issue Sep 22, 2021 · 2 comments

Comments

@garlick
Copy link
Member

garlick commented Sep 22, 2021

This test, which attempts a PMIx_Fence() with ranks set to a subset of the full job, currently hangs. The fence upcall is never received (it blocks in openpmix). What we would like to do is fail it, since currently the implementation does not support fence over a subset.

expecting success: 
	test_must_fail run_timeout 30 flux mini run -N2 -n2 \
		-ouserrc=$(pwd)/rc.lua \
		-overbose=2 \
		${BARRIER} --procs=1

0.022s: flux-shell[1]: DEBUG: 1: tasks [1] on cores 0
0.022s: flux-shell[1]: DEBUG: Loading /opt/flux-core-0.29.0-27/etc/flux/shell/initrc.lua
0.041s: flux-shell[1]: TRACE: shell barrier complete
0.041s: flux-shell[1]: TRACE: exited barrier with rc = 0
0.044s: flux-shell[1]: TRACE: shell barrier complete
0.044s: flux-shell[1]: TRACE: exited barrier with rc = 0
0.019s: flux-shell[0]: DEBUG: 0: task_count=2 slot_count=2 cores_per_slot=1 slots_per_node=1
0.019s: flux-shell[0]: DEBUG: 0: tasks [0] on cores 0
0.020s: flux-shell[0]: DEBUG: Loading /opt/flux-core-0.29.0-27/etc/flux/shell/initrc.lua
0.022s: flux-shell[0]: DEBUG: output: batch timeout = 0.500s
0.041s: flux-shell[0]: TRACE: shell barrier complete
0.041s: flux-shell[0]: TRACE: exited barrier with rc = 0
0.044s: flux-shell[0]: TRACE: shell barrier complete
0.044s: flux-shell[0]: TRACE: exited barrier with rc = 0
0.053s: flux-shell[1]: TRACE: 1: C: pmi EOF
0.053s: flux-shell[1]: DEBUG: task 1 complete status=0
0.064s: flux-shell[1]: DEBUG: exit 0
f24XVCK1.0: completed PMIx_Init.
f24XVCK1.0: there are 2 tasks
test_must_fail: died by signal: run_timeout 30 flux mini run -N2 -n2 -ouserrc=/home/garlick/proj/flux-pmix/t/trash-directory.t0003-barrier/rc.lua -overbose=2 /home/garlick/proj/flux-pmix/t/src/barrier --procs=1
not ok 15 - 2n2p barrier with procs subset fails
@garlick
Copy link
Member Author

garlick commented Sep 22, 2021

Note that the proc on shell 1 (task 1) exits early. So I guess the fence call returned immediately because that proc is not participating. Meanwhile the other proc is likely blocked in the fence call.

It would seem like this should look like a degenerate case to the pmix library (fence call only involving self) and return immedaitely too, but it does not.

@garlick
Copy link
Member Author

garlick commented Sep 22, 2021

Also, just noticed that the "baseline" test using prterun with a rank subset intermittently fails

test_expect_success 'prterun barrier works with procs subset' '
        ${PRTERUN} --n 8 ${BARRIER} --procs=0-1
'

Mark it XFAIL and just avoid this case that is not likely found in nature anyway.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant