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

Stephen Woodbridge woodbri at swoodbridge.com
Mon Jul 13 08:01:11 PDT 2015


Thomas,

More information:

/u/software/mapserver-rel-6-4-2/maptemplate.c:4366

4366        for(j=0; j<lp->resultcache->numresults; j++) {
(gdb) p lp->resultcache->numresults
$7 = 2884991

this is clearly a bad value my guess is that it is not getting 
initialized to zero and assumes it will get set when some number of 
results are found, but if no results are found it is not getting set to 
zero. (Just a hypothesis)

-Steve W

On 7/13/2015 10:41 AM, Stephen Woodbridge wrote:
> Thomas,
>
> Here is the initial backtrace afte starting it and and ^C while it is
> printing -99999 lines:
>
> #0  processLine (mapserv=0x609050, instr=0x7fffffffcc60 "[value_0]\n",
>      stream=0x688460, mode=9)
>      at /u/software/mapserver-rel-6-4-2/maptemplate.c:3697
> #1  0x00007ffff7a2e9cc in msReturnPage (mapserv=0x609050,
>      html=0x6612e0 "/maps/wms/pixel.value.html", mode=9, papszBuffer=0x0)
>      at /u/software/mapserver-rel-6-4-2/maptemplate.c:4159
> #2  0x00007ffff7a2f7ed in msReturnNestedTemplateQuery (mapserv=0x609050,
>      pszMimeType=0x60c8f0 "text/html", papszBuffer=0x0)
>      at /u/software/mapserver-rel-6-4-2/maptemplate.c:4385
> #3  0x00007ffff7a1f586 in msReturnTemplateQuery (mapserv=0x609050,
>      queryFormat=0x60c8f0 "text/html", papszBuffer=0x0)
>      at /u/software/mapserver-rel-6-4-2/maptemplate.c:315
> #4  0x00007ffff79f1230 in msCGIDispatchQueryRequest (mapserv=0x609050)
>      at /u/software/mapserver-rel-6-4-2/mapservutil.c:1476
> #5  0x00007ffff79f2205 in msCGIDispatchRequest (mapserv=0x609050)
>      at /u/software/mapserver-rel-6-4-2/mapservutil.c:1784
> #6  0x000000000040115b in main (argc=2, argv=0x7fffffffdf98)
>      at /u/software/mapserver-rel-6-4-2/mapserv.c:259
>
> I'll poke around a little more in gdb and see if I can figure out
> anything more.
>
> Thanks,
>    -Steve
>
>
> On 7/13/2015 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