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

Renzo Kottmann rkottman at mpi-bremen.de
Thu May 28 23:02:00 PDT 2015


thx for input, find comments inline

On Thu, 28 May 2015 08:41:22 -0300, Jeff McKenna
<jmckenna at gatewaygeomatics.com> wrote:
> 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)

I am not a windows user, therefore I con only do reseacrh and commented on
pull request: https://github.com/mapserver/docs/pull/121 

and hope someone verifies this :)

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

They explicitly state that pull requests shoould be on branch 6.4:
https://github.com/mapserver/docs

ciao,renzo

> 
> 
> 
> -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
>>
> 
> 
> _______________________________________________
> mapserver-users mailing list
> mapserver-users at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/mapserver-users

-- 
Renzo Kottmann PhD
Max Planck Institute for Marine Microbiology
Microbial Genomics and Bioinformatics Research Group
Celsiusstr. 1
28359 Bremen
Germany
Phone: +49 421 2028 974


More information about the mapserver-users mailing list