Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.

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:
Embargoed:

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.