Package: libgeos-3.1.0 Version: 3.1.0-1 Severity: normal
When doing 0-distance buffer on the geometry in script "test2.py", GEOS prints a message stderr and causes the process to exit with code 134. Test script "test2.py": from shapely import wkt mp = wkt.loads('MULTIPOLYGON (((3375988.599 6680548.657, 3375856.477 6680761.861, 3376067.385 6680748.959, 3375988.599 6680548.657), (3375921.642 6680736.744, 3375920.948 6680725.834, 3376044.612 6680717.931, 3375921.642 6680736.744)), ((3376292.713 6680820.212, 3376320.365 6680785.36, 3376043.927 6680525.464, 3376292.713 6680820.212)))') mp.buffer(0) Running the script requires package python-shapely. Run as follows: % python test.py Expected result: MULTIPOLYGON (((3376292.7129999999888241 6680820.2120000002905726, 3376320.3650000002235174 6680785.3600000003352761, 3376043.9270000001415610 6680525.4639999996870756, 3376292.7129999999888241 6680820.2120000002905726)), ((3375988.5989999999292195 6680548.6569999996572733, 3375856.4769999999552965 6680761.8609999995678663, 3376067.3849999997764826 6680748.9589999997988343, 3375988.5989999999292195 6680548.6569999996572733), (3375921.6419999999925494 6680736.7439999999478459, 3375920.9479999998584390 6680725.8339999997988343, 3376044.6120000001974404 6680717.9309999998658895, 3375921.6419999999925494 6680736.7439999999478459))) printed on stdout Actual result: bufferOriginalPrecision failed (TopologyException: unable to assign hole to a shell), trying with reduced precision recomputing with precision scale factor = 1e+09 Scaler: offsetX,Y: 0,0 scaleFactor: 1e+09 ReScaler: offsetX,Y: 0,0 scaleFactor: 1e+09 recomputing with precision scale factor = 1e+08 Scaler: offsetX,Y: 0,0 scaleFactor: 1e+08 ReScaler: offsetX,Y: 0,0 scaleFactor: 1e+08 recomputing with precision scale factor = 1e+07 Scaler: offsetX,Y: 0,0 scaleFactor: 1e+07 ReScaler: offsetX,Y: 0,0 scaleFactor: 1e+07 recomputing with precision scale factor = 1e+06 Scaler: offsetX,Y: 0,0 scaleFactor: 1e+06 ReScaler: offsetX,Y: 0,0 scaleFactor: 1e+06 recomputing with precision scale factor = 100000 Scaler: offsetX,Y: 0,0 scaleFactor: 100000 ReScaler: offsetX,Y: 0,0 scaleFactor: 100000 recomputing with precision scale factor = 10000 Scaler: offsetX,Y: 0,0 scaleFactor: 10000 ReScaler: offsetX,Y: 0,0 scaleFactor: 10000 recomputing with precision scale factor = 1000 Scaler: offsetX,Y: 0,0 scaleFactor: 1000 ReScaler: offsetX,Y: 0,0 scaleFactor: 1000 recomputing with precision scale factor = 100 Scaler: offsetX,Y: 0,0 scaleFactor: 100 ReScaler: offsetX,Y: 0,0 scaleFactor: 100 recomputing with precision scale factor = 10 Scaler: offsetX,Y: 0,0 scaleFactor: 10 ReScaler: offsetX,Y: 0,0 scaleFactor: 10 recomputing with precision scale factor = 1 recomputing with precision scale factor = 0.1 Scaler: offsetX,Y: 0,0 scaleFactor: 0.1 ReScaler: offsetX,Y: 0,0 scaleFactor: 0.1 recomputing with precision scale factor = 0.01 Scaler: offsetX,Y: 0,0 scaleFactor: 0.01 ReScaler: offsetX,Y: 0,0 scaleFactor: 0.01 recomputing with precision scale factor = 0.001 Scaler: offsetX,Y: 0,0 scaleFactor: 0.001 python: ../../source/headers/geos/noding/SegmentString.h:175: void geos::noding::SegmentString::testInvariant() const: Assertion `pts->size() > 1' failed. zsh: abort python test2.py printed on stderr The same problem can be reproduced using other software that uses GEOS as well, e.g. postgresql-8.3-postgis and the operation: SELECT ST_BUFFER(ST_GEOMFROMTEXT('MULTIPOLYGON (((3375988.599 6680548.657, 3375856.477 6680761.861, 3376067.385 6680748.959, 3375988.599 6680548.657), (3375921.642 6680736.744, 3375920.948 6680725.834, 3376044.612 6680717.931, 3375921.642 6680736.744)), ((3376292.713 6680820.212, 3376320.365 6680785.36, 3376043.927 6680525.464, 3376292.713 6680820.212)))'), 0); The problem has been fixed in upstream GEOS release 3.1.1. -- System Information: Debian Release: squeeze/sid APT prefers testing APT policy: (500, 'testing') Architecture: i386 (i686) Kernel: Linux 2.6.28.7pryan (SMP w/2 CPU cores) Locale: LANG=en_US, lc_ctype=fi...@euro (charmap=ISO-8859-15) Shell: /bin/sh linked to /bin/bash Versions of packages libgeos-3.1.0 depends on: ii libc6 2.9-4 GNU C Library: Shared libraries ii libgcc1 1:4.3.3-3 GCC support library ii libstdc++6 4.3.3-3 The GNU Standard C++ Library v3 libgeos-3.1.0 recommends no packages. libgeos-3.1.0 suggests no packages. -- debconf-show failed -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org