[geos-devel] SIGABRT in GEOS using the C-API
alex.trofast at ingres.com
Wed Sep 22 08:12:39 EDT 2010
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?
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
> Indeed GeometryComponentFilter::filter_ro and ::filter_rw could
> be made pure abstract methods.
> () Free GIS& Flash consultant/developer
> /\ http://strk.keybit.net/services.html
> geos-devel mailing list
> geos-devel at lists.osgeo.org
More information about the geos-devel