Robot execution never ended/Robot got stuck

Hi,

The following problem happened to me once, yesterday.

The robot was Windows Task Scheduled to run at 7:30 in the morning. It ran well, and got the job done mostly, except for the last 2 activities (send email, log message). When I looked at the computer at about 10am, because I hadn’t got any email, the UiRobot.exe icon was still in the taskbar, and the robot was running in the UiRobot trey icon. Then I manually ended the execution, and only then the ‘execution ended’ line appeared in the log file.

I have the Main Flowchart in a Try Catch block, and a Send Email -activity in the Catch section. So whenever there is an error, there should be an email message sent. This time, there was not even any email sent.

How the robot got stuck like this? It didn’t even get an error. Is there anything that could prevent this from happening in the future?

Hi @bluerock,

I think you should write line every step in your workflow. So you can know exactly the step where robot get stuck at.

Best Regards,
Hoang Anh.

1 Like

Hi Bluerock,

I can’t think of anything that would be causing the robot to get permanently stuck without any sort of error like this other than it getting caught in an eternal loop right before those last two activities. Do you have loops in your process? If so, you might try inserting one or more Write Line activities at key points in your loop(s). That way if you run into this issue again you should easily be able to tell if the robot has just been running in loops for the past several hours. I’ve used this method in the past to help me identify if a process is going through a loop more often than anticipated.

The only other thing I can think of that could cause an issue like this would be if you accidentally put an extremely long “TimeoutMS” value for a UI selector you’re trying to find in one of your last activities. If the TimeoutMS value is massive and the UI selector you chose wasn’t valid for some reason during your last robot run, it is possible the robot was just sitting there trying to find the UI selector that entire time.

Good luck!

1 Like

Hi BB and Hoang Anh!

Neither was the case, unfortunately. I have log messages after almost every activity. And I haven’t edited any TimeoutMS values either…

Thank you for the answer anyway!

Very strange! Is it possible for you to remove the sensitive portions of your project and upload it here to the forum? Off the top of my head I can’t think of what else could be causing this, but I’ll take a look at the project and maybe something will come to me if you can upload it.

Also, you didn’t specifically mention this in either of your other posts, but I get the sense that this is a process you have run successfully before. Is that correct?

Cheers,
Riley

1 Like

Sorry for delayed response! But yes, this is running successfully, and has run successfully now every day except for that one time.

Unofrtunately I cannot upload the project workflow here at the moment. It would take some time to anonymise the version. I do not think there is anything in the project, that would cause this.

Thanks anyway!

Hi,

Were you able to solve the issue?

Regards,
Dhanushya

@dhanushya, hi
It may have been resolved by upgrading to a newer version as I know in the past there were some glitches where the process would complete but not actually end.

I would also suggest looking at Event Viewer to see if there were any errors/crashes that may have caused a glitch. I have seen some weird things happen in Windows Server 2012, which IT can never correctly analyze, but anyway.

Note: always use a stop/kill after a certain amount of time because there is potential for intermittent server issues, until they are solved atleast.

Regards.

Thank you for your time.

The problem exists even to this day in the 2019 version 2019.7.0. I’m working on the Generate Yearly Report Project of the Level 3 training. The process works without issues for a few iterations and then goes into a freeze.

These are tiny excel files we’re downloading. I’m now beginning to think what’s going to be the real-world situation when large excel files are pulled down and manipulated.

:frowning:

This situation is outside of the normal Exception handling routines. Therefore, failure and recovery of the Robot is not possible in this case. Building loops to limit data and also deliberately restart the robot every few iterations will make the process more complex and hard to maintain.

I’ve tried executing the process as a job from the Orchestrator, but that too suffers from the same issues. Here are the screen shots from my task manager before and after I kill the process.


Noticed a few things that cause the Robot to hang.

Loss of Internet connectivity. I had earlier connected to a 5GHz Wi-Fi AP, that became choppy as I moved away from it. When the robot went off the rails, I noticed my internet was near dead. Connecting to a 2.4GHz AP got me on track.

Robot has to be restarted before the next iteration of the Job is started. First iteration processed and backed up a 141 report files without any issues. But when I restarted the job after data reset, the Robot failed during the third or fourth transaction.

Finally, my process was built to back up the files into an archive folder after each Yearly Report was generated. There seems to be some link between the failures and the number of files in the folder. Longer the file list, more frequent is the failure. Cleaning out the back up folder seems to help.

I may have to come up with an alternate solution for archiving because most often no one just deletes downloaded reports in the real world.

@dhanushya_p @ClaytonM @bluerock @BB-8 @AndyMenon @anhth15

Even I am facing this issye of Robot getting stuck during execution from the past 6 months and UiPath has not provided any solutions/fix to it.

I got around the issue by limiting the number of records in the GetTransaction.xaml to a certain preset number, and executing the process from the orchestrator using a recording schedule.

In datatable I have one column in which there are many values like 5.502333 etc… I just want to take round of value like 5.50 till two digit … how I can apply for all values in datatable…

Need ur Help!!!

You can try Convert functions with formatting options.

Usually its convert to Decimal or Float with an option to limit the decimals to 2 digits
.

@AndyMenon My workflow is not based on RE framework.
So I wont be able to do the fix you mentioned.

use function math.round

The Reframework is another way of building a workflow.

Your process can also do the same thing if you modify it.