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

Stephen Woodbridge woodbri at swoodbridge.com
Mon Jul 13 07:49:22 PDT 2015


On 7/13/2015 9:06 AM, Daniel Morissette wrote:
> 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)

OK, this was a good idea, but the results are not great, after starting 
valgrind and get the initial header lines printed I have no output after 
72 mins. I know valgrind is slow and I'll leave it running but this 
seems like it has gone out to lunch :)

# valgrind --leak-check=full /usr/lib/cgi-bin/mapserv 
QUERY_STRING='map=/maps/wms/bathymetry.map&mode=query&layers=model_query&mapxy=-100.98125+41.58125'
==26206== Memcheck, a memory error detector
==26206== Copyright (C) 2002-2013, and GNU GPL'd, by Julian Seward et al.
==26206== Using Valgrind-3.10.0.SVN and LibVEX; rerun with -h for 
copyright info
==26206== Command: /usr/lib/cgi-bin/mapserv 
QUERY_STRING=map=/maps/wms/bathymetry.map&mode=query&layers=model_query&mapxy=-100.98125+41.58125
==26206==


-Steve W

> 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
>>
>
>



More information about the mapserver-users mailing list