(From https://github.com/ask/celery/issues/481) Description of problem:
In celery.utils.encoding.safe_str, it calls safe_repr if the object is not a basestring. However, safe_repr calls safe_str on exceptions from repr. This leads to an infinite recursion when passed an object which is not a basestring, and throws an exception from repr.
This bug is not present in 2.3 because that has a separate _safe_str which is called out of safe_repr on exceptions. 2.3 has the more desirable behaviour of simply raising up the exception when this situation arises.
This bug was introduced in this commit:
Version-Release number of selected component (if applicable):
Given this issue, and the need to use a python-celery < 2.2.7 in order to avoid it, it would be useful to the EPEL-using community to rev python-celery back to something prior to 2.2.7 until this is fixed upstream. I am using 2.2.4 here to avoid this issue, but presumably, 2.2.6 would even be sufficient.