mpbarrett: Found mpbarrett_reduce hanging on this testcase.
A Python program spun inside mpbarrett_reduce, attempting the
computation in this testcase. The test program hung too, and debugging
it yielded the following information. On entry, d and m were equal; for
some reason, in the MP_DEST call, d was being aliased to m again, even
though m was still active; of course, m/d now had refcount 1, and all
hell broke loose when m got dropped.
A ground-up rebuild made the problem go away, so maybe it was just fluff
in the build tree. I'm leaving this test here anyway so that it'll
catch a return of the bug, and maybe I can investigate it more carefully
then.