UnicodeDecodeError on zato_env data


I have a default Zato setup with 2 servers. After running for some time (around one day) under low load we get errors like shown in the traceback belown. We also see a similiar error saying ‘invalid start byte’.

Our services are calling a MS SQL Server using pymssql. Sometimes there are also encoding errors in pymssql (see https://github.com/pymssql/pymssql/issues/445). I am not sure if it is related, but both errors are showing what seems to be random byte sequences. So it looks like some kind of memory corruption.

Regards, Jan

2016-07-20 10:12:36,963 - ^[[1;31mERROR^[[0m - 13563:Dummy-8596 - gunicorn.main:22 - Error handling request
Traceback (most recent call last):
File “/opt/zato/2.0.7/code/eggs/gunicorn-18.0-py2.7.egg/gunicorn/workers/async.py”, line 45, in handle
self.handle_request(listener, req, client, addr)
File “/opt/zato/2.0.7/code/eggs/gunicorn-18.0-py2.7.egg/gunicorn/workers/ggevent.py”, line 150, in handle_request
super(GeventWorker, self).handle_request(*args)
File “/opt/zato/2.0.7/code/eggs/gunicorn-18.0-py2.7.egg/gunicorn/workers/async.py”, line 93, in handle_request
respiter = self.wsgi(environ, resp.start_response)
File “/opt/zato/2.0.7/code/zato-server/src/zato/server/base/parallel.py”, line 149, in on_wsgi_request
cid, datetime.utcnow(), wsgi_environ, self.worker_store) or b’'
File “/opt/zato/2.0.7/code/zato-server/src/zato/server/connection/http_soap/channel.py”, line 255, in dispatch
response = error_wrapper(cid, response)
File “/opt/zato/2.0.7/code/zato-server/src/zato/server/connection/http_soap/channel.py”, line 68, in client_json_error
return dumps(zato_env)
File “/opt/zato/2.0.7/code/eggs/anyjson-0.3.3-py2.7.egg/anyjson/init.py”, line 141, in dumps
return implementation.dumps(value, *args, **kwargs)
File “/opt/zato/2.0.7/code/eggs/anyjson-0.3.3-py2.7.egg/anyjson/init.py”, line 87, in dumps
return self._encode(data, *args, **kwargs)
UnicodeDecodeError: ‘utf8’ codec can’t decode byte 0xf0 in position 1434: invalid continuation byte

Just so as not to make an impression that this question was left behind - you are using a feature that is outside of Zato 2.0 (MS SQL) and it really is not possible to comment on the traceback in any other way that Zato 3.0 will likely ship with support for MS SQL built in.