- edited description
MSWMS server raises a secondary Exception when a first Exception was raised when preparing WMS reply
Issue #342
resolved
In Py3, there seems to be some unicode/byte string conversion pronblem when preparing error message after an internal exception.
#!
ERROR: <class 'AttributeError'>: 'Basemap' object has no attribute 'axi'
Traceback (most recent call last):
File "C:\Users\icg173\Anaconda3\envs\mss-1.7.2\lib\site-packages\mslib\mswms\w
ms.py", line 531, in application
return_data, return_format = app.produce_plot(environ, request)
File "C:\Users\icg173\Anaconda3\envs\mss-1.7.2\lib\site-packages\mslib\mswms\w
ms.py", line 432, in produce_plot
image = plot_driver.plot()
File "C:\Users\icg173\Anaconda3\envs\mss-1.7.2\lib\site-packages\mslib\mswms\m
ss_plot_driver.py", line 646, in plot
transparent=self.transparent)
File "C:\Users\icg173\Anaconda3\envs\mss-1.7.2\lib\site-packages\mslib\mswms\m
pl_hsec.py", line 334, in plot_hsection
self._plot_style()
File "C:\Users\icg173\mss\simple.py", line 33, in _plot_style
axins1 = mpl_toolkits.axes_grid1.inset_locator.inset_axes(self.bm.axi,
AttributeError: 'Basemap' object has no attribute 'axi'
----------------------------------------
Exception happened during processing of request from ('127.0.0.1', 61271)
Traceback (most recent call last):
File "C:\Users\icg173\Anaconda3\envs\mss-1.7.2\lib\socketserver.py", line 639,
in process_request_thread
self.finish_request(request, client_address)
File "C:\Users\icg173\Anaconda3\envs\mss-1.7.2\lib\socketserver.py", line 361,
in finish_request
self.RequestHandlerClass(request, client_address, self)
File "C:\Users\icg173\Anaconda3\envs\mss-1.7.2\lib\socketserver.py", line 696,
in __init__
self.handle()
File "C:\Users\icg173\Anaconda3\envs\mss-1.7.2\lib\site-packages\paste\httpser
ver.py", line 459, in handle
BaseHTTPRequestHandler.handle(self)
File "C:\Users\icg173\Anaconda3\envs\mss-1.7.2\lib\http\server.py", line 418,
in handle
self.handle_one_request()
File "C:\Users\icg173\Anaconda3\envs\mss-1.7.2\lib\site-packages\paste\httpser
ver.py", line 454, in handle_one_request
self.wsgi_execute()
File "C:\Users\icg173\Anaconda3\envs\mss-1.7.2\lib\site-packages\paste\httpser
ver.py", line 307, in wsgi_execute
self.wsgi_write_chunk(chunk)
File "C:\Users\icg173\Anaconda3\envs\mss-1.7.2\lib\site-packages\paste\httpser
ver.py", line 167, in wsgi_write_chunk
self.wfile.write(chunk)
File "C:\Users\icg173\Anaconda3\envs\mss-1.7.2\lib\socketserver.py", line 775,
in write
self._sock.sendall(b)
TypeError: a bytes-like object is required, not 'str'
Comments (6)
-
reporter -
this may also be related tp
#324 -
What is needed to reproduce this. A short test with the builtin demodata did work on my linux
paste 2.0.3 py36h9fb3c17_0
-
- changed status to resolved
Correctly treat unicode/bytes in Python3 in WMS server response
Under certain conditions the return message wa still in unicode and not ascii/bytes level. This might cause a second exception in the WMS server in the error handling.
Fix issue
#342→ <<cset 7b05712ce4e3>>
-
(Really) fix issue
#342→ <<cset 7f0ac900d294>>
-
Merged in joernu76/mss/fixwms_small (pull request #570)
(Really) fix issue
#342→ <<cset 6d2e87cd6ec5>>
- Log in to comment