[Mapguide-trac] [mapguide-trac] #2888: MapGuide Open Source 4.0 segmentation fault in PostgreSQL FDO provider when resolving invalid class or geometry property

MapGuide Open Source trac_mapguide at osgeo.org
Wed Apr 1 03:46:41 PDT 2026


#2888: MapGuide Open Source 4.0 segmentation fault in PostgreSQL FDO provider when
resolving invalid class or geometry property
-----------------------+--------------------
   Reporter:  pd70     |      Owner:  (none)
       Type:  defect   |     Status:  new
   Priority:  high     |  Milestone:
  Component:  Server   |    Version:
   Severity:  blocker  |   Keywords:
External ID:           |
-----------------------+--------------------
 MapGuide Open Source 4.0 crashes (segmentation fault) when rendering a
 layer whose Feature Source references:

 - a non-existing class
 OR
 - an invalid/missing geometry property

 Instead of returning a handled error, the server process (mgserver)
 crashes due to a fault inside the PostgreSQL FDO provider.

 This appears to be a critical stability issue.

 ---

 ## Environment

 - MapGuide Open Source: 4.0
 - OS: Ubuntu (Linux kernel 5.15.x)
 - FDO Provider: PostgreSQL (libPostgreSQLProvider-4.2.0.so)
 - Database: PostgreSQL
 - Web Tier: Apache (standard MapGuide installation)

 ---

 ## Steps to Reproduce

 1. Configure a valid Feature Source (PostgreSQL).
 2. Create a working LayerDefinition referencing a valid class and geometry
 property (e.g. `geom`).
 3. In MapGuide Maestro open the LayerDefinition in XML mode and introduce
 one of the following errors:
    - Reference a non-existing class
    - OR replace the geometry property with a non-existing one (e.g.
 `geom_tmp`)
 4. Save the LayerDefinition.
 5. Add the layer to a MapDefinition.
 6. Open the map via viewer (Fusion / React Layout).

 ---

 ## Observed Behavior

 - MapGuide logs the following error:

 Error: Failed to stylize layer: perimetro_area_sassi
 An exception occurred in FDO component.
 Error occurred in Feature Source
 (Library://matera/Data/geodb.FeatureSource):
 Unable to find class 'shp_perimetro_area_sassi_tmp'

 - Immediately after this:
   - mgserver crashes (segmentation fault)
   - service becomes unavailable
   - requires manual restart

 This indicates that invalid schema references are not safely handled by
 the PostgreSQL FDO provider.

 ---

 ## Expected Behavior

 - MapGuide should return a handled error when class or geometry property
 is invalid
 - The error should be logged without affecting server stability
 - The mgserver process must NOT crash under any circumstance

 Invalid schema references should be safely handled by the FDO provider.

 ---

 ## Kernel Evidence

 From `dmesg`:

 mgserver[...] segfault at ... ip ... in libPostgreSQLProvider-4.2.0.so

 This confirms that the crash occurs at native level inside the PostgreSQL
 FDO provider, not in managed MapGuide code.
-- 
Ticket URL: <https://trac.osgeo.org/mapguide/ticket/2888>
MapGuide Open Source <http://mapguide.osgeo.org/>
MapGuide Open Source Internals


More information about the mapguide-trac mailing list