- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
We issue our software in several flavors including a DLL and EXE version. Recently, one of the software interfaces (third party) had a model that ran out of memory with the DLL version but ran okay with the EXE version.
Any hints as to what compiler flags I might use so the DLL will properly execute? Or is that not the issue? (i.e., is it something in their memory space -- before they launch the DLL?) I did not ask him if he launched his exe run from within the interface or outside (they can do both).
Linda
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
Apparently, you can't paste a image into here.
The error message is:
forrtl: severe(41): insufficient virtual memory
I have not duplicated this at "home" yet.
after a bunch of trace messages, it says:
stack trace terminated abnormally.
Linda
- 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
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Yes, it is an allocate and no, I don't know how big because it's in a "reallocate" subroutine where it allocates a structure that is (about 550 bytes long) by the number of "variables" which can get rather large and gets reallocated and repopulated when it reaches the limit.
Remember the exe of the same vintage does not run out of memory.
Linda
- 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
Linda,
Since it appears you have an
allocate, populate
on full, reallocate, continue populate
on full, reallocate, continue populate
...
Can you supply a parameter (environment variable, value in file, etc...) to provide for an innitial allocation and an expansion incriment. Then set to large enough values to reduce the number of reallocations.
The problem may be with sequencing of allocations that causes memory fragmentation (or an Operating System behavior relating to delay of deallocations to protect against buffer re-use after deallocation bugs and/or exploits).
Jim Dempsey

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