18-04-23 12:50 PM
Hello All,
I was intrigued by one of the recent posts "https://community.blueprism.com/discussion/which-option-would-be-correct#bm9242b68c-377f-42fe-82da-0187938af29e".
Among the skirmishing, I went ahead to test the design & found alarming results (please see attached video)
The exception details are re-thrown (a.k.a preserved) even after Resume Stage.
Process validation is smart enough to realize that there is an error in the design and clearly calls it out, however the process runs just fine.
Is this a bug ? (Old timers working since v4 or 5 would say so)
Is this the expected behavior ? (Newer developers have no reference point)
Let's find out what the experts have to say 😛
18-04-23 01:06 PM
18-04-23 03:25 PM
I've raised this with dev and support to see what their thoughts are. My opinion is that if BP is going to call it out as an issue it should not be allowed to run, but that's just my thinking. 🤷♂️
Cheers,
Eric
19-04-23 07:35 AM
Same thoughts @ewilson and we only discovered this behaviour while answering to one of the post from a fellow community member (https://community.blueprism.com/discussion/which-option-would-be-correct#bm9242b68c-377f-42fe-82da-0187938af29e). Fellow community members @SahilRaina @Zdeněk Kabátek , @Babjee Vangipurapu @Harish M@_Amlansahoo pointed it right but we saw a strange behaviour in the rethrow which was still preserving the exception even after resume stage got executed which led to an infinite loop. I am keen on looking forward to its resolution. This seems to be a possible bug as I have realised the process validation calling it out but it runs anyway. @SahilRaina Thanks for raising this.
Regards,
Mukesh
19-04-23 09:33 AM
Hi @Mukesh Kumar
The preserve will not work with the original Exception message, it throws up a new exception in all. Attaching the screenshots of the exception messages before resume and after resume.
For preserve to work there should be a value set for the functions ExceptionType(), ExceptionDetail() and ExceptionStage(). These are set with the values that are obtained when an exception occurred during process run. But when we've a resume stage these values are nullified and when a preserve is used it cannot find any values in these functions resulting in creating a new exception "Exception message: " which means the functions are not set with any value for throwing/preserving resulting in throwing a new exception which again will be caught by Recover stage again and the process loops in infinitely.
Please have a look at the exception messages in the screenshots both messages are not the same which resembles a new exception got popped up.
Process validation points it to error because, blue prism is no more in the recovery mode after a resume stage. We can preserve an exception only when it is in recovery mode.
Please let me know if my answer had cleared your query.
19-04-23 11:12 AM
@Babjee Vangipurapu Did you check the video attached in main query ? I will attach one more just watch the error bar at bottom, also which blue prism version are you using ? above query is performed in the latest version BP 7+ above.
Regards,
Mukesh
19-04-23 12:16 PM
Hi @Mukesh Kumar
I'm using 6.10.4 version
19-04-23 12:36 PM
Hi @Babjee Vangipurapu : I did test this in Blue Prism 6.10.1 and it still throws same preserved exception (similar to BP 7.1.1 version) which should have been cleared by resume stage, See below, I hope it will help you understand the issue I am raising :
Exception Error at bottom bar before Resume and Re-Throw with Preserved checkbox Checked:
Exception Error at bottom bar after Resume and Re-Throw with Preserved checkbox Checked: Re throws the error similarly as @SahilRaina mentioned in above main query.
Regards,
Mukesh
21-04-23 10:13 AM
The exception detail is not correct but it is going to an infinite loop that is correct. Because you can not keep a preserve check after a resume page which gives you an error before executing itself in the Errors Tab. So in the resume stage, the Exception is getting neutralized and again it's throwing an exception eventually it will go to the recovery stage.
So the exception detail is not correct, but I think an infinite loop is expected.
21-04-23 11:10 AM
@_Amlansahoo - Yeah that's what we are raising to get it checked by @ewilson - The exception details/message after the resume stage - it should have cleared the previous exception details after resume and rethrow should have popped up a new error message which the process validation is showing in the error tab, right now the exception details which is re-throwed is the previous exception message which is not right.
@ewilson - Let us know if you have any updates on this from the Dev team.
Regards,
Mukesh