[geos-devel] SIGABRT in GEOS using the C-API
strk
strk at keybit.net
Wed Sep 1 03:37:49 EDT 2010
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
More information about the geos-devel
mailing list