sage-2.8.14 build report

2 views
Skip to first unread message

Kate Minola

unread,
Nov 28, 2007, 2:32:06 PM11/28/07
to sage-s...@googlegroups.com
William,

Using gcc-4.2.2, sage-2.8.14 builds and passes all tests on my
x86-Linux (pentium4-fc6) box.

***
On ia64-Linux, it fails to build with an Internal Compiler Error
when compiling flint-0.9-r1075.p1/ZmodF_mul.c; specifically
the compile line is

gcc -std=c99 -I/home/kate/sage/sage-2.8.14-ia64-Linux/local/include/
-I/home/kate/sage/sage-2.8.14-ia64-Linux/local/include
-I/home/kate/sage/sage-2.8.14-ia64-Linux/local/include -funroll-loops
-fexpensive-optimizations -fPIC -O3 -c ZmodF_mul.c -o ZmodF_mul.o

I isolated and reported the problem to the gcc folks (bug # 34266),
the problem goes
away if either -funroll-loops is removed, or if optimization is
reduced from level 3 to level 2.
The bug has been fixed in gcc-4.3-20071123.

Unfortunately trying to build sage-2.8.14 with gcc-4.3-20071123 fails
in cremona-20071124.p2.

***
On x86_64-Linux (again Fedora Core 6), the following test fails:

sage -t devel/sage-main/sage/rings/real_rqdf.pyx
**********************************************************************
File "real_rqdf.pyx", line 12:
sage: RQDF( 123.2) + RR (1.0)
Expected:
124.200000000000
Got:
NaN
**********************************************************************
File "real_rqdf.pyx", line 14:
sage: RQDF( 12.2) + RDF (0.56)
Expected:
12.76
Got:
nan
**********************************************************************
File "real_rqdf.pyx", line 16:
sage: RQDF( 12.2) + (9)
Expected:
21.19999999999999928945726423989981412887573242187500000000000000
Got:
NaN
*******************************************************
File "real_rqdf.pyx", line 18:
sage: RQDF( 12.2) + (9/3)
Expected:
15.19999999999999928945726423989981412887573242187500000000000000
Got:
NaN
**********************************************************************
File "real_rqdf.pyx", line 24:
sage: RQDF( 123.2) * RR (.543)
Expected:
66.89760000000000624851281827432114309792736749325567465385058291
Got:
NaN
**********************************************************************
File "real_rqdf.pyx", line 32:
sage: RQDF(a)
Expected:
0.868588963806503655302257837833210164588794011607333132228907565
Got:
NaN
**********************************************************************
File "real_rqdf.pyx", line 461:
sage: RQDF(RR(1091.34342))
Expected:
1091.343419999999923675204627215862274169921875000000000000000000
Got:
NaN
**********************************************************************
File "real_rqdf.pyx", line 650:
sage: RQDF(10.1)/RQDF(0)
Expected:
inf
Got:
NaN
**********************************************************************
File "real_rqdf.pyx", line 874:
sage: RQDF(0.49).round()
Expected:
0.000000000000000000000000000000000000000000000000000000000000000
Got:
NaN
**********************************************************************
File "real_rqdf.pyx", line 876:
sage: RQDF(0.51).round()
Expected:
1.000000000000000000000000000000000000000000000000000000000000000
Got:
NaN
**********************************************************************
File "real_rqdf.pyx", line 902:
sage: RQDF(2.99).floor()
Expected:
2
Got:
0
**********************************************************************
File "real_rqdf.pyx", line 904:
sage: RQDF(2.00).floor()
Expected:
2
Got:
0
**********************************************************************
File "real_rqdf.pyx", line 922:
sage: RQDF(2.99).ceil()
Expected:
3
Got:
0**********************************************************************
File "real_rqdf.pyx", line 924:
sage: RQDF(2.00).ceil()
Expected:
2
Got:
0
**********************************************************************
File "real_rqdf.pyx", line 952:
sage: RQDF(2.99).trunc()
Expected:
2.000000000000000000000000000000000000000000000000000000000000000
Got:
0.000000000000000000000000000000000000000000000000000000000000000
**********************************************************************
File "real_rqdf.pyx", line 954:
sage: RQDF(-2.00).trunc()
Expected:
-2.000000000000000000000000000000000000000000000000000000000000000
Got:
0.000000000000000000000000000000000000000000000000000000000000000
**********************************************************************
File "real_rqdf.pyx", line 971:
sage: RQDF(2.50).frac()
Expected:
0.500000000000000000000000000000000000000000000000000000000000000
Got:
NaN
**********************************************************************
File "real_rqdf.pyx", line 1007:
sage: n._rpy_()
Expected:
2.0
Got:
nan
**********************************************************************
File "real_rqdf.pyx", line 1299:
sage: r = RQDF(125.0); r.cube_root()
Expected:
5.000000000000000000000000000000000000000000000000000000000000000
Got:
NaN
**********************************************************************
File "real_rqdf.pyx", line 1313:
sage: r = RQDF(125.0); r.nth_root(3)
Expected: 5.000000000000000000000000000000000000000000000000000000000000000
Got:
NaN
**********************************************************************
File "real_rqdf.pyx", line 1315:
sage: r.nth_root(5)
Expected:
2.626527804403767236455131266496479582115662802810898530034436330
Got:
NaN
**********************************************************************

Kate
--
Kate Minola
University of Maryland, College Park

mabshoff

unread,
Nov 28, 2007, 2:44:51 PM11/28/07
to sage-support


On Nov 28, 8:32 pm, "Kate Minola" <kate01...@gmail.com> wrote:
> William,

Hello Kate,

>
> Using gcc-4.2.2, sage-2.8.14 builds and passes all tests on my
> x86-Linux (pentium4-fc6) box.
>
> ***
> On ia64-Linux, it fails to build with an Internal Compiler Error
> when compiling flint-0.9-r1075.p1/ZmodF_mul.c; specifically
> the compile line is
>
> gcc -std=c99 -I/home/kate/sage/sage-2.8.14-ia64-Linux/local/include/
> -I/home/kate/sage/sage-2.8.14-ia64-Linux/local/include
> -I/home/kate/sage/sage-2.8.14-ia64-Linux/local/include -funroll-loops
> -fexpensive-optimizations -fPIC -O3 -c ZmodF_mul.c -o ZmodF_mul.o
>
> I isolated and reported the problem to the gcc folks (bug # 34266),
> the problem goes
> away if either -funroll-loops is removed, or if optimization is
> reduced from level 3 to level 2.
> The bug has been fixed in gcc-4.3-20071123.

We should tell Bill about this to set optimization to -O2 on Itanium.
At least we should do so in the next flint.spkg

>
> Unfortunately trying to build sage-2.8.14 with gcc-4.3-20071123 fails
> in cremona-20071124.p2.

So far gcc 4.3 is unsupported. I did some work in that direction, but
didn't get very far, i.e. LinBox is still a problem and who knows what
is past that.
Odd. What happens if you do "export SAGE_CHECK=yes" and then rebuild
mpfr.spkg? Does the test suite pass?

> Kate

Cheers,

Michael

William Stein

unread,
Nov 28, 2007, 3:00:15 PM11/28/07
to sage-s...@googlegroups.com
On Nov 28, 2007 11:44 AM, mabshoff

RQDF has nothing to do with mpfr. It's the quaddouble*.spkg which is 100%
independent of GMP/MPFR. That said, if you build quaddouble directly and
run its test suite, what happens.

Regarding the flint problem, that was caused by a problem with how the spkg
was configured -- it should have turned off funroll_loops but it
didn't correctly
do so (it used to).

-- William

mabshoff

unread,
Nov 28, 2007, 4:08:30 PM11/28/07
to sage-support


On Nov 28, 9:00 pm, "William Stein" <wst...@gmail.com> wrote:
> On Nov 28, 2007 11:44 AM, mabshoff

<SNIP>

> > Odd. What happens if you do "export SAGE_CHECK=yes" and then rebuild
> > mpfr.spkg? Does the test suite pass?
>
> RQDF has nothing to do with mpfr. It's the quaddouble*.spkg which is 100%
> independent of GMP/MPFR.

Oh well, maybe I should pay attention once in a while.

> That said, if you build quaddouble directly and
> run its test suite, what happens.

I think I nailed down a potential cause:

==26107== Conditional jump or move depends on uninitialised value(s)
==26107== at 0xC4BCC67:
__pyx_f_4sage_5rings_9real_rqdf_17QuadDoubleElement__set(__pyx_obj_4sage_5rings_9real_rqdf_QuadDo
ubleElement*, _object*) (real_rqdf.cpp:2521)
==26107== by 0xC4B6037:
__pyx_pf_4sage_5rings_9real_rqdf_17QuadDoubleElement___init__(_object*,
_object*, _object*) (real
_rqdf.cpp:4282)
==26107== by 0x459220: type_call (typeobject.c:436)
==26107== by 0x415522: PyObject_Call (abstract.c:1860)
==26107== by 0x47C850: PyEval_CallObjectWithKeywords (ceval.c:3433)
==26107== by 0xC4B94F6:
__pyx_pf_4sage_5rings_9real_rqdf_25RealQuadDoubleField_class___call__(_object*,
_object*, _object
*) (real_rqdf.cpp:2919)
==26107== by 0x415522: PyObject_Call (abstract.c:1860)
==26107== by 0x481E91: PyEval_EvalFrameEx (ceval.c:3775)
==26107== by 0x484F3A: PyEval_EvalCodeEx (ceval.c:2831)
==26107== by 0x483CC4: PyEval_EvalFrameEx (ceval.c:494)
==26107== by 0x484F3A: PyEval_EvalCodeEx (ceval.c:2831)
==26107== by 0x48365C: PyEval_EvalFrameEx (ceval.c:3660)


==26107== Invalid read of size 1
==26107== at 0x4A1CA13: strlen (mc_replace_strmem.c:242)
==26107== by 0x44DA4A: PyString_FromString (stringobject.c:108)
==26107== by 0xC4B81B8:
__pyx_pf_4sage_5rings_9real_rqdf_17QuadDoubleElement___str_no_scientific(_object*,
_object*) (rea
l_rqdf.cpp:5315)
==26107== by 0x415522: PyObject_Call (abstract.c:1860)
==26107== by 0x47C850: PyEval_CallObjectWithKeywords (ceval.c:3433)
==26107== by 0xC4BB34A:
__pyx_pf_4sage_5rings_9real_rqdf_17QuadDoubleElement_str(_object*,
_object*) (real_rqdf.cpp:5851)
==26107== by 0x415522: PyObject_Call (abstract.c:1860)
==26107== by 0x47C850: PyEval_CallObjectWithKeywords (ceval.c:3433)
==26107== by 0xC4B595B:
__pyx_pf_4sage_5rings_9real_rqdf_17QuadDoubleElement___repr__(_object*)
(real_rqdf.cpp:5153)
==26107== by 0x442FF9: PyObject_Repr (object.c:361)
==26107== by 0x429B3B: PyFile_WriteObject (fileobject.c:2196)
==26107== by 0x4AC158: sys_displayhook (sysmodule.c:114)

==26107== Invalid read of size 1
==26107== at 0x4A1DA5F: memcpy (mc_replace_strmem.c:402)
==26107== by 0x44DAB2: PyString_FromString (stringobject.c:136)
==26107== by 0xC4B81B8:
__pyx_pf_4sage_5rings_9real_rqdf_17QuadDoubleElement___str_no_scientific(_object*,
_object*) (rea
l_rqdf.cpp:5315)
==26107== by 0x415522: PyObject_Call (abstract.c:1860)
==26107== by 0x47C850: PyEval_CallObjectWithKeywords (ceval.c:3433)
==26107== by 0xC4BB34A:
__pyx_pf_4sage_5rings_9real_rqdf_17QuadDoubleElement_str(_object*,
_object*) (real_rqdf.cpp:5851)
==26107== by 0x415522: PyObject_Call (abstract.c:1860)
==26107== by 0x47C850: PyEval_CallObjectWithKeywords (ceval.c:3433)
==26107== by 0xC4B595B:
__pyx_pf_4sage_5rings_9real_rqdf_17QuadDoubleElement___repr__(_object*)
(real_rqdf.cpp:5153)
==26107== by 0x442FF9: PyObject_Repr (object.c:361)
==26107== by 0x429B3B: PyFile_WriteObject (fileobject.c:2196)
==26107== by 0x4AC158: sys_displayhook (sysmodule.c:114)

Feel free to open a track ticket and send a patch :) - I am hunting a
dozen bugs on my own.

> Regarding the flint problem, that was caused by a problem with how the spkg
> was configured -- it should have turned off funroll_loops but it
> didn't correctly
> do so (it used to).
>

Cool.

> -- William

Cheers,

Michael

mabshoff

unread,
Nov 28, 2007, 4:43:51 PM11/28/07
to sage-support
Ok, #1324 it is.

Cheers,

Michael
Reply all
Reply to author
Forward
0 new messages