|
Rank: Newbie Groups: Member
Joined: 6/13/2019 Posts: 5
|
Hi,
We are upgrading our application and as part of that, we are now moving to Azure PaaS. While testing we found that pdf conversion fails on Azure but runs alright locally on a windows IIS VM. We further investigated and found that locally the pdf conversion uses rundll32.exe to execute the process which we think is not able to in PaaS mode in Azure as it is not physical IIS mode.
We get the following error:
ERROR Conversion failed. No process is associated with this object.
Please suggest if there is any PaaS based solution which we can use.
|
|
Rank: Administration Groups: Administration
Joined: 5/27/2007 Posts: 24,258
|
Hi, You can try to enable EO worker process and see if that works for you: https://www.essentialobjects.com/doc/common/eowp.aspxThis basically uses an exe file supplied by us (eowp.exe) in place of rundll32.exe and it allows you to customize the location of the exe file. The easiest way to use it is to copy eowp.exe into the same directory as your EO.Base.dll. This way it will be automatically detected and enabled automatically. Note that your service provider still must allow your application to create child process. There is no way around that requirement. Thanks!
|
|
Rank: Newbie Groups: Member
Joined: 6/13/2019 Posts: 5
|
I tried your suggestion. To use EOWP I had to use 2019 dlls.
That presented a different issue. I get the message: Error: Conversion failed. Browser engine failed to render page. Failed on command 1
I am using 2019 DLLs along with eowp.exe and EO.Base.Runtime.EnableEOWP = true. the pdfs are large i.e. more than 100 pages. Also to try this i had to remove the 2015 license.
|
|
Rank: Administration Groups: Administration
Joined: 5/27/2007 Posts: 24,258
|
Hi,
This still appears that the child process is either killed or did not start properly. Is it possible for you to setup a test environment for us so that we can investigate further? This issue definitely has to do with your specific environment.
Thanks!
|
|
Rank: Newbie Groups: Member
Joined: 6/13/2019 Posts: 5
|
this is still local IIS based environment, I haven't got to the azure env yet.
|
|
Rank: Administration Groups: Administration
Joined: 5/27/2007 Posts: 24,258
|
Hi,
If it always occurs on your dev machine, then it definitely has to do with your HTML (probably because it's too big). The sequence of the event inside the converter is:
1. Create a WebView object (through our EO.WebBrowser browser engine); 2. Load the Url/HTML you wish to converter into the WebView; 3. Notify the WebView to prepare for conversion; 4. Start the conversion;
When step 3 fails, you will receive "Failed on command 1" error. Possible reasons for such failure is:
1. A bug in the browser engine and caused it to crash; 2. A third party AntiVirus/security software killed the browser engine before we reach step 3; 3. An "overload" situation occurred in step 2 (such as overly complex page that causes out of memory error);
Exactly how to avoid this error depends on the cause:
For #1: We will try to chase down the crash. However due to the enormous size and complexity of the Chromium browser engine, we are usually not in a position to fix browser engine bugs. Usually the most we can do is to identify the root cause of the crash and find some workaround for you. We usually need a repro project for this case;
For #2: You can try to enable EOWP or/and add our process to your security software's whitelist/exception list;
For #3: You will need to reduce the complexity of your page. You can try to remove/comment out content block by block in your page to narrow down what triggered the problem.
Based on the information you provided, it appears that you are case #3. So you may want to to focus on your HTML instead.
In the mean time, we are also adding auto recovery logic on our end that may provide some relief and more diagnostic information for case #1 and #2.
Thanks!
|
|