[mapserver-users] getting corrupted png with WMS request to mapserv CGI on command line

Jeff McKenna jmckenna at gatewaygeomatics.com
Thu May 28 04:41:22 PDT 2015


Some thoughts on your pull request:

- since you are submitting a docs enhancement, be sure to consider all 
platforms (e.g. in your example also include options for Windows users, 
where there is no 'tail' command)

- consider submitting your request to the branch-7-0



-jeff




On 2015-05-28 3:49 AM, Renzo Kottmann wrote:
> thx Fabian,
> indeed you are right. However, is this then a bug or a feature?
>
> In any case, I thought it might be helpful to improve the documentation to
> a) point out that use of OGC compliant requests is possible and b) that for
> creating png it is important to remove first 3 lines.
>
> See pull request https://github.com/mapserver/docs/pull/121 .
>
> bests,renzo
>
> On Wed, 27 May 2015 15:36:32 +0200, Fabian Schindler
> <fabian.schindler at eox.at> wrote:
>> Renzo,
>> As far as I remember you have to remove the HTTP headers from the
>> response (the first 2-4 lines or so) when you use mapserv -nh with OGC
>> services.
>> Regards,
>> Fabian
>>
>> On 27.05.15 13:02, Renzo Kottmann wrote:
>>> nope. I tried IMAGEPATH "/tmp/" and IMAGEPATH "/tmp" both still
>>> result in corrupt pngs. thx,renzo
>>>
>>> On Wed, 27 May 2015 12:12:02 +0200, thomas bonfort
>>> <thomas.bonfort at gmail.com> wrote:
>>>> IMAGEPATH /tmp/ should be changed to IMAGEPATH "/tmp/"
>>>>
>>>> -- thomas
>>>>
>>>> On 27 May 2015 at 11:47, Renzo Kottmann <rkottman at mpi-bremen.de>
>>>> wrote:
>>>>> Hi All,
>>>>>
>>>>> I have installed mapserver 6.4.1 in a docker container based on
>>>>> debian jessie (see dockerfile below)
>>>>>
>>>>> If I run:
>>>>>
>>>>> /usr/lib/cgi-bin/mapserv -nh
>>>>>
>>>
> "QUERY_STRING=EXCEPTIONS=application/vnd.ogc.se_inimage&REQUEST=GetMap&SERVICE=WMS&VERSION=1.1.1&map=/genes-mapserver/wms_test.map&SRS=EPSG:4326&BBOX=-180,-90,180,90&FORMAT=image/png&WIDTH=1080&HEIGHT=614&STYLES=&LAYERS=satellite_mod"
>>>>>>
>>>
>> /tmp/test.png
>>>>>
>>>>> The png is corrupt and I can not open it with neither gimp nor
>>>>> firefox.
>>>>>
>>>>>
>>>>> However, I get valid pngs using the very same map file with
>>>>> shp2img or mapserv -nh
>>>>>
>>>
> "QUERY_STRING=map=/genes-mapserver/wms_test.map&mode=map&layers=satellite_mod
>>>>>
>>>
>> .
>>>>>
>>>>>
>>>>> Find below more details (mapserver version, exact command lines
>>>>> I used and resulting debug logs, map file, and docker file)
>>>>>
>>>>>
>>>>> I searched google, the mailing list archives, but nothing seems
>>>>> to be similar to this problem. Therefore, any help is very much
>>>>> appreciated :)
>>>>>
>>>>> ciao, renzo
>>>>>
>>>>>
>>>>> * Mapserver Version:
>>>>>
>>>>> 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
>>>>>
>>>>>
>>>>> * Command lines
>>>>>
>>>>> Generates valid png:
>>>>>
>>>>> /usr/lib/cgi-bin/mapserv -nh
>>>>>
>>>
> "QUERY_STRING=map=/genes-mapserver/wms_test.map&mode=map&layers=satellite_mod"
>>>>>>
>>>
>> /tmp/test.png
>>>>>
>>>>> shp2img --all_debug 2 -m /genes-mapserver/wms_test.map -o
>>>>> /tmp/test.png
>>>>>
>>>>>
>>>>> Generates invalid corrupt png:
>>>>>
>>>>> /usr/lib/cgi-bin/mapserv -nh
>>>>>
>>>
> "QUERY_STRING=EXCEPTIONS=application/vnd.ogc.se_inimage&REQUEST=GetMap&SERVICE=WMS&VERSION=1.1.1&map=/genes-mapserver/wms_test.map&SRS=EPSG:4326&BBOX=-180,-90,180,90&FORMAT=image/png&WIDTH=1080&HEIGHT=614&STYLES=&LAYERS=satellite_mod"
>>>>>>
>>>
>> /tmp/test.png
>>>>>
>>>>>
>>>>>
>>>>> * Log file (for all three runs in that order):
>>>>>
>>>>>
>>>>> [Wed May 27 08:51:44 2015].475696 CGI Request 1 on process 79
>>>>> [Wed May 27 08:51:44 2015].476881 msDrawMap(): rendering using
>>>>> outputformat named png (AGG/PNG). [Wed May 27 08:51:44
>>>>> 2015].476916 msDrawMap(): WMS/WFS set-up and query, 0.000s [Wed
>>>>> May 27 08:51:44 2015].478222
>>>>> msDrawRasterLayerLow(satellite_mod): entering. [Wed May 27
>>>>> 08:51:45 2015].16608 msDrawMap(): Layer 0 (satellite_mod),
>>>>> 0.540s [Wed May 27 08:51:45 2015].16665 msDrawMap(): Drawing
>>>>> Label Cache,
>>> 0.000s
>>>>> [Wed May 27 08:51:45 2015].16677 msDrawMap() total time:
>>>>> 0.541s [Wed May 27 08:51:45 2015].38545 msSaveImage(stdout)
>>>>> total time: 0.022s [Wed May 27 08:51:45 2015].38838 mapserv
>>>>> request processing time (msLoadMap not incl.): 0.563s
>>>>>
>>>>> [Wed May 27 08:56:29 2015].752703 msDrawMap(): rendering using
>>>>> outputformat named png (AGG/PNG). [Wed May 27 08:56:29
>>>>> 2015].752820 msDrawMap(): WMS/WFS set-up and query, 0.000s [Wed
>>>>> May 27 08:56:29 2015].754465
>>>>> msDrawRasterLayerLow(satellite_mod): entering. [Wed May 27
>>>>> 08:56:30 2015].295590 msDrawMap(): Layer 0 (satellite_mod),
>>>>> 0.543s [Wed May 27 08:56:30 2015].295664 msDrawMap(): Drawing
>>>>> Label Cache, 0.000s [Wed May 27 08:56:30 2015].295684
>>>>> msDrawMap() total time: 0.544s [Wed May 27 08:56:30
>>>>> 2015].323794 msSaveImage(/tmp/test.png) total time: 0.028s
>>>>>
>>>>> [Wed May 27 08:59:28 2015].995397 CGI Request 1 on process 82
>>>>> [Wed May 27 08:59:28 2015].995464 msWMSLoadGetMapParams():
>>>>> enabling non-square pixels. [Wed May 27 08:59:28 2015].996733
>>>>> msDrawMap(): kicking into non-square pixel preserving mode.
>>>>> [Wed May 27 08:59:28 2015].997595 msDrawMap(): rendering using
>>>>> outputformat named png (AGG/PNG). [Wed May 27 08:59:28
>>>>> 2015].997614 msDrawMap(): WMS/WFS set-up and query, 0.000s [Wed
>>>>> May 27 08:59:28 2015].998950
>>>>> msDrawRasterLayerLow(satellite_mod): entering. [Wed May 27
>>>>> 08:59:29 2015].651061 msDrawMap(): Layer 0 (satellite_mod),
>>>>> 0.653s [Wed May 27 08:59:29 2015].651143 msDrawMap(): Drawing
>>>>> Label Cache, 0.000s [Wed May 27 08:59:29 2015].651167
>>>>> msDrawMap() total time: 0.656s [Wed May 27 08:59:29
>>>>> 2015].681373 msSaveImage(stdout) total time: 0.030s [Wed May 27
>>>>> 08:59:29 2015].681769 mapserv request processing time
>>>>> (msLoadMap not incl.): 0.686s
>>>>>
>>>>>
>>>>> * map file
>>>>>
>>>>>
>>>>> MAP NAME "wms_test" STATUS ON EXTENT -180 -90 180 90 IMAGECOLOR
>>>>> 210 210 210 IMAGETYPE png SIZE 1080 614 UNITS dd
>>>>>
>>>>> CONFIG "MS_ERRORFILE" "/tmp/wms_test_error.txt" DEBUG 2
>>>>>
>>>>>
>>>>> PROJECTION #this is WGS84 "init=epsg:4326" END
>>>>>
>>>>>
>>>>> SYMBOLSET "etc/symbols.sym" FONTSET "etc/fonts/fonts.txt"
>>>>>
>>>>> WEB IMAGEPATH /tmp/ IMAGEURL "/tmp/"
>>>>>
>>>>> ERROR "/error.html" EMPTY "/no_result.html"
>>>>>
>>>>>
>>>>> METADATA ### Enable WFS support "wms_title"           "wms
>>>>> test" "wms_onlineresource"  "http://localhost/wms?" "wms_srs"
>>>>> "EPSG:4326" "wms_enable_request"  "GetCapabilities GetMap
>>>>> GetFeatureInfo GetLegendGraphic" "ows_enable_request"
>>>>> "GetCapabilities GetMap GetFeatureInfo GetLegendGraphic"
>>>>> "ows_extent" "-180 -90 180 90" "wfs_title"           "wfs
>>>>> test" #necessary for the WMS GetFeatureInfo request
>>>>> "WMS_FEATURE_INFO_MIME_TYPE" "text/html" END
>>>>>
>>>>> END
>>>>>
>>>>> LEGEND STATUS on KEYSIZE 10 10 LABEL SIZE 9 COLOR 0 0 0 TYPE
>>>>> truetype ENCODING UTF-8 FONT sans FORCE false PARTIALS true
>>>>> POSITION AUTO END TEMPLATE "template/legend.html" # HTML
>>>>> template file END
>>>>>
>>>>> LAYER NAME satellite_mod
>>>>>
>>>>> METADATA "wms_title"     "World Map Lite" "unit"
>>>>> "false" END #end of wms metadata
>>>>>
>>>>> DATA data/satelliteMod.png TYPE RASTER STATUS ON END #map end
>>>>> END
>>>>>
>>>>>
>>>>> * Dockerfile
>>>>>
>>>>> FROM debian:jessie
>>>>>
>>>>> ENV GMS_DIR=/genes-mapserver ENV LANG C.UTF-8
>>>>>
>>>>> # Update and upgrade system RUN apt-get -qq update
>>>>> --fix-missing && \ apt-get install -y cgi-mapserver
>>>>> mapserver-bin
>>>>>
>>>>>
>>>>> RUN mkdir ${GMS_DIR}
>>>>>
>>>>> VOLUME ${GMS_DIR}
>>>>>
>>>>> ENTRYPOINT ["/usr/lib/cgi-bin/mapserv"]
>>>>>
>>>>>
>>>>> The actual tests are done within the container by:
>>>>>
>>>>> sudo docker run -v ~/src/genes-mapserver/:/genes-mapserver
>>>>> --rm --entrypoint=/bin/bash -ti renzok/mapserver-cgi
>>>>>
>>>>>
>>>>> thanks for reading :)
>>>>> _______________________________________________ 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