I got somewhat further: it appears I get a SEGFAULT when calling any MapScript query() method. This is also what FastCGI receives (signal 11).

For example, bash-ing into the Docker Container and execute MapScript Python:

$ python
Python 2.7.16 (default, Oct 10 2019, 22:02:15)
[GCC 8.3.0] on linux2
>>> import mapscript
>>> map = mapscript.mapObj('/app1/config/mapserver/app1.map')
>>> layer = map.getLayerByName('nlpubs')
>>> layer.name
'nlpubs'
>>> len(layer.metadata)
0
>>> res = layer.queryByAttributes(map, 'Name', 'Lef', mapscript.MS_MULTIPLE)
Segmentation fault

But getting number of Features is ok:
>>> layer.getNumFeatures()
GNM: GNMRegisterAllInternal
GNM: RegisterGNMFile
GNM: RegisterGNMdatabase
GDAL: GDALOpen(/app1/data/pubs, this=0x557ace611b90) succeeds as ESRI Shapefile.
Shape: DBF Codepage = LDID/87 for /app1/data/pubs/osm-nl-pub.shp
Shape: Treating as encoding 'ISO-8859-1'.
GDAL: GDALClose(/app1/data/pubs, this=0x557ace611b90)
2864

The LAYER def is
LAYER
    NAME nlpubs
    STATUS default
    TYPE POINT
    PROJECTION
      "init=epsg:4326"
    END

    METADATA
        "wfs_title"         "NL Pubs from OSM POIs"
        "wfs_version"         "1.1.0"
        "wfs_extent"  "4 50 6 54"
        "wfs_bbox_extended"     "true"
        "wfs_enable_request"    "*"
        "wfs_srs"             "epsg:4326 epsg:3857 epsg:900913"
        "wfs_include_items"     "all"
        "gml_include_items"     "all"
        "gml_geometries"        "geom"
        "wms_title"             "NL Pubs from OSM POIs"
        "wms_srs"             "epsg:4326 epsg:3857 epsg:900913"
        "wms_extent"  "4 50 6 54"
        "wms_feature_info_mime_type" "text/xml"
        "mapglow_feat_density"         "0.002"
   END

    CONNECTIONTYPE OGR
    CONNECTION "/app1/data/pubs"
    DATA "osm-nl-pub"
    TEMPLATE "/app1/config/mapserver/template.html"

    CLASS
      NAME "osm-nl-pub"
      STYLE
        COLOR 0 102 204
        SYMBOL "circle"
        SIZE 10
      END
    END
END

Data is a shapefile, but GeoJSON also fails. Also strange that layer.metadata is empty. Like said when I delegate any incoming OWS req to map.OWSDispatch() I get proper results for all WMS requests, in particular GetMap with styled output.
The base Dockerfile used is at:
https://github.com/PDOK/mapserver-docker/blob/master/Dockerfile from
which I derived my Dockerfile:
https://github.com/justb4/mapglow/blob/master/Dockerfile

Maybe there is some mismatch in lib versions?

Again thanks. Best,

Just van den Broecke

On 26-06-20 17:55, Just van den Broecke wrote:
Hi,

I am reviving a Python 2 MapServer MapScript app that used to work 7 years ago (and still is in old deployment) but stuck in some MapScript calls that fail but also throw no Exceptions.

Purpose of the app "MapGlow" [1] is to generate a WMS-heatmap triggered by specific STYLE parameters. When no heatmap STYLE is requested requests are delegated to map_file.OWSDispatch() etc. The latter works fine so the overall setup/stack/mapfile is working. Using MS 7.6.0 in Docker (compose) with Lighttp, FastCGI, WSGI, flup.

It is only when  layerObj.queryByRect() is called, a HTTP 500 is returned after a FastCGI hard error, no means to catch an Exception. The passed MapFile and Rect objects seem ok. Also I noticed that layerObj.metadata had 0 items. I can see that I have proper SWIG objects like <mapscript.layerObj; proxy of <Swig Object of type 'layerObj *' at 0x7fded06b1de0> > If only I could get a hint, a MapFile setting, maybe some log output or debug flag I can set? The WIP is on GH, I can point at the failing line [2] but the code is
quite involved (mind, my first Python 7-9 years ago):

[1] https://github.com/justb4/mapglow
[2] https://github.com/justb4/mapglow/blob/master/app1/wms/mapglow_ms.py#L249

Thanks for any help,

Just van den Broecke
The Netherlands
_______________________________________________
mapserver-users mailing list
[email protected]
https://lists.osgeo.org/mailman/listinfo/mapserver-users

_______________________________________________
mapserver-users mailing list
[email protected]
https://lists.osgeo.org/mailman/listinfo/mapserver-users

Reply via email to