public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug testsuite/32057]  New: Random failure on gfortran.dg/secnds.f
@ 2007-05-23 13:52 hjl at lucon dot org
  2007-05-23 14:35 ` [Bug testsuite/32057] " dominiq at lps dot ens dot fr
                   ` (16 more replies)
  0 siblings, 17 replies; 18+ messages in thread
From: hjl at lucon dot org @ 2007-05-23 13:52 UTC (permalink / raw)
  To: gcc-bugs

I got random failure on gfortran.dg/secnds.f, which has

      t1 = secnds (0.0)
      call date_and_time (dum1, dum2, dum3, values)
      t1a = secnds (0.0)
      dat1 = 0.001*real (values(8)) + real (values(7)) +
     &        60.0*real (values(6)) + 3600.0* real (values(5))
      if (((dat1 - t1) < 0.) .or. ((dat1 - t1) > (t1a - t1))) call abort ()
      do j=1,10000
        do i=1,10000
        end do
      end do
      t2a = secnds (t1a)
      call date_and_time (dum1, dum2, dum3, values)
      t2 = secnds (t1)
      dat2 = 0.001*real (values(8)) + real (values(7)) +
     &        60.0*real (values(6)) + 3600.0* real (values(5))
      if (((dat2 - dat1) < t2a) .or. ((dat2 - dat1) > t2)) call abort ()

I assume the dummy loop is used for delay. I don't think it is that reliable.
Can't we use sleep here?


-- 
           Summary: Random failure on gfortran.dg/secnds.f
           Product: gcc
           Version: 4.3.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: testsuite
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: hjl at lucon dot org


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


^ permalink raw reply	[flat|nested] 18+ messages in thread

* [Bug testsuite/32057] Random failure on gfortran.dg/secnds.f
  2007-05-23 13:52 [Bug testsuite/32057] New: Random failure on gfortran.dg/secnds.f hjl at lucon dot org
@ 2007-05-23 14:35 ` dominiq at lps dot ens dot fr
  2007-05-23 15:06 ` kargl at gcc dot gnu dot org
                   ` (15 subsequent siblings)
  16 siblings, 0 replies; 18+ messages in thread
From: dominiq at lps dot ens dot fr @ 2007-05-23 14:35 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #1 from dominiq at lps dot ens dot fr  2007-05-23 15:34 -------
> I assume the dummy loop is used for delay. I don't think it is that reliable.

I think you are right about the delay, but not about the real problem: you have
the same with secnds-1.f which does not cantain the loop. The goal of the tests
is not to measure some time, but to check that intervals are properly ordered,
i.e., t1<=dat1<=t1a and t2a<=dat2-dat1<= t2.

I have started to investigate the problem, see the thread:

http://gcc.gnu.org/ml/fortran/2007-05/msg00216.html

I have started to prepare a report of my findings, but I got distracted because
gcc is no longer building on Darwin. 

The main cause of failures is because the tests do not account for round off
errors.  This can easily handled for first test by comparing to the nearest
values from below and above: the failure rate seems below a couple ppb (part
per billion) measured on secnds-1.f, using a naive way to measure it. I think
this is due to the fact that t1 and t1a are absolute times.  For the second
test I had to use wider tolerances (such as spacing(24.0*3600.0)) and even so I
get some errors on Pentium machines ~1/10000.

After having removed this main source of failure I have found three more:
(1) the tests do not handle timing around midnight when the counts go from
86400.0 to 0.0,
(2) there is a rounding problem in secnds such that secnds(86400.0) returns
86400.0 during the 3ms before midnight,
(3) on some machine the clock synchronization put the tests in jeopardy when
the clock has a negative "lag": the value returned "after" is before the value
returned "before"! I think this is a detectable but unrecoverable error and,
when detected, the tests should be skipped and repeated.  I have a fix for the
two other cases, although (2) should probably handled at the secnds level.

In top of the report, I have started to prepare a program to do some testing on
platforms I have no access to (I have used PPC Darwin, and AMD64 and Pentium
Linux). I was planning to join it to the report (Encouragements are welcome !-)


-- 


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


^ permalink raw reply	[flat|nested] 18+ messages in thread

* [Bug testsuite/32057] Random failure on gfortran.dg/secnds.f
  2007-05-23 13:52 [Bug testsuite/32057] New: Random failure on gfortran.dg/secnds.f hjl at lucon dot org
  2007-05-23 14:35 ` [Bug testsuite/32057] " dominiq at lps dot ens dot fr
@ 2007-05-23 15:06 ` kargl at gcc dot gnu dot org
  2007-05-28 19:53 ` dominiq at lps dot ens dot fr
                   ` (14 subsequent siblings)
  16 siblings, 0 replies; 18+ messages in thread
From: kargl at gcc dot gnu dot org @ 2007-05-23 15:06 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #2 from kargl at gcc dot gnu dot org  2007-05-23 16:05 -------
>
> Can't we use sleep here?
> 

No.


-- 


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


^ permalink raw reply	[flat|nested] 18+ messages in thread

* [Bug testsuite/32057] Random failure on gfortran.dg/secnds.f
  2007-05-23 13:52 [Bug testsuite/32057] New: Random failure on gfortran.dg/secnds.f hjl at lucon dot org
  2007-05-23 14:35 ` [Bug testsuite/32057] " dominiq at lps dot ens dot fr
  2007-05-23 15:06 ` kargl at gcc dot gnu dot org
@ 2007-05-28 19:53 ` dominiq at lps dot ens dot fr
  2007-05-28 22:15 ` tkoenig at gcc dot gnu dot org
                   ` (13 subsequent siblings)
  16 siblings, 0 replies; 18+ messages in thread
From: dominiq at lps dot ens dot fr @ 2007-05-28 19:53 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #3 from dominiq at lps dot ens dot fr  2007-05-28 19:52 -------
A partial fix can be found at

http://gcc.gnu.org/ml/gcc-patches/2007-05/msg01873.html

Some discussions can be found by following the thread.


-- 

dominiq at lps dot ens dot fr changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |dominiq at lps dot ens dot
                   |                            |fr


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


^ permalink raw reply	[flat|nested] 18+ messages in thread

* [Bug testsuite/32057] Random failure on gfortran.dg/secnds.f
  2007-05-23 13:52 [Bug testsuite/32057] New: Random failure on gfortran.dg/secnds.f hjl at lucon dot org
                   ` (2 preceding siblings ...)
  2007-05-28 19:53 ` dominiq at lps dot ens dot fr
@ 2007-05-28 22:15 ` tkoenig at gcc dot gnu dot org
  2007-05-29 20:25 ` dominiq at lps dot ens dot fr
                   ` (12 subsequent siblings)
  16 siblings, 0 replies; 18+ messages in thread
From: tkoenig at gcc dot gnu dot org @ 2007-05-28 22:15 UTC (permalink / raw)
  To: gcc-bugs



-- 

tkoenig at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|0                           |1
   Last reconfirmed|0000-00-00 00:00:00         |2007-05-28 22:15:12
               date|                            |


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


^ permalink raw reply	[flat|nested] 18+ messages in thread

* [Bug testsuite/32057] Random failure on gfortran.dg/secnds.f
  2007-05-23 13:52 [Bug testsuite/32057] New: Random failure on gfortran.dg/secnds.f hjl at lucon dot org
                   ` (3 preceding siblings ...)
  2007-05-28 22:15 ` tkoenig at gcc dot gnu dot org
@ 2007-05-29 20:25 ` dominiq at lps dot ens dot fr
  2007-05-30  2:10 ` jvdelisle at gcc dot gnu dot org
                   ` (11 subsequent siblings)
  16 siblings, 0 replies; 18+ messages in thread
From: dominiq at lps dot ens dot fr @ 2007-05-29 20:25 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #4 from dominiq at lps dot ens dot fr  2007-05-29 20:25 -------
Following the Steve Kargl's suggestion in

http://gcc.gnu.org/ml/gcc-patches/2007-05/msg01945.html

I have done the following test:

[archimede] test/fortran> cat > sec_prec_1.f90
implicit none
integer j, k, l, m, n
integer i, ifa, ifb, ifc
real a, b, c
i = 0 ; ifa = 0 ; ifb = 0 ; ifc = 0
do m = 0, 23
   do l = 0, 59
      do k = 0, 59
         do j = 0, 999
             i = i + 1
             a = 3600.0*real(m)+ 60.0*real(l) + real(k) + 0.001*real(j)
             b = 0.001*real(j) + real(k) + 60.0*real(l) + 3600.0*real(m)
             c = (3600000*m + 60000*l + 1000*k + j)/1000.0
             if (b /= c) ifa = ifa + 1
             if (a /= c) ifb = ifb + 1
             if (a /= b) ifc = ifc + 1
         end do
      end do
   end do
end do
print *, i, ifa, ifb, ifc
end

On PPC OSX and AMD64 Linux (with and without -O), I get:

    86400000    19312016    17523130     2683738

It seems hard to decide what is the right solution, expect that the same has to
be used in the test cases. On a Pentium Linux, I get the same result if I use
-ffloat-store. Without this flag I get:

    86400000        1934        1934           0

without -O and

    86400000    86313600    86313600           0

with -O.  Since I understand that in the later cases, the right hand side is
computed as real(10), hence a and b are the same after rounding to real(4).
However I don't see why the optimization has such a dramatic effect.

I have also run the following test:

[archimede] test/fortran> cat > sec_prec.f90
integer i, j, k, l, m, n
real a, b, c
k = 59
l = 59
m = 23
do i = 0, 9
   a = 86399.0 + 0.001*real(990+i)
   b = 0.001*real(990+i) + real(k) + 60.0*real(l) + 3600.0*real(m)
   c = (86399990 + i)/1000.0
   print '(I3,3(1PG20.10))', i, a, b, c
end do
end

which gives:

  0     86399.99219         86399.99219         86399.99219    
  1     86399.99219         86399.99219         86399.99219    
  2     86399.99219         86399.99219         86399.99219    
  3     86399.99219         86399.99219         86399.99219    
  4     86399.99219         86399.99219         86399.99219    
  5     86399.99219         86399.99219         86399.99219    
  6     86399.99219         86400.00000         86400.00000    
  7     86400.00000         86400.00000         86400.00000    
  8     86400.00000         86400.00000         86400.00000    
  9     86400.00000         86400.00000         86400.00000    

i.e., the last 3/4 ms gives 86400.0, hence the result of secnds(0.0) is inside
the interval [0.0,86400.0] and not inside [0.0,86400.0[ as I naively expected.
This is the cryptic point (2) in my comment #1.

A side effect is that if your are within this time frame and do

t1=secnds(0.0); t2=secnds(t1)

you get 86400.0 instead of 0.0. A possible solution is to add a
t1=min(86399.996,t1) to force the output in the semiopen interval.  With the
reversal of the time computation and putting everything in float, it leads to
the following patch:

--- gcc-4.3-20070525/libgfortran/intrinsics/date_and_time.c     Fri Apr  6
18:47:23 2007
+++ gcc-4.3-20070526/libgfortran/intrinsics/date_and_time.c     Mon May 28
21:40:46 2007
@@ -341,12 +341,15 @@

   free_mem (avalues);

-  temp1 = 3600.0 * (GFC_REAL_4)values[4] +
-           60.0 * (GFC_REAL_4)values[5] +
-                  (GFC_REAL_4)values[6] +
-          0.001 * (GFC_REAL_4)values[7];
-  temp2 = fmod (*x, 86400.0);
-  temp2 = (temp1 - temp2 >= 0.0) ? temp2 : (temp2 - 86400.0);
+  temp1 =  0.001f * (GFC_REAL_4)values[7] +
+                   (GFC_REAL_4)values[6] +
+           60.0f * (GFC_REAL_4)values[5] +
+         3600.0f * (GFC_REAL_4)values[4];
+          
+  /* Fix the round-off errors for the 3ms before midnight. */
+  temp1= (86399.996f>=temp1)? temp1 : 86399.996f;
+  temp2 = fmod (*x, 86400.0f);
+  temp2 = (temp1 - temp2 >= 0.0f) ? temp2 : (temp2 - 86400.0f);
   return temp1 - temp2;
 }

I have implemented part of it (without the reversal for temp1) on my last build
on OSX and it seems to work. For the other platforms I rely on binaries, so I
need some outside help to test the patch on them!-)


-- 


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


^ permalink raw reply	[flat|nested] 18+ messages in thread

* [Bug testsuite/32057] Random failure on gfortran.dg/secnds.f
  2007-05-23 13:52 [Bug testsuite/32057] New: Random failure on gfortran.dg/secnds.f hjl at lucon dot org
                   ` (4 preceding siblings ...)
  2007-05-29 20:25 ` dominiq at lps dot ens dot fr
@ 2007-05-30  2:10 ` jvdelisle at gcc dot gnu dot org
  2007-05-30  3:37 ` jvdelisle at gcc dot gnu dot org
                   ` (10 subsequent siblings)
  16 siblings, 0 replies; 18+ messages in thread
From: jvdelisle at gcc dot gnu dot org @ 2007-05-30  2:10 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #5 from jvdelisle at gcc dot gnu dot org  2007-05-30 02:09 -------
I would like to do a couple of tests here,  Then I will "oversee" this patch.


-- 

jvdelisle at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|unassigned at gcc dot gnu   |jvdelisle at gcc dot gnu dot
                   |dot org                     |org
             Status|NEW                         |ASSIGNED
   Last reconfirmed|2007-05-28 22:15:12         |2007-05-30 02:09:54
               date|                            |


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


^ permalink raw reply	[flat|nested] 18+ messages in thread

* [Bug testsuite/32057] Random failure on gfortran.dg/secnds.f
  2007-05-23 13:52 [Bug testsuite/32057] New: Random failure on gfortran.dg/secnds.f hjl at lucon dot org
                   ` (5 preceding siblings ...)
  2007-05-30  2:10 ` jvdelisle at gcc dot gnu dot org
@ 2007-05-30  3:37 ` jvdelisle at gcc dot gnu dot org
  2007-05-30 21:35 ` dominiq at lps dot ens dot fr
                   ` (9 subsequent siblings)
  16 siblings, 0 replies; 18+ messages in thread
From: jvdelisle at gcc dot gnu dot org @ 2007-05-30  3:37 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #6 from jvdelisle at gcc dot gnu dot org  2007-05-30 03:37 -------
I modified the program given in comment #4 to display the exact values at the
end of the cycle along with the three methods.  Method "a" and method "c" give
identical results.  Method "b" has a different phase and its the end point
sooner.  The exact true value is shown in the fourth column of the output
below.

-- snippet --

             a = 3600.0*real(m)+ 60.0*real(l) + real(k) + 0.001*real(j)
             b = 0.001*real(j) + real(k) + 60.0*real(l) + 3600.0*real(m)
             c = real(3600*m + 60*l + k)
             c = c + real(j)/1000.0

             exact1 = 3600*m + 60*l + k
             exact2 = j
             write(6,100)a, b, c, exact1, exact2
         100 format (3(f11.5,2x),i5,".",i3)

Result:

86399.98438  86399.98438  86399.98438  86399.988
86399.99219  86399.99219  86399.99219  86399.989
86399.99219  86399.99219  86399.99219  86399.990
86399.99219  86399.99219  86399.99219  86399.991
86399.99219  86399.99219  86399.99219  86399.992
86399.99219  86399.99219  86399.99219  86399.993
86399.99219  86399.99219  86399.99219  86399.994
86399.99219  86399.99219  86399.99219  86399.995
86399.99219  86400.00000  86399.99219  86399.996
86400.00000  86400.00000  86400.00000  86399.997
86400.00000  86400.00000  86400.00000  86399.998
86400.00000  86400.00000  86400.00000  86399.999


a and c are actually a little more accurate at the end.  Its also interesting
that this deviation between the methods appears to happen only near the end of
the sequence.  I have visually scanned in quite a few places and all three are
identical until this point.


-- 


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


^ permalink raw reply	[flat|nested] 18+ messages in thread

* [Bug testsuite/32057] Random failure on gfortran.dg/secnds.f
  2007-05-23 13:52 [Bug testsuite/32057] New: Random failure on gfortran.dg/secnds.f hjl at lucon dot org
                   ` (6 preceding siblings ...)
  2007-05-30  3:37 ` jvdelisle at gcc dot gnu dot org
@ 2007-05-30 21:35 ` dominiq at lps dot ens dot fr
  2007-06-03 17:07 ` pinskia at gcc dot gnu dot org
                   ` (8 subsequent siblings)
  16 siblings, 0 replies; 18+ messages in thread
From: dominiq at lps dot ens dot fr @ 2007-05-30 21:35 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #7 from dominiq at lps dot ens dot fr  2007-05-30 21:35 -------
> a and c are actually a little more accurate at the end. 
> Its also interesting that this deviation between the methods 
> appears to happen only near the end of the sequence.  
> I have visually scanned in quite a few places and all three are
> identical until this point.

What I expect is:
below 16384s ~4.5 hours, all the results are equal almost all the time,
below 32768s ~9 hours, all the results are equal +/- ~1 ms,
below 65536s ~18 hours, all the results are equal +/- ~2ms,
and for the following ~6 hours, all the results are equal +/- ~4ms
(~spacing(65536.0)/2.0).

Does it fit with what you saw?


-- 


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


^ permalink raw reply	[flat|nested] 18+ messages in thread

* [Bug testsuite/32057] Random failure on gfortran.dg/secnds.f
  2007-05-23 13:52 [Bug testsuite/32057] New: Random failure on gfortran.dg/secnds.f hjl at lucon dot org
                   ` (7 preceding siblings ...)
  2007-05-30 21:35 ` dominiq at lps dot ens dot fr
@ 2007-06-03 17:07 ` pinskia at gcc dot gnu dot org
  2007-06-04  8:37 ` pinskia at gcc dot gnu dot org
                   ` (7 subsequent siblings)
  16 siblings, 0 replies; 18+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2007-06-03 17:07 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #8 from pinskia at gcc dot gnu dot org  2007-06-03 17:07 -------
*** Bug 32196 has been marked as a duplicate of this bug. ***


-- 

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |rob1weld at aol dot com


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


^ permalink raw reply	[flat|nested] 18+ messages in thread

* [Bug testsuite/32057] Random failure on gfortran.dg/secnds.f
  2007-05-23 13:52 [Bug testsuite/32057] New: Random failure on gfortran.dg/secnds.f hjl at lucon dot org
                   ` (8 preceding siblings ...)
  2007-06-03 17:07 ` pinskia at gcc dot gnu dot org
@ 2007-06-04  8:37 ` pinskia at gcc dot gnu dot org
  2007-06-04 16:11 ` pinskia at gcc dot gnu dot org
                   ` (6 subsequent siblings)
  16 siblings, 0 replies; 18+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2007-06-04  8:37 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #9 from pinskia at gcc dot gnu dot org  2007-06-04 08:37 -------
*** Bug 32202 has been marked as a duplicate of this bug. ***


-- 


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


^ permalink raw reply	[flat|nested] 18+ messages in thread

* [Bug testsuite/32057] Random failure on gfortran.dg/secnds.f
  2007-05-23 13:52 [Bug testsuite/32057] New: Random failure on gfortran.dg/secnds.f hjl at lucon dot org
                   ` (9 preceding siblings ...)
  2007-06-04  8:37 ` pinskia at gcc dot gnu dot org
@ 2007-06-04 16:11 ` pinskia at gcc dot gnu dot org
  2007-06-06  0:54 ` jvdelisle at gcc dot gnu dot org
                   ` (5 subsequent siblings)
  16 siblings, 0 replies; 18+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2007-06-04 16:11 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #10 from pinskia at gcc dot gnu dot org  2007-06-04 16:11 -------
*** Bug 32206 has been marked as a duplicate of this bug. ***


-- 

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |dir at lanl dot gov


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


^ permalink raw reply	[flat|nested] 18+ messages in thread

* [Bug testsuite/32057] Random failure on gfortran.dg/secnds.f
  2007-05-23 13:52 [Bug testsuite/32057] New: Random failure on gfortran.dg/secnds.f hjl at lucon dot org
                   ` (10 preceding siblings ...)
  2007-06-04 16:11 ` pinskia at gcc dot gnu dot org
@ 2007-06-06  0:54 ` jvdelisle at gcc dot gnu dot org
  2007-06-06  1:26 ` jvdelisle at gcc dot gnu dot org
                   ` (4 subsequent siblings)
  16 siblings, 0 replies; 18+ messages in thread
From: jvdelisle at gcc dot gnu dot org @ 2007-06-06  0:54 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #11 from jvdelisle at gcc dot gnu dot org  2007-06-06 00:54 -------
Subject: Bug 32057

Author: jvdelisle
Date: Wed Jun  6 00:54:30 2007
New Revision: 125352

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=125352
Log:
2007-06-05  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

        PR testsuite/32057
        * gfortran.dg/secnds.f: Update test to avoid roundoff errors and
        midnight issues.

Modified:
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/testsuite/gfortran.dg/secnds.f


-- 


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


^ permalink raw reply	[flat|nested] 18+ messages in thread

* [Bug testsuite/32057] Random failure on gfortran.dg/secnds.f
  2007-05-23 13:52 [Bug testsuite/32057] New: Random failure on gfortran.dg/secnds.f hjl at lucon dot org
                   ` (11 preceding siblings ...)
  2007-06-06  0:54 ` jvdelisle at gcc dot gnu dot org
@ 2007-06-06  1:26 ` jvdelisle at gcc dot gnu dot org
  2007-06-19 17:11 ` rob1weld at aol dot com
                   ` (3 subsequent siblings)
  16 siblings, 0 replies; 18+ messages in thread
From: jvdelisle at gcc dot gnu dot org @ 2007-06-06  1:26 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #12 from jvdelisle at gcc dot gnu dot org  2007-06-06 01:26 -------
Lets give this some time to test on other platforms and see.  If it works, we
can port to 4.2 to get rid of the irritant factor. 


-- 


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


^ permalink raw reply	[flat|nested] 18+ messages in thread

* [Bug testsuite/32057] Random failure on gfortran.dg/secnds.f
  2007-05-23 13:52 [Bug testsuite/32057] New: Random failure on gfortran.dg/secnds.f hjl at lucon dot org
                   ` (12 preceding siblings ...)
  2007-06-06  1:26 ` jvdelisle at gcc dot gnu dot org
@ 2007-06-19 17:11 ` rob1weld at aol dot com
  2007-06-20 22:33 ` rob1weld at aol dot com
                   ` (2 subsequent siblings)
  16 siblings, 0 replies; 18+ messages in thread
From: rob1weld at aol dot com @ 2007-06-19 17:11 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #13 from rob1weld at aol dot com  2007-06-19 17:11 -------
>>The goal of the tests is not to measure some time, but to check that
>>intervals are properly ordered, i.e., t1<=dat1<=t1a and t2a<=dat2-dat1<= t2.

If that is the "goal" then could we eliminate all influence of time (midnight /
leap seconds / end of year, and whatever random issues occur) by using a
procedure similar to what is described in:
gcc-4_3-trunk/libmudflap/testsuite/lib/mfdg.exp ?


# Indicate that this test case is to be rerun several times.  This
# is useful if it is nondeterministic.  This applies to rerunning the
# test program only, not rebuilding it.
# The embedded format is "{ dg-repetitions N }", where N is the number
# of repetitions.  It better be greater than zero.
#
proc dg-repetitions { line value } {
    upvar dg-repetitions repetitions
    set repetitions $value
}

#
# Indicate that this test case is to be run with a short timeout.
# The embedded format is "{ dg-timeout N }", where N is in seconds.
#
proc dg-timeout { line value } {
    global dg-timeout
    set dg-timeout $value
}

# dejagnu's config/unix.exp hard-codes 300 seconds as the timeout
# for any natively run executable.  That's too long for tests run
# multiple times and that may possibly hang.  So we override it here
# to provide some degree of control.


We could run the test 5 times and if we got at least one pass we could write
"PASS:" and use "WARNING:" to write the number of failures. If we get 5
failures then we just write "FAIL:".

The last time I ran "make -i check" I got a pass on this test, the time before
a fail; previously it's been hit and miss. The above technique will catch
random failures better and avoid false positives.


-- 


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


^ permalink raw reply	[flat|nested] 18+ messages in thread

* [Bug testsuite/32057] Random failure on gfortran.dg/secnds.f
  2007-05-23 13:52 [Bug testsuite/32057] New: Random failure on gfortran.dg/secnds.f hjl at lucon dot org
                   ` (13 preceding siblings ...)
  2007-06-19 17:11 ` rob1weld at aol dot com
@ 2007-06-20 22:33 ` rob1weld at aol dot com
  2007-06-21  1:06 ` jvdelisle at gcc dot gnu dot org
  2007-06-25  3:03 ` jvdelisle at gcc dot gnu dot org
  16 siblings, 0 replies; 18+ messages in thread
From: rob1weld at aol dot com @ 2007-06-20 22:33 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #14 from rob1weld at aol dot com  2007-06-20 22:33 -------
GCC version 4.3.0 20070620
http://gcc.gnu.org/ml/gcc-testresults/2007-06/msg00942.html
FAIL:  gfortran.dg/secnds-1.f  -O1  execution test


-- 


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


^ permalink raw reply	[flat|nested] 18+ messages in thread

* [Bug testsuite/32057] Random failure on gfortran.dg/secnds.f
  2007-05-23 13:52 [Bug testsuite/32057] New: Random failure on gfortran.dg/secnds.f hjl at lucon dot org
                   ` (14 preceding siblings ...)
  2007-06-20 22:33 ` rob1weld at aol dot com
@ 2007-06-21  1:06 ` jvdelisle at gcc dot gnu dot org
  2007-06-25  3:03 ` jvdelisle at gcc dot gnu dot org
  16 siblings, 0 replies; 18+ messages in thread
From: jvdelisle at gcc dot gnu dot org @ 2007-06-21  1:06 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #15 from jvdelisle at gcc dot gnu dot org  2007-06-21 01:06 -------
I have not patched secnds-1.f yet


-- 


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


^ permalink raw reply	[flat|nested] 18+ messages in thread

* [Bug testsuite/32057] Random failure on gfortran.dg/secnds.f
  2007-05-23 13:52 [Bug testsuite/32057] New: Random failure on gfortran.dg/secnds.f hjl at lucon dot org
                   ` (15 preceding siblings ...)
  2007-06-21  1:06 ` jvdelisle at gcc dot gnu dot org
@ 2007-06-25  3:03 ` jvdelisle at gcc dot gnu dot org
  16 siblings, 0 replies; 18+ messages in thread
From: jvdelisle at gcc dot gnu dot org @ 2007-06-25  3:03 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #16 from jvdelisle at gcc dot gnu dot org  2007-06-25 03:02 -------
I have now committed the patch to fix secnds-1.f.  If this clears it up on 4.3,
I will backport to 4.2


-- 

jvdelisle at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|                            |FIXED


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


^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2007-06-25  3:03 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-05-23 13:52 [Bug testsuite/32057] New: Random failure on gfortran.dg/secnds.f hjl at lucon dot org
2007-05-23 14:35 ` [Bug testsuite/32057] " dominiq at lps dot ens dot fr
2007-05-23 15:06 ` kargl at gcc dot gnu dot org
2007-05-28 19:53 ` dominiq at lps dot ens dot fr
2007-05-28 22:15 ` tkoenig at gcc dot gnu dot org
2007-05-29 20:25 ` dominiq at lps dot ens dot fr
2007-05-30  2:10 ` jvdelisle at gcc dot gnu dot org
2007-05-30  3:37 ` jvdelisle at gcc dot gnu dot org
2007-05-30 21:35 ` dominiq at lps dot ens dot fr
2007-06-03 17:07 ` pinskia at gcc dot gnu dot org
2007-06-04  8:37 ` pinskia at gcc dot gnu dot org
2007-06-04 16:11 ` pinskia at gcc dot gnu dot org
2007-06-06  0:54 ` jvdelisle at gcc dot gnu dot org
2007-06-06  1:26 ` jvdelisle at gcc dot gnu dot org
2007-06-19 17:11 ` rob1weld at aol dot com
2007-06-20 22:33 ` rob1weld at aol dot com
2007-06-21  1:06 ` jvdelisle at gcc dot gnu dot org
2007-06-25  3:03 ` jvdelisle at gcc dot gnu dot org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).