[mapserver-users] Very strange problem doing a query and hanging on MS 6.4.1
Stephen Woodbridge
woodbri at swoodbridge.com
Sun Jul 12 16:14:52 PDT 2015
Hi all,
I have run into a very strange problem doing a mapserver query. I'm
upgrading a system that was running fine. The details are below. I also
tried to put the template inside a CLASS ... END block that didn't help.
Can anyone else reproduce something like this?
Got any ideas on how to work around it?
Thanks,
-Steve W
Old system:
Ubuntu 12.04 LTS
MapServer version 6.2.1 OUTPUT=GIF OUTPUT=PNG OUTPUT=JPEG SUPPORTS=PROJ
SUPPORTS=GD SUPPORTS=AGG SUPPORTS=FREETYPE SUPPORTS=CAIRO
SUPPORTS=SVG_SYMBOLS SUPPORTS=ICONV SUPPORTS=FRIBIDI SUPPORTS=WMS_SERVER
SUPPORTS=WMS_CLIENT SUPPORTS=WFS_SERVER SUPPORTS=WFS_CLIENT
SUPPORTS=WCS_SERVER SUPPORTS=SOS_SERVER SUPPORTS=FASTCGI
SUPPORTS=THREADS SUPPORTS=GEOS INPUT=JPEG INPUT=POSTGIS INPUT=OGR
INPUT=GDAL INPUT=SHAPEFILE
New system:
Ubuntu 14.04 LTS
MapServer version 6.4.1 OUTPUT=GIF OUTPUT=PNG OUTPUT=JPEG OUTPUT=KML
SUPPORTS=PROJ SUPPORTS=GD SUPPORTS=AGG SUPPORTS=FREETYPE SUPPORTS=CAIRO
SUPPORTS=SVG_SYMBOLS SUPPORTS=RSVG SUPPORTS=ICONV SUPPORTS=FRIBIDI
SUPPORTS=WMS_SERVER SUPPORTS=WMS_CLIENT SUPPORTS=WFS_SERVER
SUPPORTS=WFS_CLIENT SUPPORTS=WCS_SERVER SUPPORTS=SOS_SERVER
SUPPORTS=FASTCGI SUPPORTS=THREADS SUPPORTS=GEOS INPUT=JPEG INPUT=POSTGIS
INPUT=OGR INPUT=GDAL INPUT=SHAPEFILE
The query layer looks like this:
LAYER
NAME "model_query"
STATUS on
TYPE raster
TILEINDEX "NOAA_Coastal_Relief_Model/index.shp"
TILEITEM "LOCATION"
TEMPLATE "/maps/wms/pixel.value.html"
END
cat "/maps/wms/pixel.value.html"
<!-- MapServer Template -->
[value_0]
dbf_dump -info wms/data/Bathy/NOAA_Coastal_Relief_Model/index.dbf
Filename: wms/data/Bathy/NOAA_Coastal_Relief_Model/index.dbf
Version: 0x03 (ver. 3)
Num of records: 61
Header length: 65
Record length: 256
Last change: 1995/7/26
Num fields: 1
Field info:
Num Name Type Len Decimal
1. LOCATION C 255 0
dbf_dump wms/data/Bathy/NOAA_Coastal_Relief_Model/index.dbf | head
NOAA_Coastal_Relief_Model/BSM-1035.tif
NOAA_Coastal_Relief_Model/BSM-1156.tif
NOAA_Coastal_Relief_Model/BSM-1193.tif
NOAA_Coastal_Relief_Model/BSM-1239.tif
NOAA_Coastal_Relief_Model/BSM-1261.tif
NOAA_Coastal_Relief_Model/BSM-1326.tif
NOAA_Coastal_Relief_Model/BSM-1343.tif
NOAA_Coastal_Relief_Model/BSM-1536.tif
NOAA_Coastal_Relief_Model/BSM-1557.tif
NOAA_Coastal_Relief_Model/BSM-1801.tif
ogrinfo -so wms/data/Bathy/NOAA_Coastal_Relief_Model/index.shp index
INFO: Open of `wms/data/Bathy/NOAA_Coastal_Relief_Model/index.shp'
using driver `ESRI Shapefile' successful.
Layer name: index
Geometry: Polygon
Feature Count: 61
Extent: (-130.000417, 16.999583) - (-65.999599, 49.000401)
Layer SRS WKT:
(unknown)
location: String (255.0)
When I issue a query like:
/usr/lib/cgi-bin/mapserv
QUERY_STRING='map=/maps/wms/bathymetry.map&mode=query&layers=model_query&mapxy=-100.98125+41.58125'
The old server responded with:
Content-Type: text/html
<HTML>
<HEAD><TITLE>MapServer Message</TITLE></HEAD>
<!-- MapServer version 6.2.1 OUTPUT=GIF OUTPUT=PNG OUTPUT=JPEG
SUPPORTS=PROJ SUPPORTS=GD SUPPORTS=AGG SUPPORTS=FREETYPE SUPPORTS=CAIRO
SUPPORTS=SVG_SYMBOLS SUPPORTS=ICONV SUPPORTS=FRIBIDI SUPPORTS=WMS_SERVER
SUPPORTS=WMS_CLIENT SUPPORTS=WFS_SERVER SUPPORTS=WFS_CLIENT
SUPPORTS=WCS_SERVER SUPPORTS=SOS_SERVER SUPPORTS=FASTCGI
SUPPORTS=THREADS SUPPORTS=GEOS INPUT=JPEG INPUT=POSTGIS INPUT=OGR
INPUT=GDAL INPUT=SHAPEFILE -->
<BODY BGCOLOR="#FFFFFF">
msQueryByPoint(): Search returned no results. No matching record(s) found.
</BODY></HTML>You have new mail in /var/mail/root
I get an infinite number of lines like the following on the new server:
# /usr/lib/cgi-bin/mapserv
QUERY_STRING='map=/maps/wms/bathymetry.map&mode=query&layers=model_query&mapxy=-100.98125+41.58125'
| head
Content-Type: text/html
-99999
-99999
-99999
-99999
-99999
-99999
-99999
-99999
^C
You have to ^C to kill it, even when using head. This seems like a
serious bug as it runs for about 10 mins taking 100% CPU. If you call it
via file_get_contents() in php is hangs the request and freezea my OL
app until it is killed or kills php reading all the data.
More information about the MapServer-users
mailing list