If the web client gets into a bad state and piles on errors (or exceptions) this leads to a mess with hundreds of kilobytes of warnings being logged as we try to set an already failed tour to failed (and also take screenshots), as in http://runbot142.odoo.com/runbot/static/build/53098209-master/logs/test_only.txt Also update `has_failure` to directly depend on an exception being set, as that should be a more reliable indicator. And much like the case of an error log skip trying to set the tour to failed in `_set_exception` if it's already failed. Although in that case do log the traceback as an `error`. closes odoo/odoo#140879 X-original-commit: 96c501036a6dcb216e82e0dfa42b59a9b917d742 Signed-off-by: Xavier Morel (xmo) <xmo@odoo.com>