[mapserver-users] MapServer crash with WFS GetFeature request using multiple typenames
Rahkonen Jukka
Jukka.Rahkonen at mmmtike.fi
Mon Nov 14 05:51:39 PST 2011
Hi,
Feel free to test with my TinyOWS server at http://188.64.1.61/cgi-bin/tinyows. I would not encourage you to use BBOX filter for finding features. According to the standard BBOX is a synonyme for Intersects but for example Geoserver is using it in a bit different way. It is comparing if feature bounding boxes are intersecting with reference bounding box if BBOX is used. This suits perfectly for filling a screen with features because feature bounding boxes can be found fast from the spatial index of a database. However, with lines and polygons this search is sometimes finding extra features. Intersects is doing a real comparison of geometries which is accurate but slower. If you click on a map why don't you use ogc:Contains for finding polygons or ogc;DWithin filter for finding all kind of features with a buffer?
My TinyOWS has a bug with ogc:BBOX so if you test it, use Intersects, Contains, or DWithin instead.
Naturally WFS should behave in a similar way independently of the data source behind the server.
-Jukka Rahkonen-
> -----Alkuperäinen viesti-----
> Lähettäjä: Dejan Gambin [mailto:dejan.gambin at coin.hr]
> Lähetetty: 14. marraskuuta 2011 15:33
> Vastaanottaja: Rahkonen Jukka
> Kopio: 'mapserver-users at lists.osgeo.org'
> Aihe: Re: [mapserver-users] MapServer crash with WFS
> GetFeature request using multiple typenames
>
> Hello Jukka
>
> Thanks for the information. I am trying to make a spatial
> search by clicking on the point on the map. This search
> should send the requests for every active layer and return
> the results for some bbox around this point. I have first
> tried with WMS GetFeatureInfo but also stucked with gml not
> being recognized by OpenLayers. So I decided to try with WFS.
> It works OK when data is in PostGIS and also works for one
> shape file but not for all I need.
>
> Of course, it can be done by sending multiple requests, one
> for each active layer, but I thought this should work for
> several layers too.
>
>
> On 14. stu. 2011., at 14:20, Rahkonen Jukka wrote:
>
> > Hi,
> >
> > It is not so very common to make GetFeature requests for a
> list of FeatureTypes, especially with filters. Therefore
> servers are for sure not well tested with such requests. Do
> you have some special need for getting just one GML package
> out or WFS or can you imagine to do one request per feature type?
> >
> > By the way, are you aware of that if you query typeNames
> "A" and "B" with maxfeatures=10, the resultset will be cut at
> the 10th feature. If the server finds 10 or more candidates
> from typeName "A" you will not get any features at all from
> typeName "B".
> >
> > -Jukka Rahkonen-
> >
> > Dejan Gambin wrote:
> >
> >
> >>
> >> Anyway, seems like this ogrinfo error has nothing to do with
> >> mapserver crash. So the problem persists :-(
> >>
> >> dejan
> >> On 14. stu. 2011., at 11:49, Dejan Gambin wrote:
> >>
> >>> Additional info:
> >>>
> >>> Everything works OK when data is in postgis. The problem is
> >> with data coming from shape file on which ogrinfo reports the
> >> following:
> >>>
> >>> dgambin at coin:/$ ogrinfo -so
> >> sportsko_rekreacijska_namjena.shp sportsko_rekreacijska_namjena
> >>> ERROR 4: Unable to open sportsko_rekreacijska_namjena.shp
> >> or sportsko_rekreacijska_namjena.SHP.
> >>> Had to open data source read-only.
> >>> INFO: Open of `sportsko_rekreacijska_namjena.shp'
> >>> using driver `ESRI Shapefile' successful.
> >>>
> >>> Layer name: sportsko_rekreacijska_namjena
> >>> Geometry: Polygon
> >>> Feature Count: 12
> >>> Extent: (5401303.525844, 4978030.196207) - (5407353.143421,
> >> 4986100.367492)
> >>> Layer SRS WKT:
> >>> (unknown)
> >>> ID: Integer (8.0)
> >>> NAMJENA: String (30.0)
> >>> POVRSINA: Real (16.2)
> >>> OZNAKA: String (100.0)
> >>>
> >>>
> >>>
> >>> On 14. stu. 2011., at 10:35, Dejan Gambin wrote:
> >>>
> >>>> Hi,
> >>>>
> >>>> I have a serious issue usng MapServer WFS in making
> >> GetFeature request using multiple typenames. Here is the
> >> example post request:
> >>>>
> >>>> [Mon Nov 14 09:16:06 2011].666863 msWFSParseRequest(): WFS
> >> post request: <wfs:GetFeature
> >> xmlns:wfs="http://www.opengis.net/wfs" service="WFS"
> >> version="1.1.0" maxFeatures="10"
> >> xsi:schemaLocation="http://www.opengis.net/wfs
> >> http://schemas.opengis.net/wfs/1.1.0/wfs.xsd"
> >> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><wfs:Que
> >> ry typeName="ms:ppu_sportska" srsName="EPSG:900913"
> >> xmlns:ms="http://www.openplans.org/topp"><ogc:Filter
> >> xmlns:ogc="http://www.opengis.net/ogc"><ogc:BBOX><ogc:Property
> >> Name>msGeometry</ogc:PropertyName><gml:Envelope
> >> xmlns:gml="http://www.opengis.net/gml"
> >> srsName="EPSG:900913"><gml:lowerCorner>1533843.3519844
> >> 5619282.0492426</gml:lowerCorner><gml:upperCorner>1533938.8982
> >> 697
> >> 5619377.595528</gml:upperCorner></gml:Envelope></ogc:BBOX></og
> >> c:Filter></wfs:Query><wfs:Query typeName="ms:ppu_turisticka"
> >> srsName="EPSG:900913"
> >> xmlns:ms="http://www.openplans.org/topp"><ogc:Filter
> >> xmlns:ogc="http://www.opengis.net/ogc"><ogc:BBOX><ogc:Property
> >> Name>msGeometry</ogc:PropertyName><gml:Envelope
> >> xmlns:gml="http://www.opengis.net/gml"
> >> srsName="EPSG:900913"><gml:lowerCorner>1533843.3519844
> >> 5619282.0492426</gml:lowerCorner><gml:upperCorner>1533938.8982
> >> 697
> >> 5619377.595528</gml:upperCorner></gml:Envelope></ogc:BBOX></og
> >> c:Filter></wfs:Query></wfs:GetFeature>
> >>>> [Mon Nov 14 09:16:06 2011].683317 msQueryByFilter():
> >> Search returned no results. No matching record(s) found.
> >>>>
> >>>> It is using 2 typenames: "ms:ppu_sportska" and
> >> "ms:ppu_turisticka". Seems like no results were found but
> >> there are bunch of errors in apache log file, like:
> >>>>
> >>>> [Mon Nov 14 09:16:06 2011] [error] [client 83.131.213.54]
> >> *** glibc detected *** /usr/lib/cgi-bin/mapserv61: double
> >> free or corruption (out): 0x0000000001a83d60 ***, referer:
> >> http://www.coin.hr/coingis/demo.html
> >>>> [Mon Nov 14 09:16:06 2011] [error] [client 83.131.213.54]
> >> ======= Backtrace: =========, referer:
> >> http://www.coin.hr/coingis/demo.html
> >>>> [Mon Nov 14 09:16:06 2011] [error] [client 83.131.213.54]
> >> /lib/libc.so.6(+0x71ad6)[0x7f58d7c43ad6], referer:
> >> http://www.coin.hr/coingis/demo.html
> >>>> [Mon Nov 14 09:16:06 2011] [error] [client 83.131.213.54]
> >> /lib/libc.so.6(cfree+0x6c)[0x7f58d7c4884c], referer:
> >> http://www.coin.hr/coingis/demo.html
> >>>> [Mon Nov 14 09:16:06 2011] [error] [client 83.131.213.54]
> >> /usr/lib/cgi-bin/mapserv61[0x4328c6], referer:
> >> http://www.coin.hr/coingis/demo.html
> >>>> [Mon Nov 14 09:16:06 2011] [error] [client 83.131.213.54]
> >> /usr/lib/cgi-bin/mapserv61[0x438719], referer:
> >> http://www.coin.hr/coingis/demo.html
> >>>> [Mon Nov 14 09:16:06 2011] [error] [client 83.131.213.54]
> >> /usr/lib/cgi-bin/mapserv61[0x455d2d], referer:
> >> http://www.coin.hr/coingis/demo.html
> >>>> [Mon Nov 14 09:16:06 2011] [error] [client 83.131.213.54]
> >> /usr/lib/cgi-bin/mapserv61[0x455b8c], referer:
> >> http://www.coin.hr/coingis/demo.html
> >>>> [Mon Nov 14 09:16:06 2011] [error] [client 83.131.213.54]
> >> /usr/lib/cgi-bin/mapserv61[0x4df5c4], referer:
> >> http://www.coin.hr/coingis/demo.html
> >>>> [Mon Nov 14 09:16:06 2011] [error] [client 83.131.213.54]
> >> /usr/lib/cgi-bin/mapserv61[0x4bf415], referer:
> >> http://www.coin.hr/coingis/demo.html
> >>>> [Mon Nov 14 09:16:06 2011] [error] [client 83.131.213.54]
> >> /usr/lib/cgi-bin/mapserv61(msLayerApplyPlainFilterToLayer+0x23
> > )[0x47a99c], referer: http://www.coin.hr/coingis/demo.html
> >>>> [Mon Nov 14 09:16:06 2011] [error] [client 83.131.213.54]
> >> /usr/lib/cgi-bin/mapserv61[0x4bf362], referer:
> >> http://www.coin.hr/coingis/demo.html
> >>>> [Mon Nov 14 09:16:06 2011] [error] [client 83.131.213.54]
> >> /usr/lib/cgi-bin/mapserv61[0x49ffe0], referer:
> >> http://www.coin.hr/coingis/demo.html
> >>>> [Mon Nov 14 09:16:06 2011] [error] [client 83.131.213.54]
> >> /usr/lib/cgi-bin/mapserv61[0x4a1c8e], referer:
> >> http://www.coin.hr/coingis/demo.html
> >>>> [Mon Nov 14 09:16:06 2011] [error] [client 83.131.213.54]
> >> /usr/lib/cgi-bin/mapserv61[0x495f17], referer:
> >> http://www.coin.hr/coingis/demo.html
> >>>> [Mon Nov 14 09:16:06 2011] [error] [client 83.131.213.54]
> >> /usr/lib/cgi-bin/mapserv61[0x4182b7], referer:
> >> http://www.coin.hr/coingis/demo.html
> >>>> [Mon Nov 14 09:16:06 2011] [error] [client 83.131.213.54]
> >> /lib/libc.so.6(__libc_start_main+0xfd)[0x7f58d7bf0c4d],
> >> referer: http://www.coin.hr/coingis/demo.html
> >>>> [Mon Nov 14 09:16:06 2011] [error] [client 83.131.213.54]
> >> /usr/lib/cgi-bin/mapserv61[0x413609], referer:
> >> http://www.coin.hr/coingis/demo.html
> >>>> [Mon Nov 14 09:16:06 2011] [error] [client 83.131.213.54]
> >> ======= Memory map: ========, referer:
> >> http://www.coin.hr/coingis/demo.html
> >>>> ...bunch of library references
> >>>> [Mon Nov 14 09:16:06 2011] [error] [client 83.131.213.54]
> >> 7f58db7ca000-7f58db7cb000 r--p 0001d000 ca:01 1855039
> >> /lib/ld-2.11.2.so, referer:
> >> http://www.coin.hr/coingis/demo.html
> >>>> [Mon Nov 14 09:16:06 2011] [error] [client 83.131.213.54]
> >> 7f58db7cb000-7f58db7cc000 rw-p 0001e000 ca:01 1855039
> >> /lib/ld-2.11.2.so, referer:
> >> http://www.coin.hr/coingis/demo.html
> >>>> [Mon Nov 14 09:16:06 2011] [error] [client 83.131.213.54]
> >> 7f58db7cc000-7f58db7cd000 rw-p 00000000 00:00 0 , referer:
> >> http://www.coin.hr/coingis/demo.html
> >>>> [Mon Nov 14 09:16:06 2011] [error] [client 83.131.213.54]
> >> 7fff70721000-7fff70736000 rw-p 00000000 00:00 0
> >> [stack], referer: http://www.coin.hr/coingis/demo.html
> >>>> [Mon Nov 14 09:16:06 2011] [error] [client 83.131.213.54]
> >> 7fff70777000-7fff70778000 r-xp 00000000 00:00 0
> >> [vdso], referer: http://www.coin.hr/coingis/demo.html
> >>>> [Mon Nov 14 09:16:06 2011] [error] [client 83.131.213.54]
> >> ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0
> >> [vsyscall], referer: http://www.coin.hr/coingis/demo.html
> >>>> [Mon Nov 14 09:16:06 2011] [error] [client 83.131.213.54]
> >> /usr/lib/cgi-bin/mywfs6: line 4: 3294 Aborted
> >> /usr/lib/cgi-bin/mapserv61, referer:
> >> http://www.coin.hr/coingis/demo.html
> >>>> [Mon Nov 14 09:16:06 2011] [error] [client 83.131.213.54]
> >> Premature end of script headers: mywfs6, referer:
> >> http://www.coin.hr/coingis/demo.html
> >>>>
> >>>> Sometimes the error was starting with:
> >>>>
> >>>> [Mon Nov 14 08:25:06 2011] [error] [client 83.131.213.54]
> >> *** glibc detected *** /usr/lib/cgi-bin/mapserv61:
> >> munmap_chunk(): invalid pointer: 0x000000000273ca80 ***,
> >> referer: http://www.coin.hr/coingis/demo.html
> >>>>
> >>>> NOTE: Making individual requests to those typenames works OK
> >>>>
> >>>> I would appreciate any help since I am pretty stucked with
> >> this. Should I report it as a bug?
> >>>>
> >>>> Thanks very much
> >>>>
> >>>> regards, dejan
> >>>>
> >>>>
> >>>> _______________________________________________
> >>>> mapserver-users mailing list
> >>>> mapserver-users at lists.osgeo.org
> >>>> http://lists.osgeo.org/mailman/listinfo/mapserver-users
> >>>
> >>
> >> _______________________________________________
> >> mapserver-users mailing list
> >> mapserver-users at lists.osgeo.org
> >> http://lists.osgeo.org/mailman/listinfo/mapserver-users
>
>
More information about the MapServer-users
mailing list