Client crashes when error is raised after multiple UserWarning from a wizard
Hello,
I found a client crash which appears during wizards.
The case is the following:
During a wizard, I raise multiple UserWarnings (2 is enough), and finally a UserError.
This causes a client Crash which forces us to kill it manually.
I've investigated the code and it seems that when the client executes process_exception() (because a server exception occurs), it will call the process()'s nested rpc_execute() function (after the UserWarning creation).
This nested function will do an RPCProgress to proceed but this time, we lose the initial (?wizard?) callback.
Then, the condition below makes a return_() which raises self.exception and crashes the client.
if self.callback:
self.callback(return_)
else:
return return_()
Maybe we should keep a reference to the callback in this recursive code ?