x86 Testsuite Failures

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

x86 Testsuite Failures

Greg Schafer
Hi

This report is for x86 running under a 2.6.21 kernel on AMD Athlon 64 X2
4200+ hardware.

Compiling Glibc-2.6 release with GCC-4.2 and HJL Binutils-2.17.50.0.16 I'm
seeing testsuite failures which seem to depend upon the -march switch and/or
-O optimization level as follows:


CFLAGS="-O2 -march=i486" - clean


CFLAGS="-O2 -march=i686" - 1 failure i.e.

make[2]: *** [/home/pkgmgr/glibc-build/math/test-double.out] Error 1

which looks like:

testing double (without inline functions)
Failure: Real part of: cacos (inf + inf i) == pi/4 - inf i: Exception "Invalid operation" set
Failure: Real part of: cacosh (-inf - inf i) == inf - 3/4 pi i: Exception "Invalid operation" set
Failure: Real part of: cacosh (inf - inf i) == inf - pi/4 i: Exception "Invalid operation" set
Failure: Real part of: cacosh (-10.0 - inf i) == inf - pi/2 i: Exception "Invalid operation" set
Failure: Real part of: casin (0 - inf i) == 0.0 - inf i: Exception "Invalid operation" set
Failure: Real part of: casinh (0 - inf i) == inf - pi/2 i: Exception "Invalid operation" set
Failure: Real part of: catan (inf - 10.0 i) == pi/2 - 0 i: Exception "Invalid operation" set
Failure: Real part of: catanh (-10.0 + inf i) == -0 + pi/2 i: Exception "Invalid operation" set
Failure: Real part of: clog10 (-0 + 0 i) == -inf + pi i plus division by zero exception: Exception "Invalid operation" set
Failure: Real part of: clog (inf - inf i) == inf - pi/4 i: Exception "Invalid operation" set


Pumping up the optimization results in 2 additional failures:

CFLAGS="-O3 -march=i486" - 2 failures i.e.

make[2]: *** [/home/pkgmgr/glibc-build/math/test-ildoubl.out] Error 1
make[2]: *** [/home/pkgmgr/glibc-build/math/test-ldouble.out] Error 1

which both look similar to this:

testing long double (inline functions)
Failure: Test: j0 (10.0) == -0.245935764451348335197760862485328754
Result:
 is:         -2.45935764451348335183e-01  -0xf.bd695c4f0f29c1800000p-6
 should be:  -2.45935764451348335197e-01  -0xf.bd695c4f0f29c1900000p-6
 difference:  1.35525271560688054251e-20   0x8.00000000000000000000p-69
 ulp       :  1.0000
 max.ulp   :  0.0000
Failure: Test: jn (0, 10.0) == -0.245935764451348335197760862485328754
Result:
 is:         -2.45935764451348335183e-01  -0xf.bd695c4f0f29c1800000p-6
 should be:  -2.45935764451348335197e-01  -0xf.bd695c4f0f29c1900000p-6
 difference:  1.35525271560688054251e-20   0x8.00000000000000000000p-69
 ulp       :  1.0000
 max.ulp   :  0.0000



I'm also seeing intermittent failures in 2 other tests:

make[2]: *** [/temptools/src/glibc-build/posix/tst-vfork3.out] Error 1

script 1
script 1
script 1
script 1
script 1
script 2
script 2
script 2
script 2
script 2
script 3
script 3
script 3
script 3
script 3
echo failed with status 512

make[2]: *** [/temptools/src/glibc-build/rt/tst-cpuclock2.out] Error 1

live thread clock ffffa08e resolution 0.000000001
live thread before sleep => 0.000000000
self thread before sleep => 0.004000000
live thread after sleep => 0.500000000
self thread after sleep => 0.004000000
clock_nanosleep on process slept 96000000 (outside reasonable range)



Maybe the math failures are GCC bugs? Dunno. The 2 intermittent failures
might be kernel bugs, not sure. Anyhow, just thought I'd post my results
FYI. Unless I'm mistaken, I note that Fedora rawhide hasn't yet upgraded to
GCC-4.2 so it's possible Jakub is yet to see some of these failures.

Regards
Greg
Reply | Threaded
Open this post in threaded view
|

Re: x86 Testsuite Failures

Carlos O'Donell-2
On 5/20/07, Greg Schafer <[hidden email]> wrote:
> Compiling Glibc-2.6 release with GCC-4.2 and HJL Binutils-2.17.50.0.16 I'm
> seeing testsuite failures which seem to depend upon the -march switch and/or
> -O optimization level as follows:
>
> Maybe the math failures are GCC bugs? Dunno. The 2 intermittent failures
> might be kernel bugs, not sure. Anyhow, just thought I'd post my results
> FYI. Unless I'm mistaken, I note that Fedora rawhide hasn't yet upgraded to
> GCC-4.2 so it's possible Jakub is yet to see some of these failures.

Please file bugs against gcc, and glibc.
http://gcc.gnu.org/bugzilla/
http://sources.redhat.com/bugzilla/enter_bug.cgi?product=glibc

Bug Writing Help:
http://sources.redhat.com/bugzilla/bugwritinghelp.html
http://gcc.gnu.org/bugs.html

Thanks!

Cheers,
Carlos.
Reply | Threaded
Open this post in threaded view
|

[PATCH] Re: x86 Testsuite Failures

Greg Schafer
In reply to this post by Greg Schafer
On Sun, May 20, 2007 at 06:57:11PM +1000, Greg Schafer wrote:

> make[2]: *** [/home/pkgmgr/glibc-build/math/test-ildoubl.out] Error 1
> make[2]: *** [/home/pkgmgr/glibc-build/math/test-ldouble.out] Error 1

Attached patch mirrors past practice for this kind of thing and makes the
above go away. Now with CFLAGS="-O3 -march=i686" I'm down to:

make[2]: *** [/home/pkgmgr/glibc-build/math/test-double.out] Error 1

testing double (without inline functions)
Failure: Real part of: cacos (-10.0 + inf i) == pi/2 - inf i: Exception "Invalid operation" set
Failure: Real part of: cacosh (inf - inf i) == inf - pi/4 i: Exception "Invalid operation" set
Failure: Real part of: cacosh (-10.0 - inf i) == inf - pi/2 i: Exception "Invalid operation" set
Failure: Real part of: cacosh (0 + inf i) == inf + pi/2 i: Exception "Invalid operation" set

Regards
Greg

libm-test-ulps.patch (602 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: [PATCH] Re: x86 Testsuite Failures

Greg Schafer
On Mon, May 21, 2007 at 09:03:53AM +1000, Greg Schafer wrote:

> Now with CFLAGS="-O3 -march=i686" I'm down to:
>
> make[2]: *** [/home/pkgmgr/glibc-build/math/test-double.out] Error 1

Interestingly, the above test now passes when I use "-O3 -march=native".
"native" is equivalent to "k8" on this box.
Reply | Threaded
Open this post in threaded view
|

Re: x86 Testsuite Failures

Greg Schafer
In reply to this post by Greg Schafer
On Sun, May 20, 2007 at 06:57:11PM +1000, Greg Schafer wrote:

> I'm also seeing intermittent failures in 2 other tests:
>
> make[2]: *** [/temptools/src/glibc-build/posix/tst-vfork3.out] Error 1

<...>

> script 3
> echo failed with status 512

Please ignore this one. It was pilot error. Sorry for the noise.