Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Beginner
34 Views

Fortran Memory not deallocated - Inspector indicates subroutine declaration

I am having trouble understand this error, and I figure that it must be a false positive. Using Inspector, I cleaned up a number of Memory not deallocated errors where the allocatable variables were in a module that persists through the life of the application.

However, I have one memory not deallocated error remaining, and I figure that this must be a false positive.

The error points at a Fortran subroutine declaration line, and does not point at a line where memory is being allocated with the use of the Fortran keyword "allocate". I have allocatable variables in subroutine scope, so I tried deallocating these variables at the end of the subroutine; however, the error persists. In addition to deallocating the allocatable variables at the end of the subroutine, I also tried placing the subroutine in a module so that both the variables are deallocated and the subroutine is in a module; however, the error persists.

"Error Report" dumps are attached.

Anyone have any thoughts on this?

Thanks.

0 Kudos
3 Replies
Highlighted
Beginner
34 Views

I should add that this error occurs in both 64 and 32 bit builds. In the 64-bit build, as in the attached file "Error without subroutine in module.txt" the  amount of memory not deallocated is almost nearly double that in the 32-bit build.

0 Kudos
Highlighted
Employee
34 Views

The stacks show the allocation is coming from '_intel_alloc_bpv'.  This function allocates memory for internal thunks.  This is a false positive that can be ignored.

There is more information in this forum post: https://software.intel.com/en-us/forums/topic/294168 and here: https://software.intel.com/en-us/blogs/2009/09/02/doctor-fortran-in-think-thank-thunk/

0 Kudos
Highlighted
Beginner
34 Views

Thanks, Mark.

I suppressed it per the instructions in your PM which are, for anyone interested,

Use the suppression mechanism in the GUI.

Select "Supress" from the context menu in the lower frame of the 'Summary' view.  Edit the suppression to suppress on the function '_intel_alloc_bpv' in "* (any)" module.

Thanks again.

 

0 Kudos