I have installed OpenRPA on Windows 10 but when I click on New/New Project and enter a project name nothing happens for about a minute and then I get the error “Collection ‘projects’ lock timeout when entering write mode after 00:01:00”
My Windows version is 22H2 (19045.3693). I cannot find the version of the OpenRPA application but I assume it is the latest since I have just downloaded it. When I load OpenRPA it clobbers my machine for several minutes … File Explorer is at 85% CPU.
I have installed the Chrome OpenRPA extension (although I would have thought OpenRPA should at least run without this).
The tutorial “Installing and starting” if of no help (and in any case does not seem to correspond to the current version). I could find nothing in the topics.
At the bottom of the OpenRPA window it says “Connected to wss://app.openiap.io/ as Barrie ARcher Open NM : online”
You mention File Expore is using CPU and not OpenRPA, that instantly makes me suspect it’s either AntiVirus or Windows Defender SmartScreen.
Are you behind a corporate firewall or are you running some service that blocks ads and other unwanted things, like pi-hole ? Or do you sometimes have issues with unstable internet, could there be a correlation by network being down while you launch it ? ( i’m very unsure about the last one, since you mention the title say you are connected, once it is started, but still … )
Right now, i don’t think that is related to the other issue, when creating a project. My first though in that regard is you are not connected to openflow. The UI will wait for OpenFlow to ackogle the project file is created, it needs that to add the correct project id on the first workflow it add’s inside the project.
Thanks. Your questions have led me to realise that OpenFlow is a cloud service.
I noticed that there is an offline mode so thought I would try that using the information in Using robot “offline” | OpenIAP Documentation (from one of your other posts). Unfortunately I get the error “Could not find the file …\Documents\OpenRPA\offline-log.db” which looks rather like a bug. For my usage offline mode seems perfectly adequate.
Regarding your questions, I use vanilla Windows Defender (which has SmartScreen enabled by default). I am not behind a corporate firewall but I am behind a Ubiquiti USG. However, I am on the core VLAN so there should be no WAN protocol restrictions and I have not had any problems before. I have been unable to determine what protocol OpenRPA uses although I note from OpenIAP network protocol | OpenIAP Documentation that OpenIAP offers various protocols but REST is only “experimental”.
Regarding the high CPU usage of Windows (not File as I said before) Explorer when loading OpenRPA, I am guessing <straws clutching> this is an oddity, possible loading OpenRPA triggers a re-index?
Any thoughts on how I can get offline mode to work?
Right now OpenRPA uses protocol version 1, that is sending text messages over websockets. ( normal http/1.1 … should work with everything except old proxy servers or if deliberately blocked in some layer 4 firewall )
Everything else ( websites, agents, packages ) uses version 2 that defaults to gRPC ( using binary protocol buffers over http/2) that could give issues for anything that wants to play packets inspector and does not understand http/2.
If websockets is an issue for you , you can install openflow locally / on prem or “go offline” as you already found.
Keep in mind, OpenRPA needs to be stopped before updating settings.json … Open Task Manager, go to details and kill any instances of OpenRPA that might be running.
Since you have not saved anything, the .db files does not matter, just delete them ( after killing any openrpa.exe processes )
Are you using roaming profiles ? LiteDB does NOT like roaming profiles or other “special folders” like I have seen with “explorer integrated” applications like dropbox/onedrive and others sometimes do … If so, move it out of those folders ( guide here )
I didn’t fully understand your explanation of the protocols, but text over http 1.1 using websockets hardly seems out of the ordinary … and I don’t understand why the API (websockets) should impact the firewall (but stranger things have happened).
I have, however, found the following in the OpenFlow audit log
which shows that OpenRPA successfully logged me in to OpenFlow.
So, whatever is going wrong it is not a basic protocol issue … although it could still be a usage issue.
But, as I said I would happily use offline mode. I have managed now to get over the hurdle of the missing offline-log.db by copying offline.db to offline-log.db. Insisting your log file already exists is, to my mind, somewhat bizarre.
The symptom sounds like something waiting/stalling during launch. That would typically be SmartScreen trying to validate if a file is “safe”. The MSI installer is signed with a VE code signing certificate, but the DLLs and EXEs inside are not. However, it could also be something else. Hard to say.
OpenRPA uses websockets. I don’t know Ubiquiti USG, but googling it with “DPI” or “layer 4” shows it does support package inspection. If that is enabled and it sees something it does not like, it might drop it. But I find that highly unlikely. I would expect it to fully understand and allow websocket traffic. So I agree, the “lock up” you saw during creating a new project, most likely is something else. Without a memory dump, I cannot say, only guess. Your screenshot of the audit log also seems to confirm that. If going offline works and you don’t need/want to use OpenFlow, definitely do that. Less to worry about, and less complexity.
LiteDB has been a little bit of a pain since I started using it. It works very well on 95% of the machines out there, and then, for some reason, on some it just will not behave and either constantly corrupt the database or starts performing super slow. I mostly see that on machines using roaming profiles, but I don’t suspect you are running an Active Directory and that you have “My Documents” folder redirected to a CIFS share. So then I’m out of good ideas. If you start having those problems, and you find a reason/workaround, I would love to know it, so I can share it on the docs page.
I think I still have a special build of OpenRPA that does not use LiteDB somewhere, but that then requires non-stop access to OpenFlow. So might not be the first thing to try out right now.