On Tue, Aug 31, 2010 at 08:26:29PM -0400, Alex Trofast wrote:
> Greetings all, I'm getting a SIGABRT in GEOS, but not on all Linux distros. 
> The following is a partial backtrace from Ingres:

> #2  0x00000030e4a2b7b5 in __assert_fail () from /lib64/libc.so.6
> #3  0x00007fa6f3ea2623 in geos::geom::GeometryComponentFilter::filter_ro 
> (this=<value optimized out>, geom=<value optimized out>) at 
> GeometryComponentFilter.cpp:35
> #4  0x00007fa6f3eab47c in geos::geom::Polygon::apply_ro (this=0x7fa6cc03b0d0, 
> filter=0x7fa6e09ae900) at Polygon.cpp:402
> #5  0x00007fa6f3f038c5 in getLines (this=0x7fa6e09ae9b0) at 
> ../../../include/geos/geom/util/LinearComponentExtracter.h:57

Sounds like a compiler bug.
GeometryComponentFilter::filter_ro is a virtual function.
LinearComponentExtracter is the actual implementation for
this case (see last step in trace).
You would _always_ receive a SIGABRT if
GeometryComponentFilter::filter_ro is entered rather than
LinearComponentExtracter::filter_ro.

Indeed GeometryComponentFilter::filter_ro and ::filter_rw could
be made pure abstract methods.

--strk; 

  ()   Free GIS & Flash consultant/developer
  /\   http://strk.keybit.net/services.html
_______________________________________________
geos-devel mailing list
geos-devel@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/geos-devel

Reply via email to