Ticket #494 (closed defect: fixed)
[wktraster] ST_DumpAsPolygons crashes under MingW compiled wktraster (gdal)
| Reported by: | robe | Owned by: | pracine |
|---|---|---|---|
| Priority: | medium | Milestone: | WKTRaster 0.1.6 |
| Component: | raster | Version: | trunk |
| Keywords: | Cc: |
Description
I got wktraster to compile under mingW with the GDAL extensions.
I documented the process at http://trac.osgeo.org/postgis/wiki/WKTRaster/Documentation01#a2.3-CompilingandInstallingfromSources
Unfortunately the testapi.exe crashes with errors like
The thread 'Win32 Thread' (0x10b0) has exited with code 0 (0x0). Unhandled exception at 0x77c46fa3 in testapi.exe: 0xC0000005: Access violation reading location 0x00000003. First-chance exception at 0x77c46fa3 in testapi.exe: 0xC0000005: Access violation reading location 0x00000003. Unhandled exception at 0x77c46fa3 in testapi.exe: 0xC0000005: Access violation reading location 0x00000003. First-chance exception at 0x77c46fa3 in testapi.exe: 0xC0000005: Access violation reading location 0x00000003. Unhandled exception at 0x77c46fa3 in testapi.exe: 0xC0000005: Access violation reading location 0x00000003. First-chance exception at 0x77c46fa3 in testapi.exe: 0xC0000005: Access violation reading location 0x00000003. Unhandled exception at 0x77c46fa3 in testapi.exe: 0xC0000005: Access violation reading location 0x00000003. First-chance exception at 0x77c46fa3 in testapi.exe: 0xC0000005: Access violation reading location 0x00000003. Unhandled exception at 0x77c46fa3 in testapi.exe: 0xC0000005: Access violation reading location 0x00000003.
and if I install and run the following -- crashes Postgres backend
CREATE TABLE dummy_rast(rid integer, rast raster);
INSERT INTO dummy_rast(rid, rast)
VALUES
-- Raster: 5 x 5 pixels, 3 bands, PT_8BUI pixel type, NODATA = 0
(2, ('01000003009A9999999999A93F9A9999999999A9BF000000E02B274A' ||
'41000000007719564100000000000000000000000000000000FFFFFFFF050005000400FDFEFDFEFEFDFEFEFDF9FAFEF' ||
'EFCF9FBFDFEFEFDFCFAFEFEFE04004E627AADD16076B4F9FE6370A9F5FE59637AB0E54F58617087040046566487A1506CA2E3FA5A6CAFFBFE4D566DA4CB3E454C5665')::raster);
SELECT ST_DumpAsPolygons(rast)
FROM dummy_rast where rid=2;
It crashes the Postgres backend. I'm guessing it might have the same issue we had with libxml #273 and as a workaround we statically compiled in libxml for windows. Its not a great solution but it worked.
I'm not quite sure how to statically compile libgdal in though. I tried --enable-static but that hasn't worked. Will fiddle with it a bit more.
Jorge -- can you verify the above example is suppoed to work. You said ST_AsDumpPolygons isn't quite ready yet so wasn't sure if maybe it crashes on Linux too.
Also I didn't see an ST_Polygon functions when I enabled gdal. Thought that was supposed to be there.
