Neil Williams created THRIFT-5352:
-------------------------------------

             Summary: Python: IDL exceptions with no fields can't be 
instantiated
                 Key: THRIFT-5352
                 URL: https://issues.apache.org/jira/browse/THRIFT-5352
             Project: Thrift
          Issue Type: Bug
          Components: Python - Library
            Reporter: Neil Williams


{{$ thrift --version}}
{{Thrift version 0.14.0}}

{{}}{{$ pip freeze | grep thrift}}
{{thrift==0.14.0}}

{{$ cat test.thrift}}
{{exception LookMaNoFields {}}}

{{$ thrift -out . -gen py test.thrift}}{{$ python}}
{{>>> from test.ttypes import LookMaNoFields}}
{{>>> LookMaNoFields()}}
{{Traceback (most recent call last):}}
{{ File "<stdin>", line 1, in <module>}}
{{ File "/src/thrift/lib/py/thrift/Thrift.py", line 93, in __init__}}
{{ super(TException, self).__setattr__("message", message)}}
{{ File "/src/example/test/ttypes.py", line 23, in __setattr__}}
{{ raise TypeError("can't modify immutable instance")}}
{{TypeError: can't modify immutable instance}}

 

This appears to be related to the changes in THRIFT-4002. In the case where 
there are no fields, no special constructor gets created and we fall back to 
TException's base constructor which tries to set the message attribute on the 
instance.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to