- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
when executing a Fortran program (32-bit) I get the error message
"Fatal Error: Can not initiate the Heap"
The code is really large and I have not succeeded in producing a minimal example where the error occurs. My only clue is that the error occurs more or less directly after the allocation of a larger memory segment via malloc fails (malloc returns 0).
I first thought this is a bug in the compiler 2011.9.300. So I went back to version 11.1.072, but unfortunately the error still occurs. I have tried several runtime checks (check for null pointers, check array and string bounds, etc.), however these checks are all ok. I also tried Intel Inspector XE 2011 which could not find the problem -- it says that it ran out of memory.
Any ideas for tracking this down? Thanks in advance.
Franz
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
"Fatal Error: Can not initiate the Heap"
...
Any ideas for tracking this down? Thanks in advance.
1. On32-bit Windows platformswithout AWE an application can not allocate more than 2GB of memory
2. On32-bit Windows platformswith AWE an application can allocate more than 2GB of memoryup to ~3GB
Here are some recommendations:
1. Try to use the Task Manager and monitor how much memory isallocated when your application gets the error.
The values to look at are as follows:
Performance property page:
Commit Charge (K) -> Peak
Physical Memory (K) -> Available
Processes property page ( You need to select columns ):
Mem Usage
VM Size
2.Verifysize of the Virtual Memory file and increase if needed ( on my system I have 1,024MB for Initialand 4,096MB for Maximum)
3. Try to call a'GetLastError' Win32 API function after a'malloc' calland in your casean error codehas
to be 8( ERROR_NOT_ENOUGTH_MEMORY ) ( this is simply to verify )
4. Try to increase Heap ( Reserve / Commit ) values.16MB values worked well in a similar caseand it isconfirmedby
a FORTRAN developer 2 days ago but in your case it is still not clear how much memory your application attempts to allocate
Note: AWE - Address Windowing Extensions

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page