Forum Discussion

zhamakd's avatar
zhamakd
New Contributor
15 years ago

Performance Profiler fials with 'Not enough storage is available to ...'

Hi all,



Using AQTtime Performance Profiler on a C++ application built with 'Microsoft Visual Studio 8' on 32-bit Windows XP SP2.

The application used to work with AQtime, however at some unknown point it has stopped working.

Running  both Debug and Release builds of the application under AQtime versions 4.45, crashes AQtime in Kernel32.dll.

The behavior has improved slightly under AQtime 6, application fails to run with error 'Not enough storage is available to complete this operation'.



Excluding most of the object files in an exclude area, will run the application.

However its not clear what is really causing this error.



We have tried to exclude various parts of the application, just as an exercise to see if code bloat is reaching some limit in AQtime.

After this exercise the executable size has reached 23089152 bytes and  46243840 bytes, in release and debug builds respectively, with pdb files of size 274459648 bytes and 556395520 bytes.



We have run this on different PCs (similar spec) and all have failed.

The PC spec running AQtime is:

. XP Professional Service Pack 2

. Intel(R) Core(TM) Quad CPU

 Q8300 @ 2.50GHz

. 2.49GHz, 3.94 GB of RAM

. 799GB free disk-space



I have also tried to run a 64-bit version of AQtime on 64-bit XP, running our 32-bit executable.

The behavior is similar, it fails to run with similar error.

Curiously sometimes AQtime reports that it can run the application since it doesn't find its path file.

I think this is a spurious error, since the application path filename is correct and accessible.



We like AQtime and hope that we can get it work for our application instead of moving to other profilers that do seem to work on this executable (e.g. GlowCode).



I was wondering if this is a known issue and has a fix?

I appreciate your help to get some logs out of AQtime or any information that helps getting to the bottom of this issue.



thanks,

-- zhamak




  • Hi,





    Most probably, the problem is that AQtime lacks memory to continue the profiling. Try to reproduce the problem with an including routine level area that contains one function. Let me know your results.





    Also, please try using our online support resource - the AQtime Troubleshooter.





    Follow the suggested steps to get your problem resolved or to collect more information and get personalized assistance.
  • zhamakd's avatar
    zhamakd
    New Contributor
    Hi David,



    Thanks for the response.

    I started AQtime with one member function (routine) included as you suggested and it started profiling the application just fine and captured results successfully.



    thanks,

    -- zhamak
  • zhamakd's avatar
    zhamakd
    New Contributor
    Hi,



    Given that one function inclusion is not reproducing the problem, what do I need to do next to help debug or get around the problem?

    The issue of running the application is still outstanding.



    thanks,

    -- zhamak
  • Hi Zhamak,



    It seems that my assumption is correct. So, I suggest that you divide the profiling area into several parts and profile only one part during every profiling session. To get the summary for these profiling parts, you can export all results of the parts to a database and process them. For more information, please see the Exporting Profiling Results to Database help topic.
  • zhamakd's avatar
    zhamakd
    New Contributor
    Hi David,



    The suggested approach, to segment the profiling areas and run profiling sessions many times, is not a viable solution for the scale of our product. Identifying the runnable areas have become an issue, we need to have many of them, which results in running the profiling sessions far too many times and post processing the results. This is not efficient.



    Unfortunately in the absence of any other solution for this problem, we have to drop AQtime and move to other profilers that can support our product.



    Thanks for your help.



    -- zhamak

     

  • Hi Zhamak,





    I would appreciate it if you used the AQtime Troubleshooter. Even if it cannot help you solve the problem, it will help you collect and send all of the information we need to investigate the issue. Send a request with the collected information so we can analyze it and find the exact cause of your problem.
  • nfleming's avatar
    nfleming
    New Contributor
    Wrong thread, sorry.

    I am also seeing the 'not enough storage space is available to process this command' error in version 7.2. I had not seen it in version 7.1.

  • Hi Norman,





    Please let me know what amount of memory is consumed by the AQtime and profiled application processes and how much free memory is available on the machine.





    Also, please post here steps you can use to recreate the problem on your machine.
  • nfleming's avatar
    nfleming
    New Contributor
    Running on Windows 7 64 bit. 4 Gig of memory. E8400 CPU

    AQtime Version 7.2.466.64



    Run AQtime

    File -> New Project

    Project -> Add Module to add the EXE and 2 DLLs (all debug versions) to the project.

    Run -> Parameters [Parameters] for the application

    File -> Save Project As

    Run -> Run

    Click Run on the Run Settings dialog , brief wait TaskMgr shows memory climbing, then error dialog.



    While at error dialog...

    TaskMgr shows Physical memory

    Total = 4029

    Cached = 945

    Available = 2106

    Free = 1236



    AQtime process is using

    WorkingSet=1,149,192 K

    Peak Working Set=1,149,452 K

    Memory = 640,488 K

    Paged Pool=2,612 K

    NP Pool=415K

    Handles=6,031

    Threads=20

    USER Objects=323

    GDI Objects=1,029



    It does not get far enough for the profiled application to even have a process created. No events show up in the AQtime Events view.



    AQtime memory usage before running the project

    WorkingSet=122,852 K

    Peak Working Set=124,728 K

    Memory = 81,352 K



    The AQtime process shows up as a 32 bit process.
  • Hi Zhamak,



    Thank you for information. To be able to investigate the problem, we need to investigate it here. Is it possible for you to send us your application with debug information so we can investigate and fix the problem? Please contact us directly using the Contact Support form.