Opened 4 years ago

Closed 4 months ago

#25849 closed defect (invalid)

SAGE_CHECK fails checking ppl with gcc 8.

Reported by: gh-ChukwuemezieChristopherAneke Owned by:
Priority: major Milestone: sage-duplicate/invalid/wontfix
Component: build Keywords: fedora 28, SAGE_CHECK
Cc: Merged in:
Authors: Reviewers:
Report Upstream: Fixed upstream, but not in a stable release. Work issues:
Branch: Commit:
Dependencies: Stopgaps:

Status badges

Description (last modified by Jeroen Demeyer)

I set SAGE_CHECK="yes" to run tests on the spkgs and I get the error below when I run make -j5.

Section from end of ppl-1.2.p1.log:

In file included from ../../src/Pointset_Powerset_defs.hh:1454,
                 from ../../src/algorithms.hh:28,
                 from ../../src/ppl_include_files.hh:18,
                 from ../../src/ppl_header.hh:38,
                 from ../../tests/ppl_test.hh:27,
                 from equals1.cc:25:
../../src/Pointset_Powerset_templates.hh: In instantiation of 'Parma_Polyhedra_Library::Pointset_Powerset<PSET>::Pointset_Powerset(const Parma_Polyhedra_Library::Pointset_Powerset<QH>&, Parma_Polyhedra_Library::Complexity_Class) [with QH = Parma_Polyhedra_Library::Box<Parma_Polyhedra_Library::Interval<__gmp_expr<__mpq_struct [1], __mpq_struct [1]>, Parma_Polyhedra_Library::Interval_Info_Bitset<unsigned int, Parma_Polyhedra_Library::Test::Rational_Real_Open_Interval_Info_Policy> > >; PSET = Parma_Polyhedra_Library::NNC_Polyhedron]':
../../src/Pointset_Powerset_inlines.hh:262:43:   required from 'bool Parma_Polyhedra_Library::Pointset_Powerset<PSET>::geometrically_equals(const Parma_Polyhedra_Library::Pointset_Powerset<PSET>&) const [with PSET = Parma_Polyhedra_Library::Box<Parma_Polyhedra_Library::Interval<__gmp_expr<__mpq_struct [1], __mpq_struct [1]>, Parma_Polyhedra_Library::Interval_Info_Bitset<unsigned int, Parma_Polyhedra_Library::Test::Rational_Real_Open_Interval_Info_Policy> > >]'
equals1.cc:44:50:   required from here
../../src/Pointset_Powerset_templates.hh:66:29: internal compiler error: in type_dependent_expression_p, at cp/pt.c:25100
          y_end = y.end(); i != y_end; ++i) {
                           ~~^~~~~~~~
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://bugzilla.redhat.com/bugzilla> for instructions.
Preprocessed source stored into /tmp/ccb8H3zx.out file, please attach this to your bugreport.
make[7]: *** [Makefile:1245: equals1.o] Error 1
************************************************************************
Error testing package ppl-1.2.p1
************************************************************************

Attachments (1)

ppl-1.2.p1.log (447.4 KB) - added by Konrad Dabrowski 4 years ago.

Download all attachments as: .zip

Change History (14)

comment:1 Changed 4 years ago by gh-ChukwuemezieChristopherAneke

Description: modified (diff)

comment:2 Changed 4 years ago by Jeroen Demeyer

"internal compiler error" typically means a broken compiler or a hardware problem. Is the error reproducible, does it happen again if you try again?

Attach the complete log, not just "section from end". That way we can see which compiler you are using.

comment:3 Changed 4 years ago by Jeroen Demeyer

Description: modified (diff)
Summary: SAGE_CHECK fails with Python2 buildSAGE_CHECK fails checking ppl

Changed 4 years ago by Konrad Dabrowski

Attachment: ppl-1.2.p1.log added

comment:4 Changed 4 years ago by Konrad Dabrowski

I'm reproducibly getting the same error on a Debian Sid amd64 system (log attached). (I am using the system gcc & ccache if that makes any difference.)

I guess "internal compiler error" means gcc is crashing. Any help on how to go about debugging this so I can file a proper bug report with gcc upstream would be much appreciated.

I get this error when doing make, but so far I've not managed to figure out what precise gcc command is triggering this and what environmental variables are set. Any suggestions on how to figure this out?

comment:5 Changed 4 years ago by Konrad Dabrowski

Update: if I put all (345) of the needed header files in the working directory, then I can trigger the error with /usr/bin/g++ -I. equals1.cc where equals1.cc is in path_to_sage/local/var/tmp/sage/build/ppl-1.2.p1/src/tests/Powerset.

comment:6 Changed 4 years ago by Konrad Dabrowski

Report Upstream: N/AReported upstream. Developers acknowledge bug.

This is a bug in g++, now reported upstream at https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87770 . It affects version 8.2 (and I think every 8.x version before that), but does not affect version 7.x.

comment:7 Changed 4 years ago by Konrad Dabrowski

Report Upstream: Reported upstream. Developers acknowledge bug.Fixed upstream, but not in a stable release.
Summary: SAGE_CHECK fails checking pplSAGE_CHECK fails checking ppl with gcc 8.

This bug has now been fixed in gcc trunk, so it will not affect gcc 9.0 once that is released.

It's not yet clear to me if the fix will get backported to the gcc-8 branch in time for gcc 8.3, which is likely to be released pretty soon.

comment:8 Changed 4 years ago by Konrad Dabrowski

Update: gcc 8.3 has been released, but does not include this bugfix.

comment:9 Changed 7 months ago by Thierry Monteil

Milestone: sage-8.4sage-duplicate/invalid/wontfix
Status: newneeds_review

This ticket is about a bug in gcc 8, Sage ships gcc 11.3.0, shall we close it ?

comment:10 Changed 7 months ago by Samuel Lelièvre

Status: needs_reviewpositive_review

Yes, good to close.

comment:11 Changed 7 months ago by Samuel Lelièvre

Status: positive_reviewneeds_review

When we install GCC, we install a very recent one, but we still accept older system versions.

We are only removing support for GCC < 6.3 in #33316.

comment:12 in reply to:  11 Changed 7 months ago by Thierry Monteil

Replying to slelievre:

When we install GCC, we install a very recent one, but we still accept older system versions.

We are only removing support for GCC < 6.3 in #33316.

If i understand correctly, the bug is a bug of gcc 8 itself, not of some Sage component or build system. So, if the user uses their own buggy gcc 8, there is nothing we can do.

comment:13 Changed 4 months ago by Frédéric Chapoton

Resolution: invalid
Status: needs_reviewclosed
Note: See TracTickets for help on using tickets.