Home General
New Blog Posts: Merging Reports - Part 1 and Part 2

Not enough storage

edited October 2007 in General
Fairly often, when I try to run a report I get the following error message:
Not enough storage is available to process this command.

I am running with EurekaLog and it has traced the error back to
Unit: ppViewr.pas
Class: TppScreenDevice
Procedure: CalculateScaledPageSize
Unit Line: 1796
Proc.Line: 36

I have included the EurekaLog Error messages.

Thanks in advance,
Trevor


EurekaLog 6.0.8

Application:
--------------------------------------------------------------------
1.1 Start Date : Fri, 12 Oct 2007 11:45:27 -0600
1.2 Name/Description: TrevB.exe - (Insight Salon and Spa Software)
1.3 Version Number : 2007.5.30.0
1.4 Parameters :
1.5 Compilation Date: Fri, 12 Oct 2007 11:45:22 -0600
1.6 Up Time : 23 seconds

Exception:
------------------------------------------------------------------------------
2.1 Date : Fri, 12 Oct 2007 11:45:51 -0600
2.2 Address : 023079BF
2.3 Module Name : vcl70.bpl - (Borland Component Package)
2.4 Module Version: 7.0.8.1
2.5 Type : EOutOfResources
2.6 Message : Not enough storage is available to process this
command.
.
2.7 ID : E3A5
2.8 Count : 1
2.9 Status : New
2.10 Note :

User:
-------------------------------------------------------
3.1 ID : TrevorB
3.2 Name : Supervisor
3.3 Email :
3.4 Company :
3.5 Privileges: SeChangeNotifyPrivilege - ON
SeSecurityPrivilege - OFF
SeBackupPrivilege - ON
SeRestorePrivilege - ON
SeSystemtimePrivilege - OFF
SeShutdownPrivilege - OFF
SeRemoteShutdownPrivilege - OFF
SeTakeOwnershipPrivilege - OFF
SeDebugPrivilege - OFF
SeSystemEnvironmentPrivilege - OFF
SeSystemProfilePrivilege - OFF
SeProfileSingleProcessPrivilege - OFF
SeIncreaseBasePriorityPrivilege - OFF
SeLoadDriverPrivilege - ON
SeCreatePagefilePrivilege - OFF
SeIncreaseQuotaPrivilege - OFF
SeUndockPrivilege - ON
SeManageVolumePrivilege - OFF
SeCreateGlobalPrivilege - ON
SeImpersonatePrivilege - ON

Active Controls:
------------------------------------
4.1 Form Class : TppPrintPreview
4.2 Form Text : Print Preview
4.3 Control Class: TButton
4.4 Control Text : Close

Computer:
--------------------------------------------------------------------------------------
5.1 Name : TREVORB-XP
5.2 Total Memory : 1023 Mb
5.3 Free Memory : 374 Mb
5.4 Total Disk : 55.9 Gb
5.5 Free Disk : 14.65 Gb
5.6 System Up Time: 2 days, 8 hours, 37 minutes, 30 seconds
5.7 Processor : Intel(R) Pentium(R) 4 CPU 2.60GHz
5.8 Display Mode : 1600 x 1200, 32 bit
5.9 Display DPI : 96
5.10 Video Card : SAPPHIRE RADEON 9600 ATLANTIS (driver 6.14.10.6414 -
RAM 128 MB)
5.11 Printer :

Operating System:
------------------------------------
6.1 Type : Microsoft Windows XP
6.2 Build # : 2600
6.3 Update : Service Pack 2
6.4 Language: English
6.5 Charset : 0

Call Stack Information:
------------------------------------------------------------------------------------------------------------
|Address |Module |Unit |Class
|Procedure/Method |Line |
------------------------------------------------------------------------------------------------------------
|Running Thread: ID=1612; Priority=0; Class=; [Main]
|
|----------------------------------------------------------------------------------------------------------|
|40003445|rtl70.bpl |System.pas |
|_FreeMem | |
|40003440|rtl70.bpl |System.pas |
|_FreeMem | |
|40005C98|rtl70.bpl |System.pas |TObject
|FreeInstance | |
|400060DA|rtl70.bpl |System.pas |
|_ClassDestroy | |
|400060D8|rtl70.bpl |System.pas |
|_ClassDestroy | |
|0230B5D2|vcl70.bpl |Graphics.pas |
|TBitmapImage | |
|40005CE0|rtl70.bpl |System.pas |TObject |Free
| |
|40005CD8|rtl70.bpl |System.pas |TObject |Free
| |
|0230B578|vcl70.bpl |Graphics.pas |TSharedImage |Release
| |
|0230B55C|vcl70.bpl |Graphics.pas |TSharedImage
|Reference | |
|0230D1FA|vcl70.bpl |Graphics.pas |TBitmap
|NewImage | |
|0230D211|vcl70.bpl |Graphics.pas |TBitmap
|NewImage | |
|0230C69F|vcl70.bpl |Graphics.pas |TBitmap
|CopyImage | |
|0230C63C|vcl70.bpl |Graphics.pas |TBitmap
|CopyImage | |
|0230DE08|vcl70.bpl |Graphics.pas |TBitmap
|SetWidth | |
|007792AF|TrevB.exe |ppViewr.pas |TppScreenDevice
|CalculateScaledPageSize |1796[36] |
|00779108|TrevB.exe |ppViewr.pas |TppScreenDevice
|CalculateScaledPageSize |1760[0] |
|00778DD2|TrevB.exe |ppViewr.pas |TppScreenDevice
|RenderFullBlankPage |1670[11] |
|02383928|vcl70.bpl |Controls.pas |TWinControl
|AlignControl | |
|0237F8CC|vcl70.bpl |Controls.pas |TControl
|RequestAlign | |
|40005EF0|rtl70.bpl |System.pas |
|_CallDynaInst | |
|02380432|vcl70.bpl |Controls.pas |TControl
|SetVisible | |
|00778D80|TrevB.exe |ppViewr.pas |TppScreenDevice
|RenderFullBlankPage |1659[0] |
|00778B97|TrevB.exe |ppViewr.pas |TppScreenDevice
|RenderPage |1606[17] |
|00778AE0|TrevB.exe |ppViewr.pas |TppScreenDevice
|RenderPage |1589[0] |
|0077825A|TrevB.exe |ppViewr.pas |TppScreenDevice
|EventNotify |1269[5] |
|006C7548|TrevB.exe |ppComm.pas |TppCommunicator
|SendEventNotify |791[14] |
|006C74E8|TrevB.exe |ppComm.pas |TppCommunicator
|SendEventNotify |777[0] |
|0075A8B0|TrevB.exe |ppClass.pas |TppCustomReport
|DoOnNoData |4094[14] |
|0075A7F8|TrevB.exe |ppClass.pas |TppCustomReport
|DoOnNoData |4080[0] |
|00706B0B|TrevB.exe |ppEngine.pas |TppEngine
|CreateNoDataMessage |2286[34] |
|00706A28|TrevB.exe |ppEngine.pas |TppEngine
|CreateNoDataMessage |2252[0] |
|00705476|TrevB.exe |ppEngine.pas |TppEngine
|FinishPage |1518[52] |
|007052D8|TrevB.exe |ppEngine.pas |TppEngine
|FinishPage |1466[0] |
|00703F97|TrevB.exe |ppEngine.pas |TppEngine
|GeneratePage |729[76] |
|40006E74|rtl70.bpl |System.pas |
|_LStrAsg | |
|00760570|TrevB.exe |ppClass.pas |TppGroup
|RefreshBreakValues |8120[2] |
|00703D3C|TrevB.exe |ppEngine.pas |TppEngine
|GeneratePage |653[0] |
|0070414C|TrevB.exe |ppEngine.pas |TppEngine
|RestorePage |814[52] |
|0070402C|TrevB.exe |ppEngine.pas |TppEngine
|RestorePage |762[0] |
|00703B6A|TrevB.exe |ppEngine.pas |TppEngine
|Generate |562[25] |
|00703B0C|TrevB.exe |ppEngine.pas |TppEngine
|Generate |537[0] |
|00703A1A|TrevB.exe |ppEngine.pas |TppEngine
|RequestPage |501[30] |
|0071B2B7|TrevB.exe |ppReport.pas |TppReport
|RequestPage |1930[25] |
|0078F397|TrevB.exe |ppDevice.pas |TppPublisher
|DoOnPageRequest |1233[11] |
|0078F338|TrevB.exe |ppDevice.pas |TppPublisher
|DoOnPageRequest |1222[0] |
|0078F09B|TrevB.exe |ppDevice.pas |TppPublisher |Publish
|1043[16] |
|0078F038|TrevB.exe |ppDevice.pas |TppPublisher |Publish
|1027[0] |
|00787944|TrevB.exe |ppProd.pas |TppProducer
|PublishReport |1341[1] |
|007879F2|TrevB.exe |ppProd.pas |TppProducer
|PrintToDevices |1398[10] |
|007879A0|TrevB.exe |ppProd.pas |TppProducer
|PrintToDevices |1388[0] |
|0071B198|TrevB.exe |ppReport.pas |TppReport
|PrintToDevices |1891[13] |
|0078897E|TrevB.exe |ppProd.pas |TppProducer
|PreviewFormActivateEvent |2020[8] |
|006D9395|TrevB.exe |ppForms.pas |TppForm
|Activate |526[4] |
|006D936C|TrevB.exe |ppForms.pas |TppForm
|Activate |522[0] |
|00714EE4|TrevB.exe |ppPrvDlg.pas |TppPrintPreview
|Activate |146[7] |
|023A0F98|vcl70.bpl |Forms.pas |TCustomForm
|CMActivate | |
|40005F93|rtl70.bpl |System.pas |TObject
|Dispatch | |
|02381A98|vcl70.bpl |Controls.pas |TControl |WndProc
| |
|7E41B3A2|user32.dll | |
|DefWindowProcW | |
|0034FD64|adsd70.bpl |Adsdata.pas |TAdsDataSet
|InternalCreateTable | |
|00350913|adsd70.bpl |Adsdata.pas |TAdsDataSet
|CreateTable | |
|02381910|vcl70.bpl |Controls.pas |TControl |WndProc
| |
|02384B40|vcl70.bpl |Controls.pas |TWinControl |WndProc
| |
|02384914|vcl70.bpl |Controls.pas |TWinControl
|MainWndProc | |
|7E42F3C7|user32.dll | |
|SendMessageA | |
|4034BF10|dbrtl70.bpl|Db.pas |TDataSet |Open
| |
|009977BB|TrevB.exe |Services.pas |TfrmServices
|CallCancel |1444[152]|
|7E42F383|user32.dll | |
|SendMessageA | |
|023A1DE0|vcl70.bpl |Forms.pas |TCustomForm
|ShowModal | |
|00787B7D|TrevB.exe |ppProd.pas |TppProducer
|PrintToScreen |1508[23] |
|00787AF8|TrevB.exe |ppProd.pas |TppProducer
|PrintToScreen |1485[0] |
|0078780D|TrevB.exe |ppProd.pas |TppProducer |Print
|1283[12] |
|007877AC|TrevB.exe |ppProd.pas |TppProducer |Print
|1271[0] |
|0071A0C9|TrevB.exe |ppReport.pas |TppReport |Print
|1042[5] |
|00BF2650|TrevB.exe |rpt_ProfProdUsage.pas|TfrmProfProdUsageRpt
|btnOKClick |359[65] |
|02381BD4|vcl70.bpl |Controls.pas |TControl |Click
| |
|02371DE8|vcl70.bpl |Stdctrls.pas |TButton |Click
| |
|02371DCC|vcl70.bpl |Stdctrls.pas |TButton |Click
| |
|40005EF0|rtl70.bpl |System.pas |
|_CallDynaInst | |
|02371EDC|vcl70.bpl |Stdctrls.pas |TButton
|CNCommand | |
|02381A98|vcl70.bpl |Controls.pas |TControl |WndProc
| |
|7E41BFFB|user32.dll | |
|NotifyWinEvent | |
|7E4188CC|user32.dll | |
|GetWindowLongW | |
|7E4188D5|user32.dll | |
|GetWindowLongW | |
|02381910|vcl70.bpl |Controls.pas |TControl |WndProc
| |
|02384BC9|vcl70.bpl |Controls.pas |TWinControl |WndProc
| |
|7C9010ED|ntdll.dll | |
|RtlLeaveCriticalSection | |
|4002FE98|rtl70.bpl |Classes.pas |TThreadList
|UnlockList | |
|4002FE94|rtl70.bpl |Classes.pas |TThreadList
|UnlockList | |
|02384914|vcl70.bpl |Controls.pas |TWinControl
|MainWndProc | |
|0230B240|vcl70.bpl |Graphics.pas |
|FreeMemoryContexts | |
|02384929|vcl70.bpl |Controls.pas |TWinControl
|MainWndProc | |
|7C90F1CB|ntdll.dll | |
|RtlMultiByteToUnicodeN | |
|7C90F0A5|ntdll.dll | |
|RtlAnsiStringToUnicodeString| |
|7C90D9BF|ntdll.dll | |
|NtFindAtom | |
|02381910|vcl70.bpl |Controls.pas |TControl |WndProc
| |
|02384B40|vcl70.bpl |Controls.pas |TWinControl |WndProc
| |
|02381868|vcl70.bpl |Controls.pas |TControl |Perform
| |
|02381844|vcl70.bpl |Controls.pas |TControl |Perform
| |
|02385487|vcl70.bpl |Controls.pas |TWinControl
|WMCommand | |
|0238547C|vcl70.bpl |Controls.pas |TWinControl
|WMCommand | |
|023A087C|vcl70.bpl |Forms.pas |TCustomForm
|WMCommand | |
|02381A98|vcl70.bpl |Controls.pas |TControl |WndProc
| |
|02387318|vcl70.bpl |Controls.pas |TWinControl
|HandleNeeded | |
|02387341|vcl70.bpl |Controls.pas |TWinControl
|GetHandle | |
|0238733C|vcl70.bpl |Controls.pas |TWinControl
|HandleNeeded | |
|02381A98|vcl70.bpl |Controls.pas |TControl |WndProc
| |
|02381910|vcl70.bpl |Controls.pas |TControl |WndProc
| |
|02384B40|vcl70.bpl |Controls.pas |TWinControl |WndProc
| |
|02384914|vcl70.bpl |Controls.pas |TWinControl
|MainWndProc | |
|7E41B8FE|user32.dll | |
|SendMessageW | |
|7E41F658|user32.dll | |
|CallWindowProcA | |
|7E41F642|user32.dll | |
|CallWindowProcA | |
|02384D7B|vcl70.bpl |Controls.pas |TWinControl
|DefaultHandler | |
|02382040|vcl70.bpl |Controls.pas |TControl
|WMLButtonUp | |
|02382030|vcl70.bpl |Controls.pas |TControl
|WMLButtonUp | |
|02381A98|vcl70.bpl |Controls.pas |TControl |WndProc
| |
|7E4194DA|user32.dll | |
|GetCapture | |
|02384ABF|vcl70.bpl |Controls.pas |TWinControl
|IsControlMouseMsg | |
|02381910|vcl70.bpl |Controls.pas |TControl |WndProc
| |
|02384B40|vcl70.bpl |Controls.pas |TWinControl |WndProc
| |
|02384914|vcl70.bpl |Controls.pas |TWinControl
|MainWndProc | |
|023D06AD|vcl70.bpl |Appevnts.pas
|TCustomApplicationEvents|DoMessage | |
|7E4196C2|user32.dll | |
|DispatchMessageA | |
|7E4196B8|user32.dll | |
|DispatchMessageA | |
|023A5608|vcl70.bpl |Forms.pas |TApplication
|ProcessMessage | |
|023A56C2|vcl70.bpl |Forms.pas |TApplication
|HandleMessage | |
|023A56B8|vcl70.bpl |Forms.pas |TApplication
|ProcessMessages | |
|023A1DF5|vcl70.bpl |Forms.pas |TCustomForm
|ShowModal | |
|00C82B87|TrevB.exe |BarMain.pas |TfrmBar
|ProfProdUsageRIClick |6261[12] |
|02394986|vcl70.bpl |Menus.pas |TMenuItem |Click
| |
|02395E33|vcl70.bpl |Menus.pas |TMenu
|DispatchCommand | |
|02395E20|vcl70.bpl |Menus.pas |TMenu
|DispatchCommand | |
|02396D46|vcl70.bpl |Menus.pas |TPopupList |WndProc
| |
|7E41F85B|user32.dll | |
|CallNextHookEx | |
|02396C95|vcl70.bpl |Menus.pas |TPopupList
|MainWndProc | |
|023D06AD|vcl70.bpl |Appevnts.pas
|TCustomApplicationEvents|DoMessage | |
|7E4196C2|user32.dll | |
|DispatchMessageA | |
|7E4196B8|user32.dll | |
|DispatchMessageA | |
|023A5608|vcl70.bpl |Forms.pas |TApplication
|ProcessMessage | |
|023A56C2|vcl70.bpl |Forms.pas |TApplication
|HandleMessage | |
|023A56B8|vcl70.bpl |Forms.pas |TApplication
|ProcessMessages | |
|023A585C|vcl70.bpl |Forms.pas |TApplication |Run
| |
|00C9946A|TrevB.exe |TrevB.dpr | |
|341[56] |
|7C90E64C|ntdll.dll | |
|NtSetInformationThread | |
------------------------------------------------------------------------------------------------------------

Comments

  • edited October 2007
    Hi Trevor,

    This is not a known issue with ReportBuilder. Which version of RB and
    Delphi are you using? How large are the images you are trying to
    print/view? Are you able to single out certain reports that cause this
    error? If so, perhaps you could send us a working example we could run here
    to try to recreate the issue.

    --
    Regards,

    Nico Cizik
    Digital Metaphors
    http://www.digital-metaphors.com

    Best Regards,

    Nico Cizik
    Digital Metaphors
    http://www.digital-metaphors.com
  • edited October 2007
    Hi,

    This problem happens in both D7 and D2007. We are using the latest version
    of RB in D2007 (the one released right after SP3 for D2007). It happens to
    all the reports. Once I start to get the error, then I will get it on all
    reports. There are no images on any of the reports that I am trying to
    print, just text.

    I wish I could re-create the problem in a simple project, however, the error
    does not happen all the time. I can sometimes go for hours without getting
    the error message. Then I will get it until I reboot the computer.
    Sometimes closing all the other open propgrams will get it to work again,
    but not always.

    Trevor


  • edited October 2007
    Hi Trevor,

    We have not seen this error before with RB 10.07 nor has it been reported by
    any other customers. Have you been able to recreate the error on multiple
    machines? Are you able to recreate it using the included demos? Any more
    information you can give that might help us recreate the error here is
    welcome.

    --
    Regards,

    Nico Cizik
    Digital Metaphors
    http://www.digital-metaphors.com

    Best Regards,

    Nico Cizik
    Digital Metaphors
    http://www.digital-metaphors.com
  • edited December 2007
    Hi,

    I have a similar issue using RB 7.04 and Delphi 5. We have some pretty
    complex reports, with multiple subreports including nested subreports, and
    using in upwards of 20 tables to build the report. I have seen issues like
    this when running a number of consecutive reports from our system. The
    number of successful reports that I can generate depends on the amount of
    data in the report, but there are instances where printing 20 or 30 reports
    in a row will generate the Not Enough Storage message the Trevor mentions.
    In addition to this message I have also seen another one that occurs just
    about every other time: "The parameter is incorrect." Both messages are
    trapped in the same try..except block.

    Initially suspecting I had a memory leak somewhere, I painstakingly went
    through my application and did find some minor issues, along with one in
    Report Builder (I reported it and it was addressed), and a couple in
    Gnostice (also reported and fixed) which we use for exporting to PDF.

    None of the items found cured the problem, so I went through and recoded
    some sections to try to and use less memory. The end result was a slight
    improvement in the number of reports I could generate, but it would still
    error out eventually.

    Although these reports are fairly large, I do use caching. With all of the
    subreports I was seeing some pretty strange behavior when navigating through
    the Preview screen prior to this. Most of our customers use client machines
    with at least 512MB of memory, so I am ok with the caching.

    My report object resides on its own form. The form, along with all of the
    report objects and tables involved are created for each report, then freed
    when the report has printed or exported - i.e. when the form closes. Each
    report completes before the next report runs. I have isolated this code so
    that all I need to do is pass a single Survey Number which is the key field
    for all the associated report tables. Therefore nothing should be resident
    in memory.

    I can reproduce this using my application, though the reporting side is a
    bit too complex to simply put a test scenario together. I have suspected
    page caching, but I have turned that off and still encounter the same
    errors. Could there be something leaking in Report Builder that is causing
    this?

    Thanks,

    Jeff Guidotti




  • edited December 2007
    Hi Jeff,

    Does this occur on every report you run? Have you tried running this with a
    newer version of ReportBuilder? Have you tried running your memory manager
    software against your RB source directory? Numerous fixes have been made
    since the release of RB 7.04 (for later versions).

    --
    Regards,

    Nico Cizik
    Digital Metaphors
    http://www.digital-metaphors.com

    Best Regards,

    Nico Cizik
    Digital Metaphors
    http://www.digital-metaphors.com
  • edited December 2007
    While this doesn't occur on "every" report, it could occur on "any" report.
    Because it seems that it is leaking, it will occur on whatever report
    happens to push the memory usage over the threshold.

    RB 7.04 is the only version I have, I suppose I can get a trial of RB 10 and
    see if that resolves it, though I haven't done that yet.

    I believe I did run the leak detection software against the source, but I
    will try it again and come back and post my results.


  • edited December 2007
    We are having the same issue with one of our complex report that contains a
    graph as an image. Ofcourse, if I try to run few (around 10) accounts
    yeilding about 100 pages of PDF then it runs fine, though not all pages have
    images. However, it startes acting weirdly when we cross over 25 accounts.
    It simply stops with the Not enough Storage error message towards the last
    account.

    We also notice that if we don't the storage error then we get some random
    access violations. When we put log messages it almost always points towards
    the charting and imaging code that we have. While we are still profiling our
    code, I thought there may be something going in RBs code as well since the
    same report runs fine sometimes. One of our customer even reported a Out of
    memory error too. Doesn't matter if I reboot the machine or not.

    We are running on a XP Pro machine with 2GB RAM and our Dev environment is
    D7 with RB 10.06 with Pragnaan components.

    Thanks,
    Vikram

  • edited December 2007
    Hi Vikram,

    1. Try updating to RB 10.07 and see if that helps the issue.

    2. Are you able to see the error if you remove all charts and images from
    your report(s)?

    3. What is the error you are receiving? "Not Enough Storage" or "Out Of
    Memory"

    4. Have you tried running your app through a memory manager such as FastMM?

    --
    Regards,

    Nico Cizik
    Digital Metaphors
    http://www.digital-metaphors.com

    Best Regards,

    Nico Cizik
    Digital Metaphors
    http://www.digital-metaphors.com
  • edited December 2007
    Thanks, Nico.
    See below.

  • edited December 2007
    Hi Vikram,

    If you are still getting the problem with RB 10.07, please send a minimal
    example that demonstrates the issue (some of the time) in .zip format to
    support@digital-metaphors.com and I'll try to recreate it here on my
    machine(s). Also, let me know the specifics about your setup (OS, Delphi
    update number, Regional Settings, etc.).

    --
    Regards,

    Nico Cizik
    Digital Metaphors
    http://www.digital-metaphors.com

    Best Regards,

    Nico Cizik
    Digital Metaphors
    http://www.digital-metaphors.com
  • edited December 2007
    Hi Nico,

    I don't know how I can put together a sample project for the issue as simple
    reports always seem to run. But maybe I could simply create a chart image
    with lots of random data just to increase the size. I will need some time to
    do this. Windows XP Pro SP 2 OS, Delphi 7 with latest update, English - USA
    regional settings, all windows updates applied.

    We are trying to address the random access violations first and then focus
    on the memory issues. I will test some more after that and let you know.

    Also, I downloaded RB 10.07 but did not download as I thought it may not be
    compatible with Pragnaan's version 2.15. they have released version 2.17 for
    RB 10.07 but we have not yet received it.

    Thanks,
    Vikram

  • edited December 2007
    Alternatively can you please us more about that error message. What exactly
    does storage mean here?
    Is it a windows system error, if yes then the code?
    What areas of the report could generate this error?

    Any information will be helpful for us to focus on the right part of our
    code.

    Thanks,
    Vikram

  • edited December 2007
    Hi Vikram,

    This is not a ReportBuilder error message (which is why it is so difficult
    for us to track down without the ability to recreate it on our machines).
    Are you able to perhaps break when the error occurs and see where in the RB
    code the problem is occuring?

    --
    Regards,

    Nico Cizik
    Digital Metaphors
    http://www.digital-metaphors.com

    Best Regards,

    Nico Cizik
    Digital Metaphors
    http://www.digital-metaphors.com
This discussion has been closed.