Tryton - Issues

 

Issue6731

Title Client crashes when error is raised after multiple UserWarning from a wizard
Priority bug Status resolved
Superseder Nosy List adrien.benduc, ced, jcavallo, reviewbot, roundup-bot
Type crash Components tryton
Assigned To ced Keywords review
Reviews 36691002
View: 36691002

Created on 2017-08-28.15:01:22 by adrien.benduc, last changed by roundup-bot.

Messages
New changeset 438af1da332d by C├ędric Krier in branch 'default':
Simplify process_exception to allow better callback management
http://hg.tryton.org/tryton/rev/438af1da332d
review36691002 updated at https://codereview.tryton.org/36691002/#ps10005
review36691002 updated at https://codereview.tryton.org/36691002/#ps1
msg36289 (view) Author: [hidden] (ced) (Tryton committer) (Tryton translator) Date: 2017-10-15.20:37:21
I think the process exception should be reworked to be used only for RPCExecute, other usage should simply relies on the sys.excepthook.
Here is review36691002 that makes this cleaning.
msg35370 (view) Author: [hidden] (adrien.benduc) Date: 2017-08-28.15:01:21
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 ?
History
Date User Action Args
2017-10-25 18:47:24roundup-botsetstatus: testing -> resolved
nosy: + roundup-bot
messages: + msg36564
2017-10-15 21:06:32reviewbotsetmessages: + msg36291
2017-10-15 20:39:19reviewbotsetnosy: + reviewbot
messages: + msg36290
2017-10-15 20:37:21cedsetstatus: unread -> testing
keyword: + review
nosy: + ced
messages: + msg36289
reviews: 36691002
assignedto: ced
2017-08-28 15:01:22adrien.benduccreate

Showing 10 items. Show all history (warning: this could be VERY long)