Basically every XMLRPC class has its own error handler. But if something goes wrong in one of these handlers then the problem is silently ignored. We have this code in xmlrpc.py:
> # We want our server to continue its life, serving other
> # clients, So we need to do a catch-all here. It is
> # however always logged above (at least as long as the log
> # function works).
The principle of continuing is probably correct, but the statement about things being logged is not.
Found whilst fixing bug 5489.
Tests pass and code looks good.
Will do some more testing and manually provoke the issue before the fix.
(In reply to comment #4)
> Will do some more testing and manually provoke the issue before the fix.
Modified xmlrpc.py to always call handle_error, and it does indeed not log anything when handle_error is called on a 4.7.0 installation.
After installing build 5349 and modifying the installed xmlrpc.py in the same way as above, I get:
> 017-01-18 16:42:18 ERROR vsmserver: Exception in error handler for...
followed by a traceback. LGTM.