[mapserver-users] Very strange problem doing a query and hanging on MS 6.4.1

Daniel Morissette dmorissette at mapgears.com
Mon Jul 13 06:06:42 PDT 2015


Steve,

Can you run the query in Valgrind? It can be a quick way to catch memory 
handling issues (buffer overflows or access to uninitialized memory) 
which can sometimes lead to this kind of loops as a side-effect.

FYI, if you have more than 4 bands in one of your images then you may 
have come across this: https://github.com/mapserver/mapserver/pull/5089
(I don't think that's your case, but I thought I'd let you know anyway)

Daniel

On 2015-07-13 4:12 AM, thomas bonfort wrote:
> Steve,
> please include a backtrace from gdb where you believe the infinite
> loop is happening.
>
> --
> thomas
>
> On 13 July 2015 at 01:22, Stephen Woodbridge <woodbri at swoodbridge.com> wrote:
>> I added gdalinfo on an actual raster file below. It turns out the -99999 is
>> the NoData Value. I would be happy to just get this value back (once), but I
>> think something is broken and putting mapserver into an infinite loop.
>>
>> -Steve W
>>
>>
>> On 7/12/2015 7:14 PM, Stephen Woodbridge wrote:
>>>
>>> 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
>>
>>
>> # gdalinfo wms/data/Bathy/NOAA_Coastal_Relief_Model/BSM-1156.tif
>> Driver: GTiff/GeoTIFF
>> Files: wms/data/Bathy/NOAA_Coastal_Relief_Model/BSM-1156.tif
>> Size is 4801, 4801
>> Coordinate System is:
>> GEOGCS["WGS 84",
>>      DATUM["WGS_1984",
>>          SPHEROID["WGS 84",6378137,298.257223563,
>>              AUTHORITY["EPSG","7030"]],
>>          AUTHORITY["EPSG","6326"]],
>>      PRIMEM["Greenwich",0],
>>      UNIT["degree",0.0174532925199433],
>>      AUTHORITY["EPSG","4326"]]
>> Origin = (-102.000833330000006,41.000817329999997)
>> Pixel Size = (0.000833330000000,-0.000833330000000)
>> Metadata:
>>    AREA_OR_POINT=Point
>> Image Structure Metadata:
>>    INTERLEAVE=BAND
>> Corner Coordinates:
>> Upper Left  (-102.0008333,  41.0008173) (102d 0' 3.00"W, 41d 0' 2.94"N)
>> Lower Left  (-102.0008333,  37.0000000) (102d 0' 3.00"W, 37d 0' 0.00"N)
>> Upper Right ( -98.0000160,  41.0008173) ( 98d 0' 0.06"W, 41d 0' 2.94"N)
>> Lower Right ( -98.0000160,  37.0000000) ( 98d 0' 0.06"W, 37d 0' 0.00"N)
>> Center      (-100.0004247,  39.0004087) (100d 0' 1.53"W, 39d 0' 1.47"N)
>> Band 1 Block=256x256 Type=Float32, ColorInterp=Gray
>>    NoData Value=-99999
>>    Overviews: 2401x2401, 1201x1201, 601x601, 301x301, 151x151, 76x76, 38x38
>>
>>
>>
>>>
>>> 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.
>>> _______________________________________________
>>> 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
> _______________________________________________
> mapserver-users mailing list
> mapserver-users at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/mapserver-users
>


-- 
Daniel Morissette
http://www.mapgears.com/
T: +1 418-696-5056 #201

http://evouala.com/ - Location Intelligence Made Easy


More information about the mapserver-users mailing list