We have two Power Automate Desktop servers that run unattended PADs overnight.
A recent update (applied only to one of the servers) appears to have introduced an issue where Edge fails to launch.
The error does not occur on every run but it does always happen on the same server with the recent update and not on the other which is a version back.
Is anyone else experiencing the same issue?
I've also checked that Edge and the Edge PAD Extension are up-to-date on both servers as well.
Server Version (that does not have the issue): 2.69.217.26166
Server Version (experiencing the issue): 2.70.187.26189
Action name: Launch new Microsoft Edge
Error (from Desktop Flows console): Action 'Launch new Microsoft Edge' failed.
Details of error:
Problem while executing action 'LaunchEdge'. Failed to assume control of Microsoft Edge (communication with Power Automate web extension failed)
Microsoft.Flow.RPA.Desktop.Modules.SDK.Extended.Exceptions.InternalActionException: Failed to assume control of Microsoft Edge (communication with Power Automate web extension failed) ---> Microsoft.Flow.RPA.Desktop.UIAutomation.WebAutomation.Core.WebExtensionsBrowser.WebExtensionHostNotAvailableException: Could not connect to the web extension's native message host within the remaining timeout period (54 seconds). ---> System.TimeoutException: The operation has timed out.
at Microsoft.Flow.RPA.Desktop.UIAutomation.Shared.Rpc.NamedPipesRpcPeer.CreatePipeStream(String pipeName, Boolean isServer, TimeSpan connectTimeout, Int32 bufferSize, CancellationToken cancellationToken)
at Microsoft.Flow.RPA.Desktop.UIAutomation.Shared.Rpc.NamedPipesRpcPeer..ctor(String pipeName, RpcInterfaceRegistar interfaceRegistar, Boolean isServer, TimeSpan connectTimeout, TimeSpan callTimeout, Int32 bufferSize, ILogger`1 logger, IStreamValidator streamValidator, CancellationToken cancellationToken)
at Microsoft.Flow.RPA.Desktop.UIAutomation.Shared.Rpc.NamedPipesRpcPeer.ConnectAsClient(String pipeName, RpcInterfaceRegistar interfaceRegistar, ILogger`1 logger, Nullable`1 connectTimeout, Nullable`1 callTimeout, IStreamValidator streamValidator, CancellationToken cancellationToken)
at Microsoft.Flow.RPA.Desktop.UIAutomation.WebAutomation.Core.WebExtensionsBrowser.Communication.RpcWebExtensionsProxy.Connect()
--- End of inner exception stack trace ---
at Microsoft.Flow.RPA.Desktop.UIAutomation.Core.Abstractions.ServiceRouter`1.Invoke(MethodInfo targetMethod, Object[] args)
at generatedProxy_6.LaunchNewEdge(AutomationRoute, String, String, String, String, LaunchNewEdgeMode, LaunchWindowState, AttachMode, MatchMode, Boolean, TimeSpan, WebPageCourseOfActionIfDialogAppears, Boolean, Boolean, TimeSpan, PiPUserDataFolderMode, String, Boolean, WebAutomationCommunicationMethod, Dictionary`2)
at System.Reflection.MethodBaseInvoker.InterpretedInvoke_Method(Object obj, IntPtr* args)
at System.Reflection.MethodBaseInvoker.InvokeWithManyArgs(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
--- End of remote exception stack trace ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at Microsoft.Flow.RPA.Desktop.UIAutomation.Shared.Rpc.RpcDispatchProxy`1.GetRemoteResultOrThrow(ISerializer serializer, RPCMessage response, Type expectedResultType, Object additionalContext)
at Microsoft.Flow.RPA.Desktop.UIAutomation.Shared.Rpc.RpcDispatchProxy`1.Invoke(MethodInfo targetMethod, Object[] args)
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Reflection.DispatchProxyGenerator.Invoke(Object[] args)
at generatedProxy_2.LaunchNewEdge(AutomationRoute , String , String , String , String , LaunchNewEdgeMode , LaunchWindowState , AttachMode , MatchMode , Boolean , TimeSpan , WebPageCourseOfActionIfDialogAppears , Boolean , Boolean , TimeSpan , PiPUserDataFolderMode , String , Boolean , WebAutomationCommunicationMethod , Dictionary`2 )
at Microsoft.Flow.RPA.Desktop.Modules.WebAutomation.Common.WebAutomationRuntimeServiceProxy.<>c__DisplayClass26_0.<LaunchNewEdge>b__0(IWebAutomationRuntime s)
at Microsoft.Flow.RPA.Desktop.Modules.WebAutomation.Common.WebAutomationRuntimeServiceProxy.ExecuteSafe[T](Func`2 action, TimeSpan timeout)
at Microsoft.Flow.RPA.Desktop.Modules.WebAutomation.Common.WebAutomationRuntimeServiceProxy.LaunchNewEdge(AutomationRoute route, String initialUrl, String edgeTabTitle, String edgeTabUrl, String dialogButtonToPress, LaunchNewEdgeMode operation, LaunchWindowState windowState, AttachMode attachMode, MatchMode matchMode, Boolean waitForWebPageToLoad, TimeSpan waitForPageToLoadTimeout, WebPageCourseOfActionIfDialogAppears courseOfActionIfDialogAppears, Boolean clearCache, Boolean clearCookies, TimeSpan timeout, PiPUserDataFolderMode pipUserDataFolderMode, String pipUserDataFolderPath, Boolean runInPip, WebAutomationCommunicationMethod communicationMode, Dictionary`2 webDriverSessions)
at Microsoft.Flow.RPA.Desktop.Modules.WebAutomation.Actions.LaunchEdgeBase.<>c__DisplayClass83_0.<Execute>b__0(IWebAutomationRuntime s)
at Microsoft.Flow.RPA.Desktop.Modules.WebAutomation.Actions.WebAutomationActionBase.PerformWebAutomationWithLogging[T](Func`2 action, WebAutomationRuntimeLogData requestData, Func`3 resultData)
at Microsoft.Flow.RPA.Desktop.Modules.WebAutomation.Actions.LaunchEdgeBase.Execute(ActionContext context)
--- End of inner exception stack trace ---
at Microsoft.Flow.RPA.Desktop.Modules.WebAutomation.Actions.LaunchEdgeBase.Execute(ActionContext context)
at Microsoft.Flow.RPA.Desktop.Robin.Engine.Execution.ActionRunner.Run(IActionStatement statement, Dictionary`2 inputArguments, Dictionary`2 outputArguments, Guid actionExecutionId)
Thanks!
Michael A. Strauss