We recently implemented EO in a large WPF solution. The application is used by 4500+ users and I traversed logs from last week, and we probably have 20 affected user last week with this error. We are getting an exception, whenever we try to use the EO component - message: "Failed to create child process, Win32 Error: 193".
Facts
- We use EO WPF Browser v17.3.13
- Supported from .NET 4.6.2 and onwards
- Deployed with Squirrel for Windows for all users and all users using same version of the application.
- EnableEOWP=True
- DisableGPU = False
Facts regarding users affected:
- Various Operting Systems from Windows 7 to Windows 10
- Both 32bit and 64bit
- Since these are personal desktops, users have various applications installed alongside. No similarities regarding virus scanners, firewalls etc.
- We have had a couple of remote sessions to effected users, and both had .NET 4.7.1 installed.
- The error is consequent.
- When copying the installed application from the error prone desktop, to my desktop solves the problem. Hence indicating the the assemblies/executable is not tampered with or corrupted.
I've attached to the process and captured first change exceptions, to see if any caught exceptions would give any indications. However only the following stacktrace :
Quote:{
"Depth": 0,
"ClassName": "System.Exception",
"Message": "Failed to create child process, Win32 Error: 193",
"Source": "EO.Base",
"StackTraceString": " at EO.Internal.jn.a(Exception A_0, Boolean A_1)\r\n at EO.Internal.jn.a(Int32 A_0, String A_1, Boolean A_2)\r\n at EO.Internal.jn.f..ctor(jn A_0, String A_1, String A_2)\r\n at EO.Internal.jn.a(j A_0, azz A_1, String A_2, String A_3)\r\n at EO.Internal.jn.a(Boolean& A_0, a9v[] A_1, String A_2, String A_3)\r\n at EO.Internal.jn.a(a9v[] A_0, String A_1, String A_2)\r\n at EO.Internal.jn.o.c()\r\n at EO.Internal.jn.o.f()\r\n at EO.Internal.jn.n()\r\n at EO.Internal.jn.a(Boolean& A_0, a9v[] A_1, String A_2, String A_3)\r\n at EO.Internal.jn.a(a9v[] A_0, String A_1, String A_2)\r\n at EO.Internal.av2.b()\r\n at EO.Internal.av2.a(WindowsIdentity A_0)\r\n at EO.WebEngine.Engine.Start(WindowsIdentity user)\r\n at EO.Internal.av2.d()\r\n at EO.Internal.cr..ctor(WebView A_0)\r\n at EO.WebBrowser.WebView.x()\r\n at EO.WebBrowser.WebView.a(IntPtr A_0, Boolean A_1)\r\n at EO.Wpf.WebViewHost.a.a(HandleRef A_0)\r\n at System.Windows.Interop.HwndHost.BuildWindow(HandleRef hwndParent)\r\n at System.Windows.Interop.HwndHost.BuildOrReparentWindow()\r\n at System.Windows.Interop.HwndHost.OnSourceChanged(Object sender, SourceChangedEventArgs e)\r\n at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)\r\n at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)\r\n at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)\r\n at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)\r\n at System.Windows.PresentationSource.UpdateSourceOfElement(DependencyObject doTarget, DependencyObject doAncestor, DependencyObject doOldParent)\r\n at System.Windows.PresentationSource.OnVisualAncestorChanged(DependencyObject uie, AncestorChangedEventArgs e)\r\n at System.Windows.UIElement.OnVisualAncestorChanged(Object sender, AncestorChangedEventArgs e)\r\n at System.Windows.Media.Visual.ProcessAncestorChangedNotificationRecursive(DependencyObject e, AncestorChangedEventArgs args)\r\n at System.Windows.Media.Visual.AddVisualChild(Visual child)\r\n at System.Windows.Controls.Decorator.set_Child(UIElement value)\r\n at EO.Wpf.WebViewHost.OnApplyTemplate()\r\n at System.Windows.FrameworkElement.ApplyTemplate()\r\n at System.Windows.FrameworkElement.MeasureCore(Size availableSize)\r\n at System.Windows.UIElement.Measure(Size availableSize)\r\n at System.Windows.Controls.Grid.MeasureCell(Int32 cell, Boolean forceInfinityV)\r\n at System.Windows.Controls.Grid.MeasureCellsGroup(Int32 cellsHead, Size referenceSize, Boolean ignoreDesiredSizeU, Boolean forceInfinityV, Boolean& hasDesiredSizeUChanged)\r\n at System.Windows.Controls.Grid.MeasureOverride(Size constraint)\r\n at System.Windows.FrameworkElement.MeasureCore(Size availableSize)\r\n at System.Windows.UIElement.Measure(Size availableSize)\r\n at MS.Internal.Helper.MeasureElementWithSingleChild(UIElement element, Size constraint)\r\n at System.Windows.Controls.ContentPresenter.MeasureOverride(Size constraint)\r\n at System.Windows.FrameworkElement.MeasureCore(Size availableSize)\r\n at System.Windows.UIElement.Measure(Size availableSize)\r\n at System.Windows.Controls.Border.MeasureOverride(Size constraint)\r\n at System.Windows.FrameworkElement.MeasureCore(Size availableSize)\r\n at System.Windows.UIElement.Measure(Size availableSize)\r\n at System.Windows.Controls.Control.MeasureOverride(Size constraint)\r\n at System.Windows.FrameworkElement.MeasureCore(Size availableSize)\r\n at System.Windows.UIElement.Measure(Size availableSize)\r\n at System.Windows.Controls.Grid.MeasureOverride(Size constraint)\r\n at System.Windows.FrameworkElement.MeasureCore(Size availableSize)\r\n at System.Windows.UIElement.Measure(Size availableSize)\r\n at MS.Internal.Helper.MeasureElementWithSingleChild(UIElement element, Size constraint)\r\n at System.Windows.Controls.ContentPresenter.MeasureOverride(Size constraint)\r\n at System.Windows.FrameworkElement.MeasureCore(Size availableSize)\r\n at System.Windows.UIElement.Measure(Size availableSize)\r\n at System.Windows.Documents.AdornerDecorator.MeasureOverride(Size constraint)\r\n at System.Windows.FrameworkElement.MeasureCore(Size availableSize)\r\n at System.Windows.UIElement.Measure(Size availableSize)\r\n at System.Windows.Controls.Grid.MeasureOverride(Size constraint)\r\n at System.Windows.FrameworkElement.MeasureCore(Size availableSize)\r\n at System.Windows.UIElement.Measure(Size availableSize)\r\n at System.Windows.Controls.Border.MeasureOverride(Size constraint)\r\n at System.Windows.FrameworkElement.MeasureCore(Size availableSize)\r\n at System.Windows.UIElement.Measure(Size availableSize)\r\n at System.Windows.Window.MeasureOverrideHelper(Size constraint)\r\n at System.Windows.Window.MeasureOverride(Size availableSize)\r\n at System.Windows.FrameworkElement.MeasureCore(Size availableSize)\r\n at System.Windows.UIElement.Measure(Size availableSize)\r\n at System.Windows.Interop.HwndSource.SetLayoutSize()\r\n at System.Windows.Interop.HwndSource.set_RootVisualInternal(Visual value)\r\n at System.Windows.Window.SetRootVisual()\r\n at System.Windows.Window.SetRootVisualAndUpdateSTC()\r\n at System.Windows.Window.SetupInitialState(Double requestedTop, Double requestedLeft, Double requestedWidth, Double requestedHeight)\r\n at System.Windows.Window.CreateSourceWindow(Boolean duringShow)\r\n at System.Windows.Window.ShowHelper(Object booleanBox)\r\n at Systematic.DMS.DMSPortal.Public.DialogService.ShowWindow(IDialogView windowView, Nullable`1 width, Nullable`1 height, String title, Boolean maximized)\r\n at Systematic.DMS.Infrastructure.Mvvm.MvvmManager.ShowWindow[TDialogWindow,TDialogViewModel](Action`1 configure, Nullable`1 width, Nullable`1 height, String title, Boolean maximized, String name)\r\n at ListReportsConcept.UIL.Report.ReportManager.ShowReportWindowOrPrint(String title, Action`1 initializer)\r\n at System.Collections.Generic.List`1.ForEach(Action`1 action)\r\n at Systematic.CommonCode.Ui.Utilities.DispatcherWrapper.<>c__DisplayClass12_0`1.<PerformAsyncWorkAndUpdateUi>b__3(List`1 uiActions)\r\n at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)\r\n at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)",
"RemoteStackTraceString": null,
"RemoteStackIndex": 0,
"ExceptionMethod": {
"Name": "a",
"AssemblyName": "EO.Base",
"AssemblyVersion": "17.3.13.0",
"ClassName": "EO.Internal.jn",
"Signature": "Void a(System.Exception, Boolean)",
"MemberType": 8
},
"HResult": -2146233088,
"HelpURL": null
}
Questions:
1 - Anyway to change logging verbosity to troubleshoot this issue?
2 - In terms of identifying the exact impact of our user base, we need to catch this exception - do you have any information of how to catch this exception from the UI thread?
3 - How do you suggest we proceed troubleshooting this issue?