Welcome Guest Search | Active Topics | Sign In | Register

Request assistance to fix EO.Pdf.HtmlToPdfException Options
Ivan
Posted: Thursday, September 21, 2023 12:08:39 PM
Rank: Newbie
Groups: Member

Joined: 9/21/2023
Posts: 4
Hello there,

We're using the EO components 23.1.77.0 I'm experiencing a crash when attempting to convert around 1,400 HTML files to PDF. We were able to process(convert to PDF) a few hundred records but after updating from 18.0.15.0 to 23.1.77.0 we are 18.0.15.0encountering the error below. When using 18.0.15.0 we were able to process over 4,000 records.

The exception stack trace we got from the last run were:
{Message:'[MultiPayStmtsBatchRequested] <56ca683f-baf0-4f85-b8a1-3a620833abda, 3f462843-188e-4701-a7a0-7e74a4c3e78f> Message Failed: The request was canceled. at System.Environment.GetStackTrace(Exception e, Boolean needFileInfo) at System.Environment.get_StackTrace() at EO.Base.BaseException..ctor(String lsq, Exception lsr) at EO.Pdf.HtmlToPdfException..ctor(HtmlToPdfErrorCode zt, Int32 zu, String zv, Exception zw) at EO.Pdf.HtmlToPdfException.wrdy(LoadFailedEventArgs zz) at EO.Internal.uscx.pmju(urxr bss, String bst, String bsu, Int32 bsv, Int32 bsw, String bsx, Boolean bsy) at EO.Internal.uscx.wcrb(urxr bsk, String bsl, HtmlToPdfOptions bsm, String bsn, Int32 bso, Int32 bsp, String bsq, Boolean bsr) at EO.Pdf.HtmlToPdfSession.wcrb(urxr yo, String yp, String yq, Int32 yr, Int32 ys, String yt, Boolean yu) at EO.Pdf.HtmlToPdfSession.wcrb(urxr yv, String yw, String yx, Boolean yy) at EO.Pdf.HtmlToPdfSession.LoadHtml(String html) at EO.Pdf.HtmlToPdf.bwah.wmmr() at EO.Internal.uscu.xfob[a](vrsd`1 brr) at EO.Pdf.HtmlToPdf.ConvertHtml(String html, PdfDocument doc, HtmlToPdfOptions options) at EO.Pdf.HtmlToPdf.ConvertHtml(String html, Stream stream, HtmlToPdfOptions options) at UltimateSoftware.Payroll.Library.Helpers.HtmlToPdfConverter.ConvertToPdf(String htmlString, HtmlToPdfPageOptions htmlToPdfPageOptions) at UltimateSoftware.Payroll.BusinessObjects.Company.MultiplePayStatements.RequestManager.ProcessBatch(MultiplePayStatementsBatchRequest request, IPresentationFacade presentationFacade, IHtmlToPdfConverter htmlToPdfConverter) at UltimateSoftware.Payroll.Ues.EventHandlers.MultiplePayStatementsEventHandler.HandleBatch(String message, String clientId) at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor) at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments) at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) at UltimateSoftware.Integration.Remoting.Messaging.StringClientIdExecutorVoid.Execute(Object messageHandlerInstance, BatchRaw batch) at UltimateSoftware.Integration.Remoting.Messaging.UesApplicationBatchProcessor.ProcessBatch(BatchRaw batch) at System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr md, Object[] args, Object server, Object[]& outArgs) at System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(IMessage msg) at System.Runtime.Remoting.Messaging.ServerObjectTerminatorSink.SyncProcessMessage(IMessage reqMsg) at System.Runtime.Remoting.Messaging.ServerContextTerminatorSink.SyncProcessMessage(IMessage reqMsg) at System.Runtime.Remoting.Channels.CrossContextChannel.SyncProcessMessageCallback(Object[] args) at System.Threading.Thread.InternalCrossContextCallback(Context ctx, IntPtr ctxID, Int32 appDomainID, InternalCrossContextDelegate ftnToCall, Object[] args) at System.Runtime.Remoting.Channels.CrossContextChannel.SyncProcessMessage(IMessage reqMsg) at System.Runtime.Remoting.Channels.ChannelServices.SyncDispatchMessage(IMessage msg) at System.Runtime.Remoting.Channels.CrossAppDomainSink.DoDispatch(Byte[] reqStmBuff, SmuggledMethodCallMessage smuggledMcm, SmuggledMethodReturnMessage& smuggledMrm) at System.Runtime.Remoting.Channels.CrossAppDomainSink.DoTransitionDispatchCallback(Object[] args) '}


{Message:'[MultiPayStmtsBatchRequested] <56ca683f-baf0-4f85-b8a1-3a620833abda, 17be9a2e-c558-4370-bc03-63da163c411c> Message Failed: WebView has failed InnerException: Failed on command 5: at System.Environment.GetStackTrace(Exception e, Boolean needFileInfo) at System.Environment.get_StackTrace() at EO.Internal.rsmn..ctor(Engine abr, String abs, Exception abt) at EO.Internal.uscr.cazg(String bra, Exception brb) at EO.Internal.uscr.cazf() at EO.Internal.uscr.caze(String bqz) at EO.Internal.uscx.pmjz(fmxa btn, uscv bto, fmxc btp, Boolean btq) at EO.Internal.uscx.fmxd.gahb() at EO.Internal.usbm.irdn.bmtg() at EO.Internal.usbm.wxsg(WaitHandle axr, Int32 axs, usbl axt) at EO.Internal.uscx.wxsk(HtmlToPdfOptions bts, Single btt, Single btu, urxf btv, List`1 btw, urxh btx) at EO.Internal.urxg.wxsk(urxh vp, Single& vq) at EO.Internal.urxg.wxsg(urxh vf) at EO.Internal.urxg.wxsg() at EO.Pdf.HtmlToPdfSession.RenderAsPDF(PdfDocument doc) at EO.Pdf.HtmlToPdf.bwah.wmmr() at EO.Internal.uscu.xfob[a](vrsd`1 brr) at EO.Pdf.HtmlToPdf.ConvertHtml(String html, PdfDocument doc, HtmlToPdfOptions options) at EO.Pdf.HtmlToPdf.ConvertHtml(String html, Stream stream, HtmlToPdfOptions options) at UltimateSoftware.Payroll.Library.Helpers.HtmlToPdfConverter.ConvertToPdf(String htmlString, HtmlToPdfPageOptions htmlToPdfPageOptions) at UltimateSoftware.Payroll.BusinessObjects.Company.MultiplePayStatements.RequestManager.ProcessBatch(MultiplePayStatementsBatchRequest request, IPresentationFacade presentationFacade, IHtmlToPdfConverter htmlToPdfConverter) at UltimateSoftware.Payroll.Ues.EventHandlers.MultiplePayStatementsEventHandler.HandleBatch(String message, String clientId) at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor) at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments) at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) at UltimateSoftware.Integration.Remoting.Messaging.StringClientIdExecutorVoid.Execute(Object messageHandlerInstance, BatchRaw batch) at UltimateSoftware.Integration.Remoting.Messaging.UesApplicationBatchProcessor.ProcessBatch(BatchRaw batch) at System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr md, Object[] args, Object server, Object[]& outArgs) at System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(IMessage msg) at System.Runtime.Remoting.Messaging.ServerObjectTerminatorSink.SyncProcessMessage(IMessage reqMsg) at System.Runtime.Remoting.Messaging.ServerContextTerminatorSink.SyncProcessMessage(IMessage reqMsg) at System.Runtime.Remoting.Channels.CrossContextChannel.SyncProcessMessageCallback(Object[] args) at System.Threading.Thread.InternalCrossContextCallback(Context ctx, IntPtr ctxID, Int32 appDomainID, InternalCrossContextDelegate ftnToCall, Object[] args) at System.Runtime.Remoting.Channels.CrossContextChannel.SyncProcessMessage(IMessage reqMsg) at System.Runtime.Remoting.Channels.ChannelServices.SyncDispatchMessage(IMessage msg) at System.Runtime.Remoting.Channels.CrossAppDomainSink.DoDispatch(Byte[] reqStmBuff, SmuggledMethodCallMessage smuggledMcm, SmuggledMethodReturnMessage& smuggledMrm) at System.Runtime.Remoting.Channels.CrossAppDomainSink.DoTransitionDispatchCallback(Object[] args) at System.Environment.GetStackTrace(Exception e, Boolean needFileInfo) at System.Environment.get_StackTrace() at EO.Base.BaseException..ctor(String lsq, Exception lsr) at EO.Pdf.HtmlToPdfException..ctor(HtmlToPdfErrorCode zt, Int32 zu, String zv, Exception zw) at EO.Pdf.HtmlToPdfException.wrdv(Exception zx) at EO.Internal.urxg.wxsg(urxh vf) at EO.Internal.urxg.wxsg() at EO.Pdf.HtmlToPdfSession.RenderAsPDF(PdfDocument doc) at EO.Pdf.HtmlToPdf.bwah.wmmr() at EO.Internal.uscu.xfob[a](vrsd`1 brr) at EO.Pdf.HtmlToPdf.ConvertHtml(String html, PdfDocument doc, HtmlToPdfOptions options) at EO.Pdf.HtmlToPdf.ConvertHtml(String html, Stream stream, HtmlToPdfOptions options) at UltimateSoftware.Payroll.Library.Helpers.HtmlToPdfConverter.ConvertToPdf(String htmlString, HtmlToPdfPageOptions htmlToPdfPageOptions) at UltimateSoftware.Payroll.BusinessObjects.Company.MultiplePayStatements.RequestManager.ProcessBatch(MultiplePayStatementsBatchRequest request, IPresentationFacade presentationFacade, IHtmlToPdfConverter htmlToPdfConverter) at UltimateSoftware.Payroll.Ues.EventHandlers.MultiplePayStatementsEventHandler.HandleBatch(String message, String clientId) at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor) at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments) at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) at UltimateSoftware.Integration.Remoting.Messaging.StringClientIdExecutorVoid.Execute(Object messageHandlerInstance, BatchRaw batch) at UltimateSoftware.Integration.Remoting.Messaging.UesApplicationBatchProcessor.ProcessBatch(BatchRaw batch) at System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr md, Object[] args, Object server, Object[]& outArgs) at System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(IMessage msg) at System.Runtime.Remoting.Messaging.ServerObjectTerminatorSink.SyncProcessMessage(IMessage reqMsg) at System.Runtime.Remoting.Messaging.ServerContextTerminatorSink.SyncProcessMessage(IMessage reqMsg) at System.Runtime.Remoting.Channels.CrossContextChannel.SyncProcessMessageCallback(Object[] args) at System.Threading.Thread.InternalCrossContextCallback(Context ctx, IntPtr ctxID, Int32 appDomainID, InternalCrossContextDelegate ftnToCall, Object[] args) at System.Runtime.Remoting.Channels.CrossContextChannel.SyncProcessMessage(IMessage reqMsg) at System.Runtime.Remoting.Channels.ChannelServices.SyncDispatchMessage(IMessage msg) at System.Runtime.Remoting.Channels.CrossAppDomainSink.DoDispatch(Byte[] reqStmBuff, SmuggledMethodCallMessage smuggledMcm, SmuggledMethodReturnMessage& smuggledMrm) at System.Runtime.Remoting.Channels.CrossAppDomainSink.DoTransitionDispatchCallback(Object[] args) '}

Any advice you can provide to overcome this issue is appreciated.
Please let me know what I can provide to look into this further.

Many thanks,
Ivan Castillo
eo_support
Posted: Thursday, September 21, 2023 4:46:03 PM
Rank: Administration
Groups: Administration

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

Can you update to the latest build (23.3.31) and try again? We did resolve a memory usage issue in build 23.2.34 that could be the root cause of this issue.

Thanks!
Ivan
Posted: Tuesday, September 26, 2023 5:22:51 PM
Rank: Newbie
Groups: Member

Joined: 9/21/2023
Posts: 4
I did some preliminary testing using the latest version of the library as you recommended but still keep getting the same error description shown initially (System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> EO.Pdf.HtmlToPdfException: WebView has failed ---> EO.Internal.bavp: Failed on command 5:), Is there any additional suggestion or insight that you can provide us to overcome this issue?
eo_support
Posted: Wednesday, September 27, 2023 10:11:59 AM
Rank: Administration
Groups: Administration

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

This appears to be a browser engine crash but we are not sure what's causing the crash yet. Can you follow the steps here to collect the crash log first?

https://www.essentialobjects.com/doc/common/crash_report.html

Once we get the crash log, we will look into it and see what we can find. If we can not find anything, we may need you to isolate the problem into a test app and send the test app to us.

Thanks!
Ivan
Posted: Wednesday, September 27, 2023 5:35:00 PM
Rank: Newbie
Groups: Member

Joined: 9/21/2023
Posts: 4
Hello,
We already have the crash log but we are concern that it might contains personal identifiable information, or other proprietary information related to our company property. Can you tell us if the file contains any PII? Also, do you have a more secure way for us to send you the file instead of using this public forum?

Thank you!
eo_support
Posted: Thursday, September 28, 2023 10:34:35 AM
Rank: Administration
Groups: Administration

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

The crash log contains technical data that we need to match the crash location to our source code. So it contains call stack information, thread information, module information (such as name of all DLLs loaded) and other information that helps us to identify the error (such as the exception code). It does not contain any information related to your company property.

You can securely send the files to us through our contact us page:

https://www.essentialobjects.com/contact

Thanks!
Ivan
Posted: Tuesday, October 17, 2023 10:29:09 AM
Rank: Newbie
Groups: Member

Joined: 9/21/2023
Posts: 4
Thank you for your assistance. We ended up upgrading to the latest version available of the dll, but what seems to have made the difference in the process completing successfully was following your suggestion to add the following code to the start up code of our application:
EO.WebEngine.EngineOptions.Default.DisableGPU = true;

This advice, came as because one of the crash log showed that it is not able to initialize a GPU device.


eo_support
Posted: Thursday, October 19, 2023 12:50:30 PM
Rank: Administration
Groups: Administration

Joined: 5/27/2007
Posts: 24,150
Thanks for the update. Glad to hear that it's working for you. Please feel free to let us know if you run into any other issues.


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.