[postgis-tickets] [PostGIS] #3659: Crash with MinGW64
PostGIS
trac at osgeo.org
Mon Oct 10 00:24:56 PDT 2016
#3659: Crash with MinGW64
---------------------+---------------------------
Reporter: manaeem | Owner: pramsey
Type: defect | Status: new
Priority: medium | Milestone: PostGIS 2.3.1
Component: postgis | Version: 2.3.x
Keywords: |
---------------------+---------------------------
I am using PostGIS 2.2.3
(http://download.osgeo.org/postgis/source/postgis-2.2.3.tar.gz) with
MinGW64, It is failing with "0xC0000005: Access violation reading location
0x0000000029C6AD70" exception.
{{{
test=# create extension postgis;
CREATE EXTENSION
test=# select * from pg_settings;
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.
}}}
----
{{{
>? values
0x000000000042cf20 {0x0000000028c80af0 "postgis.gdal_enabled_drivers",
0x0000000029b7bee0 "DISABLE_ALL", ...}
[0]: 0x0000000028c80af0 "postgis.gdal_enabled_drivers"
[1]: 0x0000000029b7bee0 "DISABLE_ALL"
[2]: 0x0000000000000000 <NULL>
[3]: 0x00000001405ae0b8 "Customized Options"
[4]: 0x000000006b806221 "Enabled GDAL drivers."
[5]: 0x000000006b806190 "List of enabled GDAL drivers by short name.
To enable/disable all drivers, use 'ENABLE_ALL' or 'DISABLE_ALL' (sets the
GDAL_SKIP config option)."
[6]: 0x000000014048d660 "superuser"
[7]: 0x0000000140551274 "string"
[8]: 0x0000000140492ce8 "default"
[9]: 0x0000000000000000 <NULL>
[10]: 0x0000000000000000 <NULL>
[11]: 0x0000000000000000 <NULL>
[12]: 0x0000000000000000 <NULL>
[13]: 0x00000000008a21a0 ""
[14]: 0x0000000000000000 <NULL>
[15]: 0x0000000000000000 <NULL>
[16]: 0x00000000008a21a0 ""
}}}
Issue seems reproducible in PostGIS version 2.3 and 2.4 as well. backend
process is crashing while processing bootValue define done by PostGIS
extension i.e.
raster/rt_pg/rtpostgis.c
{{{
DefineCustomStringVariable(
"postgis.gdal_enabled_drivers", /* name */
"Enabled GDAL drivers.", /* short_desc */
"List of enabled GDAL drivers by short name. To
enable/disable all drivers, use 'ENABLE_ALL' or 'DISABLE_ALL' (sets the
GDAL_SKIP config option).", /* long_desc */
&gdal_enabled_drivers, /* valueAddr */
boot_postgis_gdal_enabled_drivers, /* bootValue */
PGC_SUSET, /* GucContext context */
0, /* int flags */
#if POSTGIS_PGSQL_VERSION >= 91
NULL, /* GucStringCheckHook check_hook */
#endif
rtpg_assignHookGDALEnabledDrivers, /* GucStringAssignHook
assign_hook */
NULL /* GucShowHook show_hook */
);
}}}
boot_postgis_gdal_enabled_drivers is allocated on CurrentMemoryContext via
palloc() in related extension initialization routine (_PG_init), instead
it is appropriate to utilize TopMemoryContext instead. PFA patch with it,
crash is no more reproducible with it. Thanks.
--
Ticket URL: <https://trac.osgeo.org/postgis/ticket/3659>
PostGIS <http://trac.osgeo.org/postgis/>
The PostGIS Trac is used for bug, enhancement & task tracking, a user and developer wiki, and a view into the subversion code repository of PostGIS project.
More information about the postgis-tickets
mailing list