Analyzers
Talk to fellow users of Intel Analyzer tools (Intel VTune™ Profiler, Intel Advisor)
5136 Discussions

Amplifier XE2013 Error 0x40000002 Insufficient memory Failed to finalize result

Sonjuhi_K_
Beginner
5,686 Views

Hello experts,

I am evaluating Parallel Studio XE 2013 update 2 to see if this software could be useful for our software development needs. On most runs it crashes with message "Failed to finalize the result - Error 0x40000002 (Insufficient memory)". Here is what I see in the output window.

The database has been cleared, elapsed time is 0.436 seconds.
Raw data has been loaded to the database, elapsed time is 21.130 seconds.
Data transformations have been finished, elapsed time is 2.387 seconds.
Precomputing frequently used data has been finished, elapsed time is 0.011 seconds.
Finalizing the result took 24.252 seconds.

Sometimes, but not all the time, when I use the "Re-resolve" option it recovers and displays all the results ok. I am pretty sure that my machine has enough available memory. However it could be that I am missing a setting that allows the Amplifier to use more memory? Any help with this will be appreciated. Please let me know if you need more information.

Thank you,

SK

0 Kudos
46 Replies
Peter_W_Intel
Employee
3,268 Views

1. I'm not sure if the problem can be reproduced in latest VTune(TM) Amplifier XE 2013 Update 5

2. Did you run application with this tool in 32bit system? If this is the case, only 2GB memory space can be used for your app and the tool. 

3. Is there same problem when collecting data in command line?

4. If you specified duration to reduce the result size, no insuffcient memory warning?

5. If the problem persists on latest version, please do

a) amplxe-feedback -create-bug-report <report archive>

b) amplxe-feedback -send-crash-report <report archive>

0 Kudos
SergeyKostrov
Valued Contributor II
3,268 Views
>>...However it could be that I am missing a setting that allows the Amplifier to use more memory?.. Please verify Virtual Memory settings, that is, Min and Max values ( increase, for example, by 2x ), in [ Control Panel ] -> System -> Advanced -> Performance Settings MsInfo32.exe also provides lots of details for memory and it would be nice if you post its report. Thanks in advance.
0 Kudos
Bernard
Valued Contributor I
3,268 Views

@Sonjuhi

Can you open the dump file with windbg and issue this command !analyze -v

0 Kudos
Sonjuhi_K_
Beginner
3,268 Views

Thank you for replying, Peter. Please see my responses to your questions below.

1. I'm not sure if the problem can be reproduced in latest VTune(TM) Amplifier XE 2013 Update 5

I upgraded to VTune(TM) Amplifier XE 2013 Update 5. The issue still exists.

2. Did you run application with this tool in 32bit system? If this is the case, only 2GB memory space can be used for your app and the tool.

It is a 32 bit system. Therefore this could be a limiting factor. My application does not use anywhere close to 2GB of memory though.

3. Is there same problem when collecting data in command line?

No, it seems to always work ok when I use the Command Line Interface.

4. If you specified duration to reduce the result size, no insuffcient memory warning?

Smaller data size (~ 2 minutes) almost always goes through. Slightly larger duration (~ 5 minutes) always crashes.

5. crash-reports

Please see attached.

0 Kudos
Peter_W_Intel
Employee
3,268 Views

If used smaller data set it worked but larger data set failed, I guess that memory usage (profiled data) was growing quickly. Even application does not exceed 2GB, because you ran long time, so result (raw data) was bigger and failed on finalizing. Serge is right! enlarging virtual memory space might be helpful in system32.

Other considerations are to do: 1) use "-data-limit" to avoid huge data process in finalizing 2) start from paused mode, and resume data collection in critical code area.  

0 Kudos
Sonjuhi_K_
Beginner
3,268 Views

Thank you everyone, for your responses and help on this issue. This issue now seems to be resolved; I haven’t seen it occur so far on several runs with long durations. Some of the symbol files associated with my application were either not properly loaded or were corrupted. I manually reloaded them, and everything seems to work ok.

0 Kudos
SergeyKostrov
Valued Contributor II
3,268 Views
>>...2. Did you run application with this tool in 32bit system? If this is the case, only 2GB memory space can be used for >>your app and the tool. Peter, I think the 2GB limitation could be resolved especially for a 32-bit application that runs on a 64-bit Windows platform. However, I'd like to understand why that approach ( to use as much as possible memory ) was selected for data collection? Note: I'm dealing with a similar problem ( that is, 2GB limitation ) when doing linear algebra calculations with very large matricies on 32-bit Windows platforms.
0 Kudos
Bernard
Valued Contributor I
3,268 Views

>>>I think the 2GB limitation could be resolved especially for a 32-bit application that runs on a 64-bit Windows platform>>>

32-bit application running on 64-bit Windows will use up to 4GB of memory.

0 Kudos
Peter_W_Intel
Employee
3,268 Views

>>>3. Is there same problem when collecting data in command line? No, it seems to always work ok when I use the Command Line Interface.>>>

Maybe Visual Studio integration mode & standalone app consumed more memory than command line.

0 Kudos
Peter_W_Intel
Employee
3,268 Views

>>>32-bit application running on 64-bit Windows will use up to 4GB of memory>>> 

Should do "editbin.exe /LARGEADDRESSWARE 32bit_app.exe" to generate new one first.

0 Kudos
Bernard
Valued Contributor I
3,268 Views

Hi Peter,

are you refering to AWE?

0 Kudos
Bernard
Valued Contributor I
3,268 Views

iliyapolak wrote:

Hi Peter,

Do you mean "large address space aware" flag?

0 Kudos
Bernard
Valued Contributor I
3,268 Views

iliyapolak wrote:

Quote:

iliyapolakwrote:

 

Hi Peter,

Do you mean "large address space aware" flag?IIRC there is a testlimit tool which can test memory allocation on 32 and 64 bit versions of Windows.

0 Kudos
SergeyKostrov
Valued Contributor II
3,268 Views
>>>>32-bit application running on 64-bit Windows will use up to 4GB of memory>>> This is wrong and I see that you really don't have any practical experience with AWE. >>Should do "editbin.exe /LARGEADDRESSWARE 32bit_app.exe" to generate new one first. Peter, This is Not a universal solution ( I would say already obsolete ) and it can't be used on Windows 7 OSs. Then, it is Not enough to enable that option and OS should support that feature. Why that solution is obsolete? Because all operating systems that support AWE almost at the end of life cycles of support by Microsoft. My question was why does VTube use ~1.9GB of memory in some cases and stops collecting data as soon that limit is reached ( in another words it crashes )?
0 Kudos
Bernard
Valued Contributor I
3,268 Views

>>>>32-bit application running on 64-bit Windows will use up to 4GB of memory>>> >>>This is wrong and I see that you really don't have any practical experience with AWE.>>>

@Sergey

The sentence questioned by you is directly taken from the article written by Windows Internals expert Mark Russinovich. Please read this link://blogs.technet.com/b/markrussinovich/archive/2008/11/17/3155406.aspx

AWE is based on PAE technology and Win 64-bit version do not support PAE. Please read this article ://msdn.microsoft.com/en-us/library/windows/hardware/gg487508.aspx

0 Kudos
Bernard
Valued Contributor I
3,268 Views

>>>My question was why does VTube use ~1.9GB of memory in some cases and stops collecting data as soon that limit is reached>>> In order to test 32-bit application memory allocation on 64-bit system I would advise to use testlimit tool.Regarding VTune crash is there any dump file which can provide any clue to the failed ip?

Here is another links which points to Microsoft article about the 32-bit application running inside Win 64-bit version.That article clearly states that application can allocate 4GB when compiled with large-address-aware flag.In such a case WOW64 process is responsible for  the allocation.

//support.microsoft.com/default.aspx?scid=889654

0 Kudos
Bernard
Valued Contributor I
3,268 Views
@Sergey I must admit that I only now saw that Sonjuhi has 32-bit Windows so in this case usage of AWE on order to address more than 2GB makes sense.
0 Kudos
SergeyKostrov
Valued Contributor II
3,268 Views
>>I must admit that I only now saw that Sonjuhi has 32-bit Windows so in this case usage of AWE on order to >>address more than 2GB makes sense. It is absolutely Not clear that he has a 32-bit Windows operating system that supports AWE technology. Than, it is Not possible for the VTune to allocate more than 2GB of memory on any 32-bit Windows operating system without substantional code modifications. A linker option /LARGEADDRESSWARE does Not mean that more than 2GB of memory will be allocated as soon as it is enabled. I think you've forgotten that at the end of 2012 I've spent significant amount of time on R&D related to AWE: Forum Topic: Address Windowing Extensions ( AWE ) technology on Windows platforms with Intel CPUs Web-link: software.intel.com/en-us/forums/topic/344931 and I've completed all needed tests on Windows Server 2003 32-bit operating system. Since AWE is Not a unuversal solution the project was cancelled. Current update is as follows: There are at least four different methods which I'm currently considering that could allocate significantly more memory ( up to a Maximum value of Virtual Memory set for the 32-bit Windows XP or 64-bit Windows 7&8 ).
0 Kudos
Peter_W_Intel
Employee
3,268 Views

I have to clarify:

1. Using /LARGEADDRESSWARE linker option OR using editbin.exe to regenerate executable is not helpful on Win32, BUT helpful on Win64. The benefit is that developer worked on Win32 and now plan to run application with VTune on Win64 (consider that VTune will consume extra memory besides application itself) - no source code change is required. If the user still works on Win32, it is not helpful

2. I don't know why this user ran out of memory on GUI - but I was told command line was OK. So I assume that Visual Studio consumed memory high (I don't know why and how), and using command line is a workaround.

0 Kudos
SergeyKostrov
Valued Contributor II
3,252 Views
>>...If the user still works on Win32, it is not helpful... I think Microsoft really underestimated demands of modern Data Mining and Scientific applications. >>...So I assume that Visual Studio consumed memory high (I don't know why and how)... Visual Studios don't use lots of memory ( but a trend is alarming for latest versions because usage grows! ) and here are some real data ( just for reference on 32-bit Windows XP ): VS 2005 PE - ~18MB + ~17MB ( VM ) VS 2008 EE - ~17MB + ~18MB ( VM ) VS 2010 EE - ~60MB + ~40MB ( VM ) PE - Professional Edition EE - Express Edition I have 8 different Visual C++ and Studios on a 64-bit Windows 7 Professional computer and let me know if you need memory usage numbers.
0 Kudos
Reply