Welcome Guest Search | Active Topics | Sign In | Register

Failed to start image manager Options
David
Posted: Tuesday, December 8, 2020 1:20:32 PM
Rank: Newbie
Groups: Member

Joined: 12/8/2020
Posts: 5
Hi.

I encounter this error exception, Failed to start image manager. Below is the stack trace.


[STACKTRACE]: at EO.Base.ThreadRunnerBase.omxf.fotd(Int32 lxd, Boolean& lxe)
at EO.Base.ThreadRunnerBase.Send(ActionWithResult action, Int32 timeoutInMS, Boolean& done)
at EO.Base.ThreadRunnerBase.Send(ActionWithResult action, Int32 timeoutInMS)
at EO.Base.ThreadRunnerBase.Send(ActionWithResult action)
at EO.WebBrowser.ThreadRunner.Send(WebViewCallback callback, WebView webView, Object args)
at EO.WebBrowser.ThreadRunner.ipqa(Int32 zx, Int32 zy, Boolean zz, BrowserOptions aaa)
at EO.WebBrowser.ThreadRunner.CreateWebView(BrowserOptions options)
at EO.WebBrowser.ThreadRunner.CreateWebView()
at Glenosoft.Modules.ScreenshotEssentialObjects.Setting.test1() in ....btnTest_Click(Object sender, EventArgs e) in ..:line 92
at System.Web.UI.WebControls.Button.OnClick(EventArgs e)
at System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument)
at System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument)
at System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument)
at System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData)
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint),

Can please help how to fix this?
Server is 2012 R2.
I use the EO.webbrowser version 20.3.34.0, .net 4.6




eo_support
Posted: Tuesday, December 8, 2020 2:24:56 PM
Rank: Administration
Groups: Administration

Joined: 5/27/2007
Posts: 24,072
Hi,

Please try to enable EO Worker process and see if it resolves the issue for you:

https://www.essentialobjects.com/doc/common/eowp.aspx

If that still does not resolve the issue for you, please try to call these two methods to collect diagnostic logs:

https://www.essentialobjects.com/doc/eo.base.diagnostictools.startdiagnosticlog.aspx
https://www.essentialobjects.com/doc/eo.base.diagnostictools.stopandsavediagnosticlog.aspx

The logs will be automatically submitted to our server. You can then tell us the record ID (returned by StopAndSaveDiagnosticLog) and we will look into it and see what we can find.

Thanks!

David
Posted: Tuesday, December 8, 2020 2:46:20 PM
Rank: Newbie
Groups: Member

Joined: 12/8/2020
Posts: 5
This is the log I got:


Code:
"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"
eo_support
Posted: Tuesday, December 8, 2020 4:37:05 PM
Rank: Administration
Groups: Administration

Joined: 5/27/2007
Posts: 24,072
Hi,

This is not the log we are looking for. We are looking for the log submitted by the above two API calls. You will need to change your code to call those two APIs (call StartDiagnosticLog when your application starts and call StopAndSaveDiagnosticLog after the problem occurs). These two APIs will submit more detailed logs to our server. We will then check the logs on our server.

Thanks
David
Posted: Tuesday, December 8, 2020 8:04:50 PM
Rank: Newbie
Groups: Member

Joined: 12/8/2020
Posts: 5
eo_support wrote:
Hi,

This is not the log we are looking for. We are looking for the log submitted by the above two API calls. You will need to change your code to call those two APIs (call StartDiagnosticLog when your application starts and call StopAndSaveDiagnosticLog after the problem occurs). These two APIs will submit more detailed logs to our server. We will then check the logs on our server.

Thanks



I believe i have called the two APIs.

Code: C#
private void test1()
        {
            string strTargetURL = txtURL.Text;

            EO.WebBrowser.Runtime.AddLicense("...");

            EO.Base.Runtime.EnableEOWP = true;
            EO.Base.Runtime.EnableCrashReport = true;
            EO.Base.DiagnosticTools.StartDiagnosticLog("test");



            try
            {
                // Create a ThreadRunner object
                ThreadRunner threadRunner = new ThreadRunner();

                //Create a WebView through the ThreadRunner
                WebView webView = threadRunner.CreateWebView();

                threadRunner.Send(() =>
                {
                    string strFile = Server.MapPath("~/test.jpg");

                //Load Google's home page
                webView.LoadUrlAndWait(strTargetURL);

                //Capture screens-hot and save it to a file
                webView.Capture().Save(strFile);
                });

                //webView.Dispose();
                threadRunner.Dispose();

                int iID=EO.Base.DiagnosticTools.StopAndSaveDiagnosticLog(Server.MapPath("~/EO.log"));
                lblID.Text = iID.ToString();
            }
            catch (Exception ex)
            {
                int iID = EO.Base.DiagnosticTools.StopAndSaveDiagnosticLog(Server.MapPath("~/EO.log"));
                lblID.Text = iID.ToString();

                LogManager oMgr = new LogManager(eCatalogContext.Current);
                oMgr.WriteException(ex);
                
            }
        }


The ID returns "0".

Is the code correct? If yes, then my webhosting company probably does not allow to submit the log to your server.
Is there any other way to submit the error log?
It manage to generate the EO.log file.



David
Posted: Wednesday, December 9, 2020 12:55:05 AM
Rank: Newbie
Groups: Member

Joined: 12/8/2020
Posts: 5
Now I created several websites to troublshoot this problem.

test.com
does NOT contain eowp.exe in bin folder
run test1, which enableEOWP=false. It works
run test2, which enableEOWP=true. It works

test.com
contain eowp.exe in bin folder
run test1, which enableEOWP=false. Failed to start image manager
run test2, which enableEOWP=true. Failed to start image manager

test2.com, test3.com
contain eowp.exe in bin folder
run test1, which enableEOWP=false. Failed to create child process, Win32 Error: 1260
run test2, which enableEOWP=true. Failed to create child process, Win32 Error: 1260

test2.com, test3.com
does NOT contain eowp.exe in bin folder
run test1, which enableEOWP=false. Can not find or automatically create eowp.exe.....
run test2, which enableEOWP=true. Failed to create child process, Win32 Error: 5

Not sure why this test.com the only one working, but the rests are not working.

Please help to solve, as i have to launch website by end of this week. :'(


I have attached the project file for you to check. http://www.glenosoft.com/preview/webapplication14.zip

eo_support
Posted: Wednesday, December 9, 2020 9:59:44 AM
Rank: Administration
Groups: Administration

Joined: 5/27/2007
Posts: 24,072
Hi,

This appears to be a security policy issue related to the account under which your test site runs. Your test.com works because it's the only site that has sufficient permission.

Our library needs to start child process at run time (in order to run the native browser engine inside the child process), at runtime it follows these logic to start the child process. If any of the following step succeed, then it will succeed:

1. If EnableEOWP is not set to true (default), it will try to use Windows\System32\rundll32.exe. This can fail if you have security policy that prevents your application from reading System32 directory, or from starting application in that folder;

2. If step 1 fail or EnableEOWP is set to true, then it will try to use eowp.exe by:

2.a. Look for eowp.exe inside bin folder and try to start it. This can fail if you have security policy that prevents your application from starting application in that folder (it's impossible that your application won't have read permission in that folder, otherwise your application DLLs won't be loaded);

2.b. If eowp.exe does not exist in the bin folder, we will try to create automatically in your temp folder. Again, if you have security policy that prevents your application from starting application in temp folder, then this step will fail;

It appears that all the above steps have failed in your environment. The key to resolve your issue is that you must find a location in your system where your application is allowed to start an exe. The following steps is an example of how this issue can be resolved/tested:

1. Create a dedicated folder on your system. For example, "c:\NoRestrictionHere";
2. Place an exe inside that folder. For testing purpose, you can create a simple console application test.exe;
3. Configure your folder permission to allow everyone to have execute permission in this folder;
4. Inside your application, call Process.Start("c:\\NoRestrictionHere\\test.exe") and see if it succeed;

If the above steps succeed, you can then place eowp.exe inside that folder and call

Code: C#
EO.Base.Runtime.InitWorkerProcessExecutable("c:\\NoRestrictionHere\\eowp.exe");


This does not create the exe file (since it's already there), but it tells our library where to look for it.

As part of troubleshooting process, you may also want to check your Windows event log to see if you can find any clues about exactly why your application was not allowed to eowp.exe at the first place.

Your code to collect log is correct --- however if you do not provide any log file name at all (pass null) when you call StopAndSaveDiagnosticLog, then the log will be sent to our server. If you do provide a file name, then the log will be saved to the log file and it will NOT be sent to our server. In that case the return value will be 0.

Thanks!


You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.