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?
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.
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?
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.
@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.
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.
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.
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…