[
https://issues.apache.org/jira/browse/THRIFT-4207?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16219265#comment-16219265
]
ASF GitHub Bot commented on THRIFT-4207:
----------------------------------------
Github user jeking3 commented on the issue:
https://github.com/apache/thrift/pull/1274
I pulled these changes into a sandbox and started the `ubuntu-xenial`
docker image, and then ran `build/docker/scripts/autotools.sh` which is what
Travis CI would do for one of the unit test jobs. It failed:
```
make[4]: Entering directory '/thrift/src/test/py'
----------------
Executing individual test scripts with various generated code directories
Directories to be tested: gen-py-default, gen-py-slots, gen-py-oldstyle,
gen-py-no_utf8strings, gen-py-dynamic, gen-py-dynamicslots
Scripts to be tested: FastbinaryTest.py, TestFrozen.py,
TSimpleJSONProtocolTest.py, SerializationTest.py, TestEof.py, TestSyntax.py,
TestSocket.py
----------------
Testing script: /usr/bin/python /thrift/src/test/py/FastbinaryTest.py
----
Testing TBinaryAccelerated
Traceback (most recent call last):
File "/thrift/src/test/py/FastbinaryTest.py", line 278, in <module>
do_test(TBinaryProtocolAccelerated, TBinaryProtocol)
File "/thrift/src/test/py/FastbinaryTest.py", line 244, in do_test
Test(fast, slow).do_test()
File "/thrift/src/test/py/FastbinaryTest.py", line 198, in do_test
self._check_write(hm)
File "/thrift/src/test/py/FastbinaryTest.py", line 137, in _check_write
o.write(prot_slow)
File "/thrift/src/test/py/gen-py-default/DebugProtoTest/ttypes.py", line
637, in write
iter52.write(oprot)
File "/thrift/src/test/py/gen-py-default/DebugProtoTest/ttypes.py", line
371, in write
oprot.writeString(self.zomg_unicode.encode('utf-8') if
sys.version_info[0] == 2 else self.zomg_unicode)
File
"/thrift/src/lib/py/build/lib.linux-x86_64-2.7/thrift/protocol/TProtocol.py",
line 123, in writeString
self.writeBinary(str_to_binary(str_val))
File
"/thrift/src/lib/py/build/lib.linux-x86_64-2.7/thrift/protocol/TBinaryProtocol.py",
line 131, in writeBinary
self.trans.write(str)
File
"/thrift/src/lib/py/build/lib.linux-x86_64-2.7/thrift/transport/TTransport.py",
line 233, in write
self._buffer.write(buf)
UnicodeEncodeError: 'ascii' codec can't encode character u'\xd7' in
position 0: ordinal not in range(128)
*** FAILED ***
LIBDIR: /thrift/src/lib/py/build/lib.linux-x86_64-2.7
PY_GEN: gen-py-default
SCRIPT: FastbinaryTest.py
Traceback (most recent call last):
File "./RunClientServer.py", line 321, in <module>
sys.exit(main())
File "./RunClientServer.py", line 300, in main
runScriptTest(options.libdir, options.gen_base, genpydir, script)
File "./RunClientServer.py", line 101, in runScriptTest
raise Exception("Script subprocess failed, retcode=%d, args: %s" %
(ret, ' '.join(script_args)))
Exception: Script subprocess failed, retcode=1, args: /usr/bin/python
/thrift/src/test/py/FastbinaryTest.py
FAIL: RunClientServer.py
==================
1 of 1 test failed
==================
```
> Accelerated version of TBinaryProtocol allows invalid input to string fields.
> -----------------------------------------------------------------------------
>
> Key: THRIFT-4207
> URL: https://issues.apache.org/jira/browse/THRIFT-4207
> Project: Thrift
> Issue Type: Bug
> Components: Python - Library
> Affects Versions: 0.10.0
> Reporter: Elvis Pranskevichus
> Assignee: James E. King, III
> Fix For: 0.11.0
>
>
> {{TBinaryProtocolAccelerated}} and {{TCompactProtocolAccelerated}} currently
> accept arbitrary bytes as input to string fields even when {{py:utf8strings}}
> is on.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)