Initialization fails, main is not triggered

Hi,

We’re implementing a change in one of our production robots. Robot activity starts by looping to make sure the code on main page has been started. It waits for 30 seconds in each iteration until 5 max iterations.
After deploying our new code version (change was not around this loop, it was at some other business logic which is working fine) code on the main page is not triggering and jumping to loop end (Jump to Error E006) after 5 iterations which is totally hard to understand. I tried with all possible troubleshooting steps but nothing seems to be working.
I noticed one error message after new deployment. Usually after every deployment I’m stopping and starting Pega RPA service and re-launching Pega Runtime so that it make sure to pick the right version of the package. But there is one error message which actually I think it is not related to main page code, but that’s the only error I found and it appears right after package has been loaded and even before I started the queue from Robot Manager. Which is really strange, there is no change in the code which it has been highlighting in the error message.
However, code works fine when I step through it, but it doesn’t work from RM.

Here I’m attaching screenshots. This is one of our key robots in production, any valuable inputs are highly appreciated. Thank you!

BR
/Rajesh

@RajeshS17304030Your message definition error message means that you are calling the GetMessageDetails method in your automation SHU_P_Config_Initialization with an invalid message code (one you have not defined). For example, you can reproduce this by using the code “HAMBURGER”. Since it is unlikely you’ve ever defined a message code of “HAMBUGER”, you’d see that same exception. I would start there. I would also examine the RuntimeLog if you haven’t already to determine if you are ever actually changing IsRobotInitialized. I suspect not, based on the names of the elements in your screenshots (I would expect an automation named SHU_P_Config_Initialization to be where you’d perform initialization and ultimately set a variable named IsRobotInitialized), but I cannot see enough of your automation to be sure.

You mentioned that you are using the RPA Service. Are you also using Pega Robot Manager to provide the work to the bots? If so, you do not need to do all of this to prevent the bot from working until it is initialized. Each Adapter (or Application as they are now called in our current version) has a property named “ReadyForRobotWork” (and a corresponding property named “ReasonAdapterNotReady”). If you set this to false, Robot Manager will not provide work until all Adapters have this property set to true. This means that on startup, you could perform you initialization and then set this property to true. That would prevent RM from sending any work until you’ve completed your initialization. Just make sure you set this property to false in Studio before you deploy so that its default is false. You can also use this during the automation if you encounter some error that would prevent the bot from being able to do any further work.

Thanks @ThomasSasnett

It seems like one message from message manifest configuration is disappeared due to files corrupted. I fixed it and works well now.