[Bug testsuite/95546] Random Fortran test failures
sgk at troutmask dot apl.washington.edu
gcc-bugzilla@gcc.gnu.org
Fri Jun 5 17:25:58 GMT 2020
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95546
--- Comment #5 from Steve Kargl <sgk at troutmask dot apl.washington.edu> ---
On Fri, Jun 05, 2020 at 03:46:18PM +0000, jvdelisle at charter dot net wrote:
>
> I am curious, did this just start happening or is it a long time issue just
> reported. Locking mecahnisms were adjusted recently I believe.
>
What locking are you referring to? If it some recent changes
to libgfortran's pthread locking, then I think that has nothing
to do with the problem reported here.
The code eof_4.f90 runs multiple tests. The looks like
open(unit=99, file='test.dat', status='new')
!
! Test 1
!
close(99, status='delete')
open(unit=99, file='test.dat', status='new')
!
! Test 2
!
close(99, status='delete')
open(unit=99, file='test.dat', status='new')
!
! Test 3
!
close(99, status='delete')
The above is actually testing Fortran feature.
HJ Lu reported problems with 'make -jN', which suggests that
eof_4.f90 is being compiled and executed in parallel. That
is subject to races. Dejagnu needs to be told that eof_4.f90
cannot be run in parallel. If it is not possible to defeat
dejagnu, then the test will need to changed to use a unique
file name
character(len=20) name
write(name, '(A,I0,A)') 'tmp', getpid(), '.dat'
open(unit=99, file=name, status='new')
!
! Test 1
!
close(99, status='delete')
The test could also be adjusted to use inquire() and sleep()
(need to check syntax)
1 inquire(file='test.dat', exists=stat)
if (stat == 1) then
call sleep(2)
goto 1
end if
More information about the Gcc-bugs
mailing list