Opened 16 years ago
Last modified 16 years ago
#80 closed defect (fixed)
ST_Multi seg faults
Reported by: | kneufeld | Owned by: | kneufeld |
---|---|---|---|
Priority: | critical | Milestone: | PostGIS 1.3.6 |
Component: | postgis | Version: | 1.3.X |
Keywords: | Cc: |
Description
What steps will reproduce the problem?
- SELECT ST_Multi('MULTILINESTRING((0 0,1 1))');
What is the expected output? multi
01050000000100000001020000000200000000000000000000000000000000000000000000000000F03F000000000000F03F
(1 row)
What do you see instead? 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: Failed.
What version of the product are you using? On what operating system? PostgreSQL 8.3.5, POSTGIS='1.4.0SVN'
Apparently the same happens for 1.3.4
Change History (7)
comment:1 by , 16 years ago
comment:2 by , 16 years ago
I think I found the smoking gun. Shouldn't lwgeom_contains_subgeoms have a line for MULTILINETYPE? — take a look at lwgeom_dump.c around line 56.
comment:3 by , 16 years ago
Good spot Regina! For some reason, this doesn't segfault on my machine but just returns a slightly wrong answer?! Anyway, the fix looks good.
ATB,
Mark.
comment:4 by , 16 years ago
I tested the patch on 1.3 but I'm still getting my system back to 1.4 so haven't tested the 1.4 patch. If you can confirm the 1.4 patch works, that will be great.
Hmmmm. I get this on 1.4.0SVN (x86_64):
postgis=# SELECT ST_Multi('MULTILINESTRING((0 0,1 1))'); ERROR: Dimensions mismatch in lwcurve
Looks similar to the error message that was reported by William Kyngesburye when trying to clean geometries…
ATB,
Mark.