Bug 1301017

Summary: I'm hit by Python bug #11489, could the fix be backported?
Product: Red Hat Enterprise Linux 7 Reporter: Aurelien Bompard <aurelien>
Component: pythonAssignee: Charalampos Stratakis <cstratak>
Status: CLOSED ERRATA QA Contact: Branislav NĂ¡ter <bnater>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 7.2CC: aurelien, cstratak, isenfeld, lmiksik, pviktori, qe-baseos-apps
Target Milestone: rcKeywords: Patch
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: python-2.7.5-42 Doc Type: Bug Fix
Doc Text:
Cause: Unicode and UTF-8 considers unpaired surrogates invalid. Consequence: Some JSON data encoded by Python 2.7 or 3.X can't be decoded in Python 2.7 Fix: Upstream patch that with it, JSON decoder now accepts lone surrogates Result: It is possible to decode JSON data in Python 2.7 no matter which Python version was the date encoded at.
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-11-03 20:16:07 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1305230    

Description Aurelien Bompard 2016-01-22 10:49:14 UTC
Description of problem:
I'm a member of the Fedora Engineering team. On the new Mailman server that we use in the Fedora Infrastructure (RHEL7.2), I'm experiencing the Python bug #11489 <https://bugs.python.org/issue11489> which has been fixed upstream by this commit: https://hg.python.org/cpython/rev/c85305a54e6d
The consequence of this bug is that some JSON data encoded by Python 2.7 or 3.X can't be decoded in Python 2.7. It breaks an important feature of Mailman for some lists: the ability of moderating held messages (Mailman 3 uses a REST API with JSON-encoded content).

Version-Release number of selected component (if applicable):
python-2.7.5-34.el7.x86_64

How reproducible:
Always

Steps to Reproduce:
1. Try to decode this JSON data with the version of python specified above: http://paste.fedoraproject.org/313658/45345906

2. Get the following traceback:
Traceback (most recent call last):
  File "<stdin>", line 2, in <module>
  File "/usr/lib64/python2.7/json/__init__.py", line 290, in load
    **kw)
  File "/usr/lib64/python2.7/json/__init__.py", line 338, in loads
    return _default_decoder.decode(s)
  File "/usr/lib64/python2.7/json/decoder.py", line 365, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/usr/lib64/python2.7/json/decoder.py", line 381, in raw_decode
    obj, end = self.scan_once(s, idx)
ValueError: Unpaired low surrogate: line 1 column 10115 (char 10114)

It would be very useful if the fix could be backported, or if the package could be updated to a version which includes this fix.

Comment 3 Charalampos Stratakis 2016-03-16 16:03:05 UTC
(In reply to Aurelien Bompard from comment #0)
> Description of problem:
> I'm a member of the Fedora Engineering team. On the new Mailman server that
> we use in the Fedora Infrastructure (RHEL7.2), I'm experiencing the Python
> bug #11489 <https://bugs.python.org/issue11489> which has been fixed
> upstream by this commit: https://hg.python.org/cpython/rev/c85305a54e6d
> The consequence of this bug is that some JSON data encoded by Python 2.7 or
> 3.X can't be decoded in Python 2.7. It breaks an important feature of
> Mailman for some lists: the ability of moderating held messages (Mailman 3
> uses a REST API with JSON-encoded content).
> 
> Version-Release number of selected component (if applicable):
> python-2.7.5-34.el7.x86_64
> 
> How reproducible:
> Always
> 
> Steps to Reproduce:
> 1. Try to decode this JSON data with the version of python specified above:
> http://paste.fedoraproject.org/313658/45345906
> 
> 2. Get the following traceback:
> Traceback (most recent call last):
>   File "<stdin>", line 2, in <module>
>   File "/usr/lib64/python2.7/json/__init__.py", line 290, in load
>     **kw)
>   File "/usr/lib64/python2.7/json/__init__.py", line 338, in loads
>     return _default_decoder.decode(s)
>   File "/usr/lib64/python2.7/json/decoder.py", line 365, in decode
>     obj, end = self.raw_decode(s, idx=_w(s, 0).end())
>   File "/usr/lib64/python2.7/json/decoder.py", line 381, in raw_decode
>     obj, end = self.scan_once(s, idx)
> ValueError: Unpaired low surrogate: line 1 column 10115 (char 10114)
> 
> It would be very useful if the fix could be backported, or if the package
> could be updated to a version which includes this fix.

Could you repost the json data page for reproducing the issue, since it seems that it expired?

Comment 11 errata-xmlrpc 2016-11-03 20:16:07 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://rhn.redhat.com/errata/RHSA-2016-2586.html