Bug 738234

Summary: Infinite loop in safe_str in celery 2.2.7
Product: [Fedora] Fedora EPEL Reporter: Brian J. Murrell <brian>
Component: python-celeryAssignee: Andrew Colin Kissa <andrew>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: unspecified    
Version: el6CC: andrew
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: python-celery-2.2.10-1.el6 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-10-16 15:02:55 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Brian J. Murrell 2011-09-14 11:29:42 UTC
(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:
https://github.com/ask/celery/commit/edf3b3f33acdada9264754068d9c74ee76692cd9#celery/utils/encoding.py

Version-Release number of selected component (if applicable):
2.2.7

How reproducible:
Unknown

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.

Comment 1 Fedora Update System 2020-10-01 06:53:20 UTC
FEDORA-EPEL-2020-f1f3b2ffb0 has been submitted as an update to Fedora EPEL 6. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2020-f1f3b2ffb0

Comment 2 Fedora Update System 2020-10-02 02:00:40 UTC
FEDORA-EPEL-2020-f1f3b2ffb0 has been pushed to the Fedora EPEL 6 testing repository.

You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2020-f1f3b2ffb0

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 3 Fedora Update System 2020-10-16 15:02:55 UTC
FEDORA-EPEL-2020-f1f3b2ffb0 has been pushed to the Fedora EPEL 6 stable repository.
If problem still persists, please make note of it in this bug report.