Bug Report T700699
Visible to All Users

An AV occurs on rendering a document with an image displayed on multiple pages  

created 6 years ago (modified 6 years ago)

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]

Show previous comments (1)

    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.

      DevExpress Support Team 6 years ago

        Thanks, Manuel. I have created a separate ticket regarding this problem (T701690). We will try to find an appropriate solution.

        Answers approved by DevExpress Support

        created 6 years ago

        We have fixed the issue described in this ticket and will include the fix in our next maintenance update. To apply this solution before the official update, request a hotfix by clicking the corresponding link for product versions you require.

        Note: Hotfixes may be unavailable for beta versions and updates that are about to be released.

          Disclaimer: The information provided on DevExpress.com and affiliated web properties (including the DevExpress Support Center) is provided "as is" without warranty of any kind. Developer Express Inc disclaims all warranties, either express or implied, including the warranties of merchantability and fitness for a particular purpose. Please refer to the DevExpress.com Website Terms of Use for more information in this regard.

          Confidential Information: Developer Express Inc does not wish to receive, will not act to procure, nor will it solicit, confidential or proprietary materials and information from you through the DevExpress Support Center or its web properties. Any and all materials or information divulged during chats, email communications, online discussions, Support Center tickets, or made available to Developer Express Inc in any manner will be deemed NOT to be confidential by Developer Express Inc. Please refer to the DevExpress.com Website Terms of Use for more information in this regard.