Opened 16 years ago

Last modified 16 years ago

#116 closed task (fixed)

Hex string representing POLYGON EMPTY crashes postmaster

Reported by: martijnm Owned by:
Priority: medium Milestone: PostGIS 1.3.6
Component: postgis Version: 1.3.X
Keywords: Cc:

Description

What steps will reproduce the problem?


This will demonstrate the crashing of the postmaster:

gisbase⇒ select astext('010300000000000000'); server closed the connection unexpectedly

This probably means the server terminated abnormally before or while processing the request.

The connection to the server was lost. Attempting reset: Succeeded.

What is the expected output? What do you see instead?


Expected would be a result of 'POLYGON EMPTY'.

What version of the product are you using? On what operating system?


gisbase⇒ select postgis_full_version();

postgis_full_version


POSTGIS='1.3.5' GEOS='3.0.3-CAPI-1.4.2' PROJ='Rel. 4.6.1, 21 August 2008'

on a Sun AMD:

SunOS 5.10 Generic_138889-02 i86pc i386 i86pc

Please provide any additional information below.


Apparently postgis maps empty geometry internally to an empty collection:

gisbase⇒ select geomfromewkt('POLYGON EMPTY');

geomfromewkt


010700000000000000

(1 row)

gisbase⇒ select astext(geomfromewkt('POLYGON EMPTY'));

astext


GEOMETRYCOLLECTION EMPTY

(1 row)

However, if third party software tries to write a hexadecimal representation of an empty polygon ('010300000000000000'). PostGIS will crash the postmaster. This is the case when using FME to load a shapefile to PostGIS for example.

Both a. insert statements and b. copy statements using hexadecimal representation will crash the postmaster. WKT notation goes correct and can thus be used as temporary workaround.

Change History (4)

comment:1 by robe, 16 years ago

Happens on my 1.3.5 install too. Also happens on my 8.3 1.4 so still seems to be an issue.

comment:2 by mcayland, 16 years ago

Confirmed here too - also crashes on trunk.

ATB,

Mark.

comment:3 by pramsey, 16 years ago

Fixed at r3804 on 1.3 and r3803 on trunk.

comment:4 by pramsey, 16 years ago

<i>(No comment was entered for this change.)</i>

Note: See TracTickets for help on using tickets.