Rank: Advanced Member Groups: Member
Joined: 11/8/2017 Posts: 66
|
Hello, we are running EO-PDF (v22.1.13) from a .NET-Core 3.1 web application. We are deploying to App-Services. When we request a report, initially the requests are OK, however eventually we seem to get a "Timeout" (even on small [~5 page] reports) as follows:-
Conversion failed. Time out expired before the page can be loaded. InnerException: System.Exception: Time out expired before the page can be loaded. at EO.Internal.nbvo.biuh(nbqm bsj, String bsk, String bsl, Int32 bsm, Int32 bsn, String bso, Boolean bsp) at EO.Internal.nbvo.msuy(nbqm bsb, String bsc, HtmlToPdfOptions bsd, String bse, Int32 bsf, Int32 bsg, String bsh, Boolean bsi) at EO.Pdf.HtmlToPdfSession.msuy(nbqm yx, String yy, String yz, Int32 za, Int32 zb, String zc, Boolean zd) at EO.Pdf.HtmlToPdfSession.msuy(nbqm ze, String zf, String zg, Boolean zh) at EO.Pdf.HtmlToPdfSession.LoadHtml(String html) at EO.Pdf.HtmlToPdf.qsly.tqvg() at EO.Internal.nbvl.rljz[a](wugl`1 bri) at EO.Pdf.HtmlToPdf.ConvertHtml(String html, PdfPage page, HtmlToPdfOptions options) at EO.Pdf.HtmlToPdf.ConvertHtml(String html, PdfPage page) at MI.ParentReporting.Web.PdfGenerate.NetCore.Controllers.PdfGenerateController.AfterRenderPage(Object sender, PdfPageEventArgs e) in e:\DevOpsBuilds\7\s\MI.ParentReporting.Web.PdfGenerate.NetCore\Controllers\PdfGenerateController.cs:line 973 at EO.Internal.nbqb.cljm(PdfPage wo) at EO.Internal.nbqb.cljc(nbqc vo)
at System.Environment.get_StackTrace() at EO.Base.BaseException..ctor(String lsz, Exception lta) at EO.Pdf.HtmlToPdfException..ctor(Exception aaf) at EO.Pdf.HtmlToPdfException.qqkf(Exception aag) at EO.Internal.nbqb.cljc(nbqc vo) at EO.Internal.nbqb.cljc() at EO.Pdf.HtmlToPdfSession.RenderAsPDF(PdfDocument doc) at EO.Pdf.HtmlToPdf.qslx.tqvg() at EO.Internal.nbvl.rljz[a](wugl`1 bri) at EO.Pdf.HtmlToPdf.ConvertHtml(String html, PdfDocument doc, HtmlToPdfOptions options) at EO.Pdf.HtmlToPdf.ConvertHtml(String html, Stream stream, HtmlToPdfOptions options) at EO.Pdf.HtmlToPdf.ConvertHtml(String html, Stream stream) at MI.ParentReporting.Web.PdfGenerate.NetCore.Controllers.PdfGenerateController.GeneratedPdf(UploadData uploadData, Int32& pageCount, HtmlToPdfResult& coversheetHtmlToPdfResult, Byte[]& coversheetPdf, Boolean generateFromCoversheetHtml) in e:\DevOpsBuilds\7\s\MI.ParentReporting.Web.PdfGenerate.NetCore\Controllers\PdfGenerateController.cs:line 741 at MI.ParentReporting.Web.PdfGenerate.NetCore.Controllers.PdfGenerateController.GenerateAndMerge(UploadData uploadData, Boolean isMergeBefore) in e:\DevOpsBuilds\7\s\MI.ParentReporting.Web.PdfGenerate.NetCore\Controllers\PdfGenerateController.cs:line 325 at System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[TStateMachine](TStateMachine& stateMachine) at MI.ParentReporting.Web.PdfGenerate.NetCore.Controllers.PdfGenerateController.GenerateAndMerge(UploadData uploadData, Boolean isMergeBefore) at MI.ParentReporting.Web.PdfGenerate.NetCore.Controllers.PdfGenerateController.MergeCoverSheet(UploadData uploadData) in e:\DevOpsBuilds\7\s\MI.ParentReporting.Web.PdfGenerate.NetCore\Controllers\PdfGenerateController.cs:line 283 at System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[TStateMachine](TStateMachine& stateMachine) at MI.ParentReporting.Web.PdfGenerate.NetCore.Controllers.PdfGenerateController.MergeCoverSheet(UploadData uploadData) at lambda_method(Closure , Object , Object[] ) at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.TaskOfIActionResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments) at System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[TStateMachine](TStateMachine& stateMachine) at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.TaskOfIActionResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeActionMethodAsync>g__Logged|12_1(ControllerActionInvoker invoker) at System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[TStateMachine](TStateMachine& stateMachine) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeActionMethodAsync>g__Logged|12_1(ControllerActionInvoker invoker) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeActionMethodAsync() at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeNextActionFilterAsync() at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeNextActionFilterAsync() at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeInnerFilterAsync>g__Awaited|13_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted) at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state) at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AsyncStateMachineBox`1.MoveNext(Thread threadPoolThread) at System.Threading.Tasks.AwaitTaskContinuation.RunOrScheduleAction(IAsyncStateMachineBox box, Boolean allowInlining) at System.Threading.Tasks.Task.RunContinuations(Object continuationObject) at System.Threading.Tasks.Task`1.TrySetResult(TResult result) at Microsoft.AspNetCore.Mvc.Controllers.ControllerBinderDelegateProvider.<>c__DisplayClass0_0.<<CreateBinderDelegate>g__Bind|0>d.MoveNext() at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AsyncStateMachineBox`1.ExecutionContextCallback(Object s) at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state) at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AsyncStateMachineBox`1.MoveNext(Thread threadPoolThread) at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AsyncStateMachineBox`1.MoveNext() at System.Threading.Tasks.AwaitTaskContinuation.RunOrScheduleAction(IAsyncStateMachineBox box, Boolean allowInlining) at System.Threading.Tasks.Task.RunContinuations(Object continuationObject) at System.Threading.Tasks.Task`1.TrySetResult(TResult result) at Microsoft.AspNetCore.Mvc.ModelBinding.ParameterBinder.BindModelAsync(ActionContext actionContext, IModelBinder modelBinder, IValueProvider valueProvider, ParameterDescriptor parameter, ModelMetadata metadata, Object value) at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AsyncStateMachineBox`1.ExecutionContextCallback(Object s) at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state) at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AsyncStateMachineBox`1.MoveNext(Thread threadPoolThread) at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AsyncStateMachineBox`1.MoveNext() at System.Threading.Tasks.AwaitTaskContinuation.RunOrScheduleAction(IAsyncStateMachineBox box, Boolean allowInlining) at System.Threading.Tasks.Task.RunContinuations(Object continuationObject) at System.Threading.Tasks.Task`1.TrySetResult(TResult result) at Microsoft.AspNetCore.Mvc.ModelBinding.Binders.BodyModelBinder.BindModelAsync(ModelBindingContext bindingContext) at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AsyncStateMachineBox`1.ExecutionContextCallback(Object s) at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state) at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AsyncStateMachineBox`1.MoveNext(Thread threadPoolThread) at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AsyncStateMachineBox`1.MoveNext() at System.Threading.Tasks.AwaitTaskContinuation.RunOrScheduleAction(IAsyncStateMachineBox box, Boolean allowInlining) at System.Threading.Tasks.Task.RunContinuations(Object continuationObject) at System.Threading.Tasks.Task`1.TrySetResult(TResult result) at Microsoft.AspNetCore.Mvc.Formatters.SystemTextJsonInputFormatter.ReadRequestBodyAsync(InputFormatterContext context, Encoding encoding) at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AsyncStateMachineBox`1.ExecutionContextCallback(Object s) at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state) at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AsyncStateMachineBox`1.MoveNext(Thread threadPoolThread) at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AsyncStateMachineBox`1.MoveNext() at System.Threading.Tasks.AwaitTaskContinuation.RunOrScheduleAction(IAsyncStateMachineBox box, Boolean allowInlining) at System.Threading.Tasks.Task.RunContinuations(Object continuationObject) at System.Threading.Tasks.Task`1.TrySetResult(TResult result) at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.SetResult(TResult result) at System.Text.Json.JsonSerializer.ReadAsync[TValue](Stream utf8Json, Type returnType, JsonSerializerOptions options, CancellationToken cancellationToken) at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state) at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AsyncStateMachineBox`1.MoveNext(Thread threadPoolThread) at System.Threading.Tasks.AwaitTaskContinuation.RunOrScheduleAction(IAsyncStateMachineBox box, Boolean allowInlining) at System.Threading.Tasks.Task.RunContinuations(Object continuationObject) at System.Threading.Tasks.Task`1.TrySetResult(TResult result) at Microsoft.AspNetCore.Server.IIS.Core.HttpRequestStream.ReadAsyncInternal(Memory`1 buffer, CancellationToken cancellationToken) at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state) at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AsyncStateMachineBox`1.MoveNext(Thread threadPoolThread) at System.Threading.Tasks.AwaitTaskContinuation.RunOrScheduleAction(IAsyncStateMachineBox box, Boolean allowInlining) at System.Threading.Tasks.Task.RunContinuations(Object continuationObject) at System.Threading.Tasks.Task`1.TrySetResult(TResult result) at Microsoft.AspNetCore.Server.IIS.Core.IISHttpContext.ReadAsync(Memory`1 memory, CancellationToken cancellationToken) at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state) at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AsyncStateMachineBox`1.MoveNext(Thread threadPoolThread) at System.Threading.ThreadPoolWorkQueue.Dispatch()
Our settings are as follows:- EnableEOWP=true MaxConcurrentTaskCount=16
Note that we are also getting "Failed to start image manager" - it's difficult to know which one comes first (i.e. the Failed to start image... or the timeout) and hence identifying what is the root cause - if the root cause of the timeout issue is found (eg. locking with a parallel thread/process), this may determine what the real problem is
I have created an Azure memory dump and collected an internal log (using EO.Base.Runtime.GetLogs()) and sent the link to your private email address
Can you help ?
|