Opened 16 years ago

Closed 15 years ago

#187 closed defect (fixed)

ST_Buffer crashes on WinXP, PostgreSQL 8.3, PostGIS 1.3.3, GEOS 3.0.0-CAPI-1.4.1

Reported by: noho Owned by: strk
Priority: blocker Milestone: 3.2.0
Component: Build/Install Version: 3.0.0
Severity: Unassigned Keywords:
Cc:

Description

I loaded data with FME from ArcSDE 9.2 to Postgis 1.3.3 ST_IsValid reports some invalid data, so I created a separate table with the invalid geometries. So far so good. If I try to fix the geometries with a 0 meter Buffer, PostGIS Crashes.

create table table_repaired as select farm_id,st_buffer(geom,0) as geom from table

attached are the pg_log and a screenshot of the assertion, the wkb_geom is too big to upload as an attachment. (1.1MB zipped)

I am using PostgreSQL 8.3 on WinXP and Postgis 1.3.3 from stackbuilder: "POSTGIS="1.3.3" GEOS="3.0.0-CAPI-1.4.1" PROJ="Rel. 4.6.0, 21 Dec 2007" USE_STATS"

I do not experience the assertion on WinXP, PostgreSQL 8.2.3, Postgis 1.3.2 "POSTGIS="1.3.2" GEOS="3.0.0rc4-CAPI-1.3.3" PROJ="Rel. 4.5.0, 22 Oct 2006" USE_STATS"

Attachments (2)

Ticket_186.zip (12.1 KB ) - added by noho 16 years ago.
test3.sql.bz2 (185.3 KB ) - added by gudujarlson 16 years ago.

Download all attachments as: .zip

Change History (10)

by noho, 16 years ago

Attachment: Ticket_186.zip added

comment:1 by gudujarlson, 16 years ago

I have run into this bug myself with the same configuration. If I change the tolerance to 0.5, I do not experience the assertion failure, however the postgres.exe process consumes RAM until my machine begins to thrash and I have to reboot it. My machine has 3 GB of RAM.

comment:2 by gudujarlson, 16 years ago

Is there a work-around for this problem? It is a showstopper for me at the moment.

by gudujarlson, 16 years ago

Attachment: test3.sql.bz2 added

comment:3 by gudujarlson, 16 years ago

I have attached a dump file that contains a geometry that also exhibits this behavior. To crash PostGIS 1.3.3 run the following after loading the data:

select buffer(the_geom,0) from test3

comment:4 by pramsey, 15 years ago

Milestone: 3.2.0
Version: 3.0.0

comment:5 by HakTom, 15 years ago

Priority: majorblocker

if have the same problem here on debian lenny with Postgres 8.1, POSTGIS="1.3.5" GEOS="3.0.0-CAPI-1.4.1", same effect as gudujarlson.

postgres crashes with the same message as bug #219 reported, so this seems to be a duplicate.

is there any known workarround, because this is a critical one.

comment:6 by HakTom, 15 years ago

cleaning my Polygons with cleanPolygon ( see http://postgis.refractions.net/support/wiki/index.php?CleanPolygons ) circumvented the problem.

comment:7 by strk, 15 years ago

Owner: set to strk
Status: newassigned

Still happening as of r2492 (later then 3.1.0). I'm on it.

comment:8 by strk, 15 years ago

Resolution: fixed
Status: assignedclosed

I take it back, was confused by wrong linking. The crash is indeed fixed. Only, when you attempt to buffer the source (which is invalid) the buffer operation keeps failing and reducing precision till it succeeds with a precision of 1/10 unit, which is pretty useless as a result (bounding box of the input has an area of 3 units..).

Anyway, crash fixed, so this bug is closed.

Note: See TracTickets for help on using tickets.