def onUserError(self, fail, msg):
        if isinstance(fail.value, exception.ApplicationError):
            # silence on errors raised explicitly from the app
            # previous code: self.log.error(fail.value.error_message())
            pass
        else:
            self.log.error(
                u'{msg}: {traceback}',
                msg=msg,
                traceback=txaio.failure_format_traceback(fail),
            )
This is called when we try to fire a callback, but get an
dataset/ETHPy150Open crossbario/autobahn-python/autobahn/wamp/protocol.py/ApplicationSession.onUserError