Index: Objects/tupleobject.c =================================================================== --- Objects/tupleobject.c (revision 76749) +++ Objects/tupleobject.c (working copy) @@ -875,7 +875,7 @@ /* XXX UNREF/NEWREF interface should be more symmetrical */ _Py_DEC_REFTOTAL; - _PyObject_GC_UNTRACK(v); + PyObject_GC_UnTrack(v); _Py_ForgetReference((PyObject *) v); /* DECREF items deleted by shrinkage */ for (i = newsize; i < oldsize; i++) { Index: Lib/test/test_tuple.py =================================================================== --- Lib/test/test_tuple.py (revision 76749) +++ Lib/test/test_tuple.py (working copy) @@ -146,6 +146,9 @@ pass self.check_track_dynamic(MyTuple, True) + def test_bug7466(self): + # Tuple may be untracked while not finished + self._not_tracked(tuple(gc.collect() for i in range(101))) def test_main(): test_support.run_unittest(TupleTest)