Robot became extremely slow after adding Global Exception Handler to the project

Hi everyone,

After upgraded some dependencies, my robot starting to be very slow, even look like stuck in for each row through two datatables.

Same PC, same code.

OLD DEPENDENCIES
"Microsoft.Activities": "[1.0.1]",
"Microsoft.Activities.Extensions": "[2.0.6.9]",
"Microsoft.VisualStudio.OLE.Interop": "[7.10.6071]",
"UiPath.Cognitive.Activities": "[2.0.6716.19435]",
"UiPath.Credentials.Activities": "[1.1.6479.13204]",
"UiPath.Database.Activities": "[1.1.6660.26865]",
"UiPath.Excel.Activities": "[2.3.6682.26635]",
"UiPath.FTP.Activities": "[1.0.6479.13206]",
"UiPath.IntelligentOCR.Activities": "[1.0.6725.18428]",
"UiPath.Mail.Activities": "[1.1.6562.21018]",
"UiPath.PDF.Activities": "[1.1.6732.21973]",
"UiPath.System.Activities": "[18.4.1]",
"UiPath.Python.Activities": "[1.0.6716.23055]",
"UiPath.Terminal.Activities": "[1.1.6464.20815]",
"UiPath.UIAutomation.Activities": "[18.4.2]",
"UiPath.WebAPI.Activities": "[1.1.6479.13209]",
"System.IO.Compression.ZipFile": "[4.3.0]"
NEW DEPENDENCIES
"Microsoft.Activities": "[1.0.1]",
"Microsoft.Activities.Extensions": "[2.0.6.9]",
"Microsoft.VisualStudio.OLE.Interop": "[7.10.6071]",
"UiPath.Cognitive.Activities": "[2.0.6716.19435]",
"UiPath.Credentials.Activities": "[1.1.6479.13204]",
"UiPath.Database.Activities": "[1.1.6660.26865]",
"UiPath.FTP.Activities": "[1.0.6479.13206]",
"UiPath.IntelligentOCR.Activities": "[1.0.6725.18428]",
"UiPath.PDF.Activities": "[1.1.6732.21973]",
"UiPath.Python.Activities": "[1.0.6716.23055]",
"UiPath.Terminal.Activities": "[1.1.6464.20815]",
"System.IO.Compression.ZipFile": "[4.3.0]",
"UiPath.WebAPI.Activities": "[1.4.5]",
"UiPath.Mail.Activities": "[1.8.6]",
"UiPath.Excel.Activities": "[2.5.1]",
"UiPath.System.Activities": "[19.2.0]",
"UiPath.UIAutomation.Activities": "[19.2.0]"

Before, i got logs after 5min in my loops, and it goes on. Now, i get logs after 40min, and for only one row.

Any ideas ?

Thanks

Do you have more details of which activities your process is using and which packages you upgraded and their versions before and after?

Hi bcorrea,

I put dependencies/packages in “Hide Details” (new and old versions) in my first post.

I upgraded :

“UiPath.System.Activities”
“UiPath.UIAutomation.Activities”
“UiPath.Excel.Activities”

Activities used when robot get stuck/very slow :

The Invoke :

sorry, now i saw the versions… I see you have some nested for each activities and maybe you can optimize a few things there, like building the datatable only once, before the for each and just cleaning the rows each time…

You are not wrong, it’s an old and beginner project.

But I tested just now with same data on both project version, and the oldest still work pretty well, only the newest get stuck.

The only thing that has changed is the update of packages, why the robot has become less functional ?

Ok, I have a new clue, and more context to explain what is going on.

I did upgrade my packages cause I need to put a Global Exception Handler in my project.

After more tests on my updated packages project, when the Global Exception Handler is set my robot is extremely slow/stuck in my loops.

When I remove it, the robot is fine and work like a charm.

I have the same issue as in this topic :

:heavy_check_mark: Double Loop
:heavy_check_mark: Global Exception Handler
:heavy_check_mark: Terrible Performance

Any ideas ?

Hi @Clement_POISSON

I registered this as an issue for our team to investigate. Would you mind sending me the problematic project via a private message here on the forum? Or a project that you feel best reproduces the issue.

It will speed up the process of reproducing the issue :slight_smile:

EDIT. We managed to reproduce the issue and the fix is scheduled for future releases. I will update this topic when the fix is released in the specific future version.

1 Like

Awesome ! :slight_smile:

2 Likes

Nice, im always thankful for having great community here that can bring problems to the techs attention and make this product better and better!

Any news ?

The issue is currently being investigated and should make it in a future patch (I can’t be too specific here as any development process comes with bits of uncertainty and shifting priorities).

In order for GEH to work, we need to enable the WWF Tracking (allows us to get more info about the execution). This adds a small overhead for each activity.
When the process contains activities that take longer (Click, TypeInto, HTTP requests, etc), the difference between with or without GEH is not very big.
When the process contains a lot of iterations on activities that last just a few milliseconds (assign, addDataTableRow, logMessage) the overhead can get quite big and it affects the overall execution time.

Unfortunately, this is a technical limitation and we don’t yet have a solution for it.

2 Likes

Thank you for your assistance. Hope you will get a solution in future. :pray:

1 Like