Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.

Invalid buffer on binary file write

David_DiLaura1
320 Views

Steve, Colleagues:

A very small number of users of our code are encountering error 38 during an attempt of a binary file write:

  • forrtl: The supplied user buffer is not valid for the requested operation.
  • forrtl: severe (38): error during write. unit 2, file . . . . .

 

Here is the section of code involved

open(2,file = filespath(1:len_trim(filespath)) //'SurfaceGroupingIntoObjects.dat',form='binary', err=999, iostat=IOstat, buffered = 'yes', buffercount = 2, blocksize=1048576)

do k = 1,NumEnclosingObjects
	write(2, err=999, iostat=IOstat) MappingEnclosingObjects(k)
	write(2, err=999, iostat=IOstat) ObjectContainsObject(MappingEnclosingObjects(k),0:ObjectContainsObject(MappingEnclosingObjects(k),0))
end do
 

The error occurs in the loop, not on the 1st iteration but after several (successful) writes.  Any ideas?

David DiLaura

0 Kudos
1 Reply
Steven_L_Intel1
Employee
320 Views

Compiler version?  Amount of data being written? We'd probably need a complete test case to look into this further. I'm aware of some issues we had regarding buffer positioning on reads, but not writes.

0 Kudos
Reply