I have been getting this error on one of my programs that does extremely
complex I/O operations for a few months now, but I have been unable to isolate
it. I finally got the same error message from a program that generates random
I/O patterns. About half of the FORTRANS that I run this program with fail, but
I found four including Lahey Fortran and Compaq Fortran that have no complain.
testio.f is the original program. testio2.f is a program made from the output
of testio.f that duplicates the I/O sequence that failed.

[dranta:~/tests/gfortran-D] dir% gfortran -o testio testio.f
[dranta:~/tests/gfortran-D] dir% testio > out
At line 37 of file testio.f
Fortran runtime error: Invalid argument
[dranta:~/tests/gfortran-D] dir% cat testio.f
      program test
      dimension ia(100)
      i=rand(500)
      do 10 i=1,100
      call doio(ia,100)
   10 continue
      stop
      end
      subroutine doio(ia,n)
      dimension ia(n)
      i=1
   10 continue
      ia(i)=1+3*rand(0)+.5
      if(i.gt.1)then
          if(ia(i-1).eq.4.and.ia(i).eq.3)goto 10
      endif
      i=i+1
      if(i.le.n)goto 10
      write(6,1000)ia
      call dowrite(ia,n)
      return
 1000 format(20i4)
      end
      subroutine dowrite(ia,n)
      dimension ia(n)
      dimension data(500)
      nend=1000
      open(unit=11,status='scratch',form='unformatted')
      do 100 i=1,n
      goto (10,20,30,40),ia(i)
  10  continue
      write(6,*)'      rewind 11'
      rewind 11
      goto 100
  20  continue
      write(6,*)'      backspace 11'
      backspace 11
      goto 100
  30  continue
      write(6,*)'      read(11,end=',nend,')data'
      write(6,1000)nend
      nend=nend+1     
      read(11,end=50)data
      goto 100
  40  continue
      write(6,*)'      write(11)data'
      write(11)data
      goto 100
  50  continue
      write(6,*)'      backspace 11'
      backspace 11
      goto 100
 100  continue
      close(11)
      return
1000  format(' ',i4,'  continue')
      end
[dranta:~/tests/gfortran-D] dir% gfortran -o testio2 testio2.f
[dranta:~/tests/gfortran-D] dir% testio2
At line 72 of file testio2.f
Fortran runtime error: Invalid argument
[dranta:~/tests/gfortran-D] dir% cat testio2.f
      program test
      dimension data(100)
       read(11,end=        1000 )data
 1000  continue
       backspace 11
       backspace 11
       backspace 11
       read(11,end=        1001 )data
 1001  continue
       backspace 11
       rewind 11
       backspace 11
       backspace 11
       backspace 11
       rewind 11
       write(11)data
       backspace 11
       backspace 11
       backspace 11
       backspace 11
       backspace 11
       backspace 11
       rewind 11
       backspace 11
       write(11)data
       write(11)data
       write(11)data
       backspace 11
       read(11,end=        1002 )data
 1002  continue
       backspace 11
       rewind 11
       backspace 11
       read(11,end=        1003 )data
 1003  continue
       write(11)data
       write(11)data
       write(11)data
       rewind 11
       read(11,end=        1004 )data
 1004  continue
       rewind 11
       rewind 11
       read(11,end=        1005 )data
 1005  continue
       backspace 11
       write(11)data
       backspace 11
       rewind 11
       backspace 11
       rewind 11
       read(11,end=        1006 )data
 1006  continue
       rewind 11
       write(11)data
       backspace 11
       read(11,end=        1007 )data
 1007  continue
       read(11,end=        1008 )data
 1008  continue
       backspace 11
       read(11,end=        1009 )data
 1009  continue
       backspace 11
       write(11)data
       backspace 11
       read(11,end=        1010 )data
 1010  continue
       read(11,end=        1011 )data
 1011  continue
       backspace 11
       backspace 11
      stop
      end


-- 
           Summary: Fortran runtime error: Invalid argument
           Product: gcc
           Version: unknown
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: libfortran
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: dir at lanl dot gov
  GCC host triplet: powerpc-apple-darwin8.3.0


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25139

Reply via email to