Address the residual issue with the fix for SF 551412 in
_PyType_Lookup().  Decided to clear the error condition in the
unfortunate but unlikely case that PyType_Ready() fails.

Will fix in 2.2.x too.
diff --git a/Objects/typeobject.c b/Objects/typeobject.c
index af133ea..dd6f1b5 100644
--- a/Objects/typeobject.c
+++ b/Objects/typeobject.c
@@ -1222,8 +1222,18 @@
 	/* Look in tp_dict of types in MRO */
 	mro = type->tp_mro;
 	if (mro == NULL) {
-		if (PyType_Ready(type) < 0)
+		if (PyType_Ready(type) < 0) {
+			/* It's not ideal to clear the error condition,
+			   but this function is documented as not setting
+			   an exception, and I don't want to change that.
+			   When PyType_Ready() can't proceed, it won't
+			   set the "ready" flag, so future attempts to ready
+			   the same type will call it again -- hopefully
+			   in a context that propagates the exception out.
+			*/
+			PyErr_Clear();
 			return NULL;
+		}
 		mro = type->tp_mro;
 		assert(mro != NULL);
 	}