[geos-devel] SIGABRT in GEOS using the C-API

Alex Trofast alex.trofast at ingres.com
Wed Sep 22 08:12:39 EDT 2010


  Hi strk

I think you are right, after testing I noticed that GEOS compiles with 
-O2 by default. If you change CFLAGS/CXXFLAGS to be -O1 instead this 
SIGABRT does not seem to happen. Is this a bug that can or should be 
filed with the gcc project?

Thanks!

On 09/01/2010 03:37 AM, strk wrote:
> 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 at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/geos-devel


-- 
Alex
http://bit.ly/geodb



More information about the geos-devel mailing list