This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug c++/50388] New: Segmentation fault


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

             Bug #: 50388
           Summary: Segmentation fault
    Classification: Unclassified
           Product: gcc
           Version: 4.5.3
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: pipping@exherbo.org


Created attachment 25263
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=25263
Original dump (xz-compressed)

I'm attaching a preprocessor dump of C++ code that manages to make g++ segfault
for me.

This happens with g++ 4.5.3 but not with 4.4.6 or 4.6.1.

The original dump is contained in the file test-edges0-memGKN.ii.

% g++ -c test-edges0-memGKN.ii 
In file included from
/home/cocktail/pipping/dune-git-svn/dune-grid/dune/grid/common/genericreferenceelements.hh:10:0,
                 from
/home/cocktail/pipping/dune-git-svn/dune-grid/dune/grid/common/geometry.hh:13,
                 from
/home/cocktail/pipping/dune-git-svn/dune-grid/dune/grid/genericgeometry/geometry.hh:10,
                 from
/home/cocktail/pipping/dune-git-svn/dune-grid/dune/grid/utility/mockgeometry.hh:12,
                 from
/home/cocktail/pipping/dune-git-svn/dune-localfunctions/dune/localfunctions/test/test-edges0.5.cc:17,
                 from
/home/cocktail/pipping/dune-git-svn/dune-localfunctions/dune/localfunctions/test/test-edges0.5.cc:1:
/home/cocktail/pipping/dune-git-svn/dune-grid/dune/grid/genericgeometry/subtopologies.hh:
In instantiation of
âDune::GenericGeometry::SizeImpl<Dune::GenericGeometry::Pyramid<Dune::GenericGeometry::Point>,
1u, 0u>â:
/home/cocktail/pipping/dune-git-svn/dune-grid/dune/grid/genericgeometry/subtopologies.hh:130:7:
  instantiated from
âDune::GenericGeometry::Size<Dune::GenericGeometry::Pyramid<Dune::GenericGeometry::Point>,
0u>â
/home/cocktail/pipping/dune-git-svn/dune-grid/dune/grid/genericgeometry/subtopologies.hh:97:7:
  instantiated from
âDune::GenericGeometry::SizeImpl<Dune::GenericGeometry::Pyramid<Dune::GenericGeometry::Pyramid<Dune::GenericGeometry::Point>
>, 2u, 1u>â
/home/cocktail/pipping/dune-git-svn/dune-grid/dune/grid/genericgeometry/subtopologies.hh:130:7:
  instantiated from
âDune::GenericGeometry::Size<Dune::GenericGeometry::Pyramid<Dune::GenericGeometry::Pyramid<Dune::GenericGeometry::Point>
>, 1u>â
/home/cocktail/pipping/dune-git-svn/dune-grid/dune/grid/genericgeometry/referencedomain.hh:138:67:
  instantiated from âconst unsigned int
Dune::GenericGeometry::ReferenceDomainBase<Dune::GenericGeometry::Pyramid<Dune::GenericGeometry::Pyramid<Dune::GenericGeometry::Point>
> >::numNormalsâ
/home/cocktail/pipping/dune-git-svn/dune-grid/dune/grid/genericgeometry/referencedomain.hh:235:44:
  instantiated from âconst unsigned int
Dune::GenericGeometry::ReferenceDomain<Dune::GenericGeometry::Pyramid<Dune::GenericGeometry::Pyramid<Dune::GenericGeometry::Point>
> >::numNormalsâ
/home/cocktail/pipping/dune-git-svn/dune-grid/dune/grid/common/genericreferenceelements.hh:354:7:
  [ skipping 3 instantiation contexts ]
/home/cocktail/pipping/dune-git-svn/dune-grid/dune/grid/common/genericreferenceelements.hh:620:7:
  instantiated from âDune::GenericReferenceElementContainer<ctype,
dim>::GenericReferenceElementContainer() [with ctype = double, int dim = 2]â
/home/cocktail/pipping/dune-git-svn/dune-grid/dune/grid/common/genericreferenceelements.hh:603:47:
  instantiated from âstatic const Dune::GenericReferenceElementContainer<ctype,
dim>& Dune::GenericReferenceElementContainer<ctype, dim>::instance() [with
ctype = double, int dim = 2, Dune::GenericReferenceElementContainer<ctype, dim>
= Dune::GenericReferenceElementContainer<double, 2>]â
/home/cocktail/pipping/dune-git-svn/dune-grid/dune/grid/common/genericreferenceelements.hh:645:79:
  instantiated from âstatic const Dune::GenericReferenceElement<ctype, dim>&
Dune::GenericReferenceElements<ctype, dim>::general(const Dune::GeometryType&)
[with ctype = double, int dim = 2]â
/home/cocktail/pipping/dune-git-svn/dune-grid/dune/grid/utility/vertexorder.hh:100:36:
  instantiated from âDune::GeneralVertexOrder<dim,
Index_>::GeneralVertexOrder(const Dune::GeometryType&, const InIterator&, const
InIterator&) [with InIterator = long unsigned int*, long unsigned int dim =
2ul, Index_ = long unsigned int]â
/home/cocktail/pipping/dune-git-svn/dune-localfunctions/dune/localfunctions/test/test-edges0.5.cc:47:40:
  instantiated from âvoid testEdgeS0_5(int&) [with long unsigned int dim =
2ul]â
/home/cocktail/pipping/dune-git-svn/dune-localfunctions/dune/localfunctions/test/test-edges0.5.cc:62:27:
  instantiated from here
/home/cocktail/pipping/dune-git-svn/dune-grid/dune/grid/genericgeometry/subtopologies.hh:108:110:
internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.
% 

Delta allowed me to reduce the size of the input from 2.1M to 20K but not
further.

The name of the reduced file is test-edges0-memGKN-segfault-bcpp.ii.

% g++ -c test-edges0-memGKN-segfault-bcpp.ii 
test-edges0-memGKN-segfault-bcpp.ii:150:36: warning: variadic templates only
available with -std=c++0x or -std=gnu++0x
test-edges0-memGKN-segfault-bcpp.ii:154:52: warning: variadic templates only
available with -std=c++0x or -std=gnu++0x
test-edges0-memGKN-segfault-bcpp.ii:158:26: warning: variadic templates only
available with -std=c++0x or -std=gnu++0x
test-edges0-memGKN-segfault-bcpp.ii: In instantiation of
âDune::GenericGeometry::SizeImpl<Dune::GenericGeometry::Prism<Dune::GenericGeometry::Prism<Dune::GenericGeometry::Point>
>, 2u, 0u>â:
test-edges0-memGKN-segfault-bcpp.ii:197:13:   instantiated from
âDune::GenericGeometry::Size<Dune::GenericGeometry::Prism<Dune::GenericGeometry::Prism<Dune::GenericGeometry::Point>
>, 0u>â
test-edges0-memGKN-segfault-bcpp.ii:210:13:   instantiated from
âDune::GenericGeometry::ReferenceElement<Dune::GenericGeometry::Prism<Dune::GenericGeometry::Prism<Dune::GenericGeometry::Point>
>, double>::BaryCenterArray<0>â
test-edges0-memGKN-segfault-bcpp.ii:156:19:   instantiated from
âstd::tr1::_Tuple_impl<0,
Dune::GenericGeometry::ReferenceElement<Dune::GenericGeometry::Prism<Dune::GenericGeometry::Prism<Dune::GenericGeometry::Point>
>, double>::BaryCenterArray<0> >â
test-edges0-memGKN-segfault-bcpp.ii:159:9:   instantiated from
âstd::tr1::tuple<Dune::GenericGeometry::ReferenceElement<Dune::GenericGeometry::Prism<Dune::GenericGeometry::Prism<Dune::GenericGeometry::Point>
>, double>::BaryCenterArray<0> >â
test-edges0-memGKN-segfault-bcpp.ii:177:26:   instantiated from
âDune::GenericGeometry::CodimTable<Dune::GenericGeometry::ReferenceElement<Dune::GenericGeometry::Prism<Dune::GenericGeometry::Prism<Dune::GenericGeometry::Point>
>, double>::BaryCenterArray, 0>â
test-edges0-memGKN-segfault-bcpp.ii:176:137:   [ skipping 11 instantiation
contexts ]
test-edges0-memGKN-segfault-bcpp.ii:390:79:   instantiated from âstatic
Dune::GenericGeometry::MappingProvider<Dune::GenericGeometry::HybridMapping<dim,
GeometryTraits>, codim>::Mapping*
Dune::GenericGeometry::MappingProvider<Dune::GenericGeometry::HybridMapping<dim,
GeometryTraits>, codim>::construct(unsigned int, const CoordVector&, char*)
[with CoordVector = std::vector<Dune::FieldVector<double, 2>,
std::allocator<Dune::FieldVector<double, 2> > >, unsigned int dim = 2u,
GeometryTraits = Dune::GenericGeometry::DefaultGeometryTraits<double, 2, 2,
false>, unsigned int codim = 0u,
Dune::GenericGeometry::MappingProvider<Dune::GenericGeometry::HybridMapping<dim,
GeometryTraits>, codim>::Mapping = Dune::GenericGeometry::HybridMapping<2u,
Dune::GenericGeometry::DefaultGeometryTraits<double, 2, 2, false> >]â
test-edges0-memGKN-segfault-bcpp.ii:410:17:   instantiated from
âDune::GenericGeometry::BasicGeometry<mydim, Traits>::BasicGeometry(const
Dune::GeometryType&, const CoordVector&) [with CoordVector =
std::vector<Dune::FieldVector<double, 2>,
std::allocator<Dune::FieldVector<double, 2> > >, int mydim = 2, Traits =
Dune::GenericGeometry::DefaultGeometryTraits<double, 2, 2, false>]â
test-edges0-memGKN-segfault-bcpp.ii:421:132:   instantiated from
âDune::MockGeometry<ctype, mydim, coorddim>::MockGeometry(const
Dune::GeometryType&, const CoordVector&) [with CoordVector =
std::vector<Dune::FieldVector<double, 2>,
std::allocator<Dune::FieldVector<double, 2> > >, ctype = double, long unsigned
int mydim = 2ul, long unsigned int coorddim = 2ul]â
test-edges0-memGKN-segfault-bcpp.ii:437:9:   instantiated from
âTestGeometries<ctype, 2ul>::TestGeometries() [with ctype = double]â
test-edges0-memGKN-segfault-bcpp.ii:443:27:   instantiated from âvoid
testEdgeS0_5(int&) [with long unsigned int dim = 2ul]â
test-edges0-memGKN-segfault-bcpp.ii:452:31:   instantiated from here
test-edges0-memGKN-segfault-bcpp.ii:193:116: internal compiler error:
Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.
%


% uname -a
Linux bogus 3.0.3 #1 SMP Fri Aug 19 13:50:54 CEST 2011 x86_64 GNU/Linux
% g++ -dumpmachine
x86_64-pc-linux-gnu
%


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]