Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Export PDF in linux is error sometimes #170

Closed
abigaelvs opened this issue Jan 8, 2024 · 1 comment
Closed

Export PDF in linux is error sometimes #170

abigaelvs opened this issue Jan 8, 2024 · 1 comment

Comments

@abigaelvs
Copy link

So, i have this library installed on my Linux Docker Container service. I have installed wine and libgdiplus also.
I've been using this library for like 1 year and it works just fine. But lately sometimes it throws error like this when rendering report.
So far this has happened twice. But after i restart the container, it went back to normal

Does anyone know the cause or how to fix this?

Fatal error. 0xC0000005
at Microsoft.ReportingServices.Rendering.RichText.Win32.ScriptShape(Microsoft.ReportingServices.Rendering.RichText.Win32DCSafeHandle, Microsoft.ReportingServices.Rendering.RichText.ScriptCacheSafeHandle ByRef, System.String, Int32, Int32, Microsoft.ReportingServices.Rendering.RichText.SCRIPT_ANALYSIS ByRef, Int16[], Int16[], Microsoft.ReportingServices.Rendering.RichText.SCRIPT_VISATTR[], Int32 ByRef)
at Microsoft.ReportingServices.Rendering.RichText.TextRun.ShapeAndPlace(Microsoft.ReportingServices.Rendering.RichText.Win32DCSafeHandle, Microsoft.ReportingServices.Rendering.RichText.FontCache)
at Microsoft.ReportingServices.Rendering.RichText.LineBreaker.GetLine(Microsoft.ReportingServices.Rendering.RichText.Paragraph, Microsoft.ReportingServices.Rendering.RichText.TextLine, Microsoft.ReportingServices.Rendering.RichText.Win32DCSafeHandle, Microsoft.ReportingServices.Rendering.RichText.FontCache, Microsoft.ReportingServices.Rendering.RichText.FlowContext, Single, Single, Single, System.Collections.Generic.Stack1<Int32>, System.Collections.Generic.Stack1, Int32)
at Microsoft.ReportingServices.Rendering.RichText.LineBreaker.FlowParagraph(Microsoft.ReportingServices.Rendering.RichText.Paragraph, Directions, Microsoft.ReportingServices.Rendering.RichText.Win32DCSafeHandle, Single, Microsoft.ReportingServices.Rendering.RichText.FontCache, Microsoft.ReportingServices.Rendering.RichText.FlowContext, Boolean, System.Drawing.SizeF, Int32 ByRef)
at Microsoft.ReportingServices.Rendering.RichText.LineBreaker.Flow(Microsoft.ReportingServices.Rendering.RichText.TextBox, Microsoft.ReportingServices.Rendering.RichText.Win32DCSafeHandle, Single, Microsoft.ReportingServices.Rendering.RichText.FontCache, Microsoft.ReportingServices.Rendering.RichText.FlowContext, Boolean, Single ByRef)
at Microsoft.ReportingServices.Rendering.RichText.LineBreaker.Flow(Microsoft.ReportingServices.Rendering.RichText.TextBox, System.Drawing.Graphics, Microsoft.ReportingServices.Rendering.RichText.FontCache, Microsoft.ReportingServices.Rendering.RichText.FlowContext, Boolean, Single ByRef)
at Microsoft.ReportingServices.Rendering.RichText.TextBox.MeasureFullHeight(Microsoft.ReportingServices.Rendering.RichText.TextBox, System.Drawing.Graphics, Microsoft.ReportingServices.Rendering.RichText.FontCache, Microsoft.ReportingServices.Rendering.RichText.FlowContext, Single ByRef)
at Microsoft.ReportingServices.Rendering.HPBProcessing.TextBox.CalculateVerticalSize(Microsoft.ReportingServices.Rendering.HPBProcessing.PageContext)
at Microsoft.ReportingServices.Rendering.HPBProcessing.TextBox.DetermineVerticalSize(Microsoft.ReportingServices.Rendering.HPBProcessing.PageContext, Double, Double, System.Collections.Generic.List1<Microsoft.ReportingServices.Rendering.HPBProcessing.PageItem>, Boolean ByRef, Boolean) at Microsoft.ReportingServices.Rendering.HPBProcessing.PageItem.CalculateVertical(Microsoft.ReportingServices.Rendering.HPBProcessing.PageContext, Double, Double, Microsoft.ReportingServices.Rendering.HPBProcessing.PageItem[], System.Collections.Generic.List1<Microsoft.ReportingServices.Rendering.HPBProcessing.PageItem>, Boolean ByRef, Boolean, System.Nullable1<Double>) at Microsoft.ReportingServices.Rendering.HPBProcessing.Tablix+RowInfo.CalculateVerticalLastDetailCell(Microsoft.ReportingServices.Rendering.HPBProcessing.PageContext, Boolean, Boolean) at Microsoft.ReportingServices.Rendering.HPBProcessing.Tablix.CreateDetailCell(Microsoft.ReportingServices.OnDemandReportRendering.Tablix, Microsoft.ReportingServices.OnDemandReportRendering.TablixMember, Int32, RowInfo, Microsoft.ReportingServices.Rendering.HPBProcessing.PageContext) at Microsoft.ReportingServices.Rendering.HPBProcessing.Tablix.TraverseColumnMembers(Microsoft.ReportingServices.OnDemandReportRendering.Tablix, Microsoft.ReportingServices.OnDemandReportRendering.TablixMember, Int32, RowInfo, Boolean, Double, Double, Int32 ByRef, Int32 ByRef, System.Collections.Generic.List1, Microsoft.ReportingServices.Rendering.HPBProcessing.PageContext)
at Microsoft.ReportingServices.Rendering.HPBProcessing.Tablix.TraverseColumnMembers(Microsoft.ReportingServices.OnDemandReportRendering.Tablix, Microsoft.ReportingServices.OnDemandReportRendering.TablixMember, Int32, RowInfo, Boolean, Double, Double, Int32 ByRef, Int32 ByRef, System.Collections.Generic.List1<Int32>, Microsoft.ReportingServices.Rendering.HPBProcessing.PageContext) at Microsoft.ReportingServices.Rendering.HPBProcessing.Tablix.CreateDetailRow(Microsoft.ReportingServices.OnDemandReportRendering.Tablix, Microsoft.ReportingServices.OnDemandReportRendering.TablixMember, Int32, Int32, Microsoft.ReportingServices.Rendering.HPBProcessing.PageContext) at Microsoft.ReportingServices.Rendering.HPBProcessing.Tablix.CreateRowMemberChildren(Microsoft.ReportingServices.OnDemandReportRendering.Tablix, Microsoft.ReportingServices.OnDemandReportRendering.TablixMember, Int32, Boolean, Int32, Int32, Int32, Boolean, Boolean, LevelInfo, Microsoft.ReportingServices.Rendering.HPBProcessing.PageContext) at Microsoft.ReportingServices.Rendering.HPBProcessing.Tablix.CreateRowMemberChildren(Microsoft.ReportingServices.OnDemandReportRendering.Tablix, Microsoft.ReportingServices.OnDemandReportRendering.TablixMember, Int32, Boolean, Int32, Int32, Int32, Boolean, Boolean, LevelInfo, Microsoft.ReportingServices.Rendering.HPBProcessing.PageContext) at Microsoft.ReportingServices.Rendering.HPBProcessing.Tablix.CreateTablixRows(Microsoft.ReportingServices.OnDemandReportRendering.Tablix, Microsoft.ReportingServices.OnDemandReportRendering.TablixMember, Int32, Boolean, Int32, Int32, System.Collections.Generic.List1 ByRef, Boolean, Boolean ByRef, Boolean, CreateItemsContext, Double, Double, Microsoft.ReportingServices.Rendering.HPBProcessing.PageContext)
at Microsoft.ReportingServices.Rendering.HPBProcessing.Tablix.CreateTablixItems(Microsoft.ReportingServices.OnDemandReportRendering.Tablix, Microsoft.ReportingServices.Rendering.HPBProcessing.PageContext, CreateItemsContext, Double, Double)
at Microsoft.ReportingServices.Rendering.HPBProcessing.Tablix.CreateVertically(Microsoft.ReportingServices.Rendering.HPBProcessing.PageContext, CreateItemsContext, Double, Double, Double)
at Microsoft.ReportingServices.Rendering.HPBProcessing.Tablix.DetermineVerticalSize(Microsoft.ReportingServices.Rendering.HPBProcessing.PageContext, Double, Double, System.Collections.Generic.List1<Microsoft.ReportingServices.Rendering.HPBProcessing.PageItem>, Boolean ByRef, Boolean) at Microsoft.ReportingServices.Rendering.HPBProcessing.PageItem.CalculateVertical(Microsoft.ReportingServices.Rendering.HPBProcessing.PageContext, Double, Double, Microsoft.ReportingServices.Rendering.HPBProcessing.PageItem[], System.Collections.Generic.List1<Microsoft.ReportingServices.Rendering.HPBProcessing.PageItem>, Boolean ByRef, Boolean, System.Nullable1<Double>) at Microsoft.ReportingServices.Rendering.HPBProcessing.PageItemContainer.DetermineContentVerticalSize(Microsoft.ReportingServices.Rendering.HPBProcessing.PageContext, Double, Double, System.Collections.Generic.List1<Microsoft.ReportingServices.Rendering.HPBProcessing.PageItem>, Boolean ByRef, Boolean, Boolean, Boolean)
at Microsoft.ReportingServices.Rendering.HPBProcessing.PageItemContainer.DetermineVerticalSize(Microsoft.ReportingServices.Rendering.HPBProcessing.PageContext, Double, Double, System.Collections.Generic.List1<Microsoft.ReportingServices.Rendering.HPBProcessing.PageItem>, Boolean ByRef, Boolean) at Microsoft.ReportingServices.Rendering.HPBProcessing.PageItem.CalculateVertical(Microsoft.ReportingServices.Rendering.HPBProcessing.PageContext, Double, Double, Microsoft.ReportingServices.Rendering.HPBProcessing.PageItem[], System.Collections.Generic.List1<Microsoft.ReportingServices.Rendering.HPBProcessing.PageItem>, Boolean ByRef, Boolean, System.Nullable1<Double>) at Microsoft.ReportingServices.Rendering.HPBProcessing.ReportSection.NextPage(Microsoft.ReportingServices.Rendering.HPBProcessing.RPLWriter, Int32, Int32, Double, Double, Microsoft.ReportingServices.Rendering.HPBProcessing.ReportSection, Boolean) at Microsoft.ReportingServices.Rendering.HPBProcessing.Report.NextPage(Microsoft.ReportingServices.Rendering.HPBProcessing.RPLWriter, Int32) at Microsoft.ReportingServices.Rendering.HPBProcessing.HPBProcessing.NextPage() at Microsoft.ReportingServices.Rendering.HPBProcessing.HPBProcessing.Init(Microsoft.ReportingServices.OnDemandReportRendering.Report, Microsoft.ReportingServices.Rendering.HPBProcessing.PaginationSettings, Microsoft.ReportingServices.Interfaces.CreateAndRegisterStream, System.Collections.Hashtable ByRef) at Microsoft.ReportingServices.Rendering.ImageRenderer.PDFRenderer.Render(Microsoft.ReportingServices.OnDemandReportRendering.Report, System.Collections.Specialized.NameValueCollection, System.Collections.Hashtable, Microsoft.ReportingServices.Interfaces.CreateAndRegisterStream) at Microsoft.ReportingServices.Rendering.ImageRenderer.RendererBase.Render(Microsoft.ReportingServices.OnDemandReportRendering.Report, System.Collections.Specialized.NameValueCollection, System.Collections.Specialized.NameValueCollection, System.Collections.Specialized.NameValueCollection, System.Collections.Hashtable ByRef, Microsoft.ReportingServices.Interfaces.CreateAndRegisterStream) at Microsoft.ReportingServices.ReportProcessing.Execution.RenderReport.InvokeRenderer(Microsoft.ReportingServices.OnDemandReportRendering.IRenderingExtension, Microsoft.ReportingServices.OnDemandReportRendering.Report, System.Collections.Specialized.NameValueCollection, System.Collections.Specialized.NameValueCollection, System.Collections.Specialized.NameValueCollection, System.Collections.Hashtable ByRef, Microsoft.ReportingServices.Interfaces.CreateAndRegisterStream) at Microsoft.ReportingServices.ReportProcessing.Execution.RenderReport.Execute(Microsoft.ReportingServices.OnDemandReportRendering.IRenderingExtension) at Microsoft.Reporting.LocalService.CreateSnapshotAndRender(Microsoft.ReportingServices.ReportProcessing.ReportProcessing, Microsoft.ReportingServices.OnDemandReportRendering.IRenderingExtension, Microsoft.ReportingServices.ReportProcessing.ProcessingContext, Microsoft.ReportingServices.ReportProcessing.RenderingContext, SubreportCallbackHandler, Microsoft.ReportingServices.ReportProcessing.ParameterInfoCollection, Microsoft.ReportingServices.Diagnostics.DatasourceCredentialsCollection) at Microsoft.Reporting.LocalService.Render(System.String, System.String, System.String, Boolean, System.Collections.IEnumerable, Microsoft.ReportingServices.Interfaces.CreateAndRegisterStream) at Microsoft.Reporting.NETCore.LocalReport.InternalRender(System.String, Boolean, System.String, Microsoft.Reporting.NETCore.PageCountMode, Microsoft.ReportingServices.Interfaces.CreateAndRegisterStream, Microsoft.Reporting.NETCore.Warning[] ByRef) at Microsoft.Reporting.NETCore.LocalReport.InternalRender(System.String, Boolean, System.String, Microsoft.Reporting.NETCore.PageCountMode, System.String ByRef, System.String ByRef, System.String ByRef, System.String[] ByRef, Microsoft.Reporting.NETCore.Warning[] ByRef) at Siloam.PaymentSystem.Report.Repository.ReportRepository.CreateReportInvoice(System.String, System.String, Siloam.PaymentSystem.Report.Model.ReportInvoiceParameter, System.Collections.Generic.IEnumerable1<System.Data.DataTable>)
at Siloam.PaymentSystem.Report.Repository.ReportInvoiceRepository.CreateInvoiceReport(CNDS.Model.RequestHeader, Siloam.PaymentSystem.Report.Model.ReportInvoiceRequest, Boolean)
at Siloam.PaymentSystem.Report.Controllers.ReportInvoiceController.CreateInvoiceReport(CNDS.Model.RequestHeader, Siloam.PaymentSystem.Report.Model.ReportInvoiceRequest)
at DynamicClass.lambda_method2(System.Runtime.CompilerServices.Closure, System.Object, System.Object[])
at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor+SyncActionResultExecutor.Execute(Microsoft.AspNetCore.Mvc.Infrastructure.IActionResultTypeMapper, Microsoft.Extensions.Internal.ObjectMethodExecutor, System.Object, System.Object[])
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeActionMethodAsync()
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State ByRef, Scope ByRef, System.Object ByRef, Boolean ByRef)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeNextActionFilterAsync()
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeNextActionFilterAwaitedAsync()
at Microsoft.AspNetCore.Mvc.Filters.ActionFilterAttribute+d__6.MoveNext()
at System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[[Microsoft.AspNetCore.Mvc.Filters.ActionFilterAttribute+d_6, Microsoft.AspNetCore.Mvc.Core, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60]](d_6 ByRef)
at Microsoft.AspNetCore.Mvc.Filters.ActionFilterAttribute.OnActionExecutionAsync(Microsoft.AspNetCore.Mvc.Filters.ActionExecutingContext, Microsoft.AspNetCore.Mvc.Filters.ActionExecutionDelegate)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State ByRef, Scope ByRef, System.Object ByRef, Boolean ByRef)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeNextActionFilterAsync()
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State ByRef, Scope ByRef, System.Object ByRef, Boolean ByRef)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeNextActionFilterAsync()
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State ByRef, Scope ByRef, System.Object ByRef, Boolean ByRef)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeInnerFilterAsync()
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Next(State ByRef, Scope ByRef, System.Object ByRef, Boolean ByRef)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.InvokeFilterPipelineAsync()
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.InvokeAsync()
at Microsoft.AspNetCore.Mvc.Routing.ControllerRequestDelegateFactory+<>c_DisplayClass12_0.b_0(Microsoft.AspNetCore.Http.HttpContext)
at Microsoft.AspNetCore.Routing.EndpointMiddleware.Invoke(Microsoft.AspNetCore.Http.HttpContext)
at Microsoft.AspNetCore.Routing.EndpointRoutingMiddleware.Invoke(Microsoft.AspNetCore.Http.HttpContext)
at Microsoft.AspNetCore.HostFiltering.HostFilteringMiddleware.Invoke(Microsoft.AspNetCore.Http.HttpContext)
at Microsoft.AspNetCore.Hosting.HostingApplication.ProcessRequestAsync(Context)
at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol+d_2261[[System._Canon, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].MoveNext() at System.Runtime.CompilerServices.AsyncTaskMethodBuilder1+AsyncStateMachineBox1[[System.Threading.Tasks.VoidTaskResult, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol+<ProcessRequests>d_2261[[System._Canon, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]], Microsoft.AspNetCore.Server.Kestrel.Core, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60]].ExecutionContextCallback(System.Object)
at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(System.Threading.Thread, System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)
at System.Runtime.CompilerServices.AsyncTaskMethodBuilder1+AsyncStateMachineBox1[[System.Threading.Tasks.VoidTaskResult, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol+d_2261[[System._Canon, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]], Microsoft.AspNetCore.Server.Kestrel.Core, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60]].MoveNext(System.Threading.Thread) at System.Runtime.CompilerServices.AsyncTaskMethodBuilder1+AsyncStateMachineBox1[[System.Threading.Tasks.VoidTaskResult, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol+<ProcessRequests>d_2261[[System._Canon, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]], Microsoft.AspNetCore.Server.Kestrel.Core, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60]].ExecuteFromThreadPool(System.Threading.Thread)
at System.Threading.ThreadPoolWorkQueue.Dispatch()
at System.Threading.PortableThreadPool+WorkerThread.WorkerThreadStart()
at System.Threading.Thread.StartCallback()

And after that wine throw exception

0374:err:sync:RtlpWaitForCriticalSection section 006A0074 "dlls/ntdll/heap.c: main process heap section" wait timed out in thread 0374, blocked by 07e0, retrying (60 sec)

@lkosson
Copy link
Owner

lkosson commented Jan 8, 2024

Most likely a minor bug in wine. I doubt it can be easily debugged remotely, especially if it is so rare. As a workaround you might try to periodically (daily or weekly) restart your container if such downtime is acceptable in your application.

@lkosson lkosson closed this as not planned Won't fix, can't repro, duplicate, stale Feb 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants