Hello,
we have a problem with the attached PDF file. Your component sometimes raises exceptions when loading or scrolling.
The error does not always occur and seems to have something to do with the rendering task.
If the exception occurs the application hangs and must be closed with the task manager.
Callstack 1:
--------------------------
dxPDFStreamFilter.TdxPDFASCII85DecodeFilter.ProcessGroup(114,(204, 22, 220, 231, 212, 109, 160, 215, 0, 6, 109, 11, 75, 32, 173, 210, 149, 175, 3, 183, 28, 108, 10, 248))
dxPDFStreamFilter.TdxPDFASCII85DecodeFilter.DoDecode(…)
dxPDFTypes.TdxPDFCustomStreamFilter.Decode(…)
dxPDFTypes.TdxPDFStream.GetUncompressedData
dxPDFColorSpace.TdxPDFIndexedColorSpace.ReadLookupTable($ECD1708)
dxPDFColorSpace.TdxPDFIndexedColorSpace.DoRead($ECA8EB0)
dxPDFCore.TdxPDFCustomColorSpace.Parse($D53D248,$ECA8EB0,nil)
dxPDFCore.TdxPDFDocumentImage.ReadColorSpace($ECD14D8)
dxPDFCore.TdxPDFDocumentImage.DoRead($ECD14D8)
dxPDFCore.TdxPDFDocumentImage.Read($ECD14D8)
dxPDFCore.TdxPDFDeferredObject.ResolveObject
dxPDFCore.TdxPDFDeferredObject.GetResolvedObject
dxPDFCore.TdxPDFObjectList.GetObject('im1')
dxPDFCore.TdxPDFXObjects.GetXObject('im1')
dxPDFCore.TdxPDFResources.InternalGetXObject('im1')
dxPDFCore.TdxPDFResources.GetXObject('im1')
dxPDFCommand.TdxPDFPaintXObjectCommand.Create($D902160,$D4E5790)
dxPDFCommand.TdxPDFCommandFactory.CreateCommand('Do',$D902160,$D4E5790)
dxPDFCommand.dxPDFCreateCommand('Do',$D902160,$D4E5790)
dxPDFCommand.TdxPDFCommandStreamParser.CreateCommand('Do')
dxPDFCommand.TdxPDFCommandStreamParser.ReadCommands('',$D8DA470)
dxPDFCommand.TdxPDFCommandStreamParser.Read(…)
dxPDFCommand.TdxPDFCommandStreamParser.Parse(nil,(…))
dxPDFCore.TdxPDFPageContents.PopulateCommands($D4E5790)
dxPDFCore.TdxPDFPageData.ExtractCommands
dxPDFCommandInterpreter.TdxPDFCustomCommandInterpreter.ExportAndPack($A4A11E0,$ED1E1E0)
dxPDFCore.TdxPDFPage.Export[1]$ActRec.$0$Body
dxPDFCore.TdxPDFPage.LockAndExecute(TdxPDFPage.Export[1]$ActRec($ECAD518) as TProc,False)
dxPDFCore.TdxPDFPage.Export($A47A070,$ED1E1E0)
dxPDFCommandInterpreter.TdxPDFCustomCommandInterpreter.Export($A4A11E0,$ED1E1E0)
dxPDFDocumentViewer.TdxPDFRenderPageByScaleFactorTask.Render($D937B88,(dxThreading.TdxTask.GetCanceled,$D4E7590))
dxPDFDocumentViewer.TdxPDFRenderPageTask.Run((dxThreading.TdxTask.GetCanceled,$D4E7590))
dxThreading.TdxTaskDispatcher.TTaskWrapper.Execute
dxThreading.TdxTaskDispatcher.AsyncRun($D4E7590)
dxThreading.TdxTaskDispatcher.ThreadProc($D4E7590)
:772c8960 ;
:772cacb7 ;
:76e18744 KERNEL32.BaseThreadInitThunk + 0x24
:772f582d ntdll.RtlGetAppContainerNamedObjectPath + 0xfd
:772f57fd ntdll.RtlGetAppContainerNamedObjectPath + 0xcd
Callstack 2:
-----------------------------
:75490132 KERNELBASE.RaiseException + 0x62
System.DynArraySetLength($A0000600,$407173,1397239597,$D7AD058)
System.DynArraySetLength(nil,$250832C,1,$1481F9F8)
System._DynArraySetLength
:0040d8ca @DynArraySetLength + $A
dxPDFCommandInterpreter.TdxPDFCustomCommandInterpreter.DrawString(…)
dxPDFCommandInterpreter.TdxPDFCustomCommandInterpreter.DrawString(…)
dxPDFCommand.TdxPDFShowTextCommand.Execute(TdxPDFGraphicsDevice($BC3CC8C) as IdxPDFCommandInterpreter)
dxPDFCommandInterpreter.TdxPDFCustomCommandInterpreter.ExecuteCommand(TdxPDFGraphicsDevice($BC3CC8C) as IdxPDFCommandInterpreter,$167094F0)
dxPDFCommandInterpreter.TdxPDFCustomCommandInterpreter.ExecuteCommand($167094F0)
dxPDFCommandInterpreter.TdxPDFCustomCommandInterpreter.DoExport($167094F0)
dxPDFCommandInterpreter.TdxPDFGraphicsDevice.ExportContent($167094F0)
dxPDFCommandInterpreter.TdxPDFGraphicsDevice.DoExport($167094F0)
dxPDFCommandInterpreter.TdxPDFCustomCommandInterpreter.Export($167094F0,$D7AD038)
dxPDFCommandInterpreter.TdxPDFCustomCommandInterpreter.ExportAndPack($BC62940,$D7AD038)
dxPDFCore.TdxPDFPage.Export[1]$ActRec.$0$Body
dxPDFCore.TdxPDFPage.LockAndExecute(TdxPDFPage.Export[1]$ActRec($11F16278) as TProc,False)
dxPDFCore.TdxPDFPage.Export($BC3CC30,$D7AD038)
dxPDFCommandInterpreter.TdxPDFCustomCommandInterpreter.Export($BC62940,$D7AD038)
dxPDFDocumentViewer.TdxPDFRenderPageByScaleFactorTask.Render($1678B418,(dxThreading.TdxTask.GetCanceled,$D72F840))
dxPDFDocumentViewer.TdxPDFRenderPageTask.Run((dxThreading.TdxTask.GetCanceled,$D72F840))
dxThreading.TdxTaskDispatcher.TTaskWrapper.Execute
dxThreading.TdxTaskDispatcher.AsyncRun($D72F840)
dxThreading.TdxTaskDispatcher.ThreadProc($D72F840)
:772c8960 ;
:772cacb7 ;
:76e18744 KERNEL32.BaseThreadInitThunk + 0x24
:772f582d ntdll.RtlGetAppContainerNamedObjectPath + 0xfd
:772f57fd ntdll.RtlGetAppContainerNamedObjectPath + 0xcd
[Attachment removed by DevExpress]
Hello Manuel,
Thank you for sharing your sample document. It may take us some time to find a general solution. Meanwhile, you can use the following code line to overcome this error:
Would you mind if I make the content of this ticket visible to other visitors of our site? I can remove your attached document if necessary.
Without the attached document you can make this ticket visible for all your visitors.
Thank you for the fast response.
As I said this is a race condition so it's very difficult to make a video when the error occurs.
Also it seems to make no difference which pdf files you use.
I have attached a simple test project. Place some pdf files in the DemoFiles-SubFolder and use the Arrow-Key to navigate through the listbox and than close the application.
Sometimes the ReportMemoryLeaksOnShutdown reports memory leaks in your component.
Thanks, Manuel. I have created a separate ticket regarding this problem (T701690). We will try to find an appropriate solution.