Join GitHub today
GitHub is home to over 31 million developers working together to host and review code, manage projects, and build software together.Sign up
avoid deadlock when unloading connector-local module #1027
This PR fixes issue #1025, in which a sched test fails due to a
The connector-local module is removed manually as a special case after reactor shutdown, thus it cannot make any RPCs as part of its shutdown path since they cannot be answered. However, it does attempt to call
The fix is to disable these unsubscribes in the tear-down path. Their state gets removed anyway when the module context is destroyed.
Add a regression test for this case.
Also, the back-to-back instances run in t0001-basic.t take a really long time due to #1006. I added a workaround to speed up the test at the expense of likely short circuiting teardown. Teardown gets plenty of coverage later on - there's no need to make ourselves suffer unduly in this one test.
@@ Coverage Diff @@ ## master #1027 +/- ## ========================================== + Coverage 77.87% 77.87% +<.01% ========================================== Files 150 150 Lines 25491 25494 +3 ========================================== + Hits 19850 19854 +4 + Misses 5641 5640 -1
That seems reasonable.
Once this hits flux-core/master sched will at least be able to pass travis -- however, we would need to make a workaround for the failing test before building and testing flux-core against 0.7.0 specifically. I was also worried this issue might hit people experimenting with and developing on flux on llnl clusters, since it may be a long time until we tag and get an 0.8.0 installed out there. (Hope that makes sense)