[mapserver-users] Memoryproblem

Tamas Szekeres szekerest at gmail.com
Wed Aug 13 16:21:07 EDT 2008


Johan,

Could you try this out with a debug build? You can change the OPTFLAGS
section in nmake.opt by commenting out the # Debug with MSVCRT
section.
You should also add /debug:full to the csc command line in
/mapscript/csharp/makefile.vc
Finally you should enable the just in time debug option in the Visual
Studio IDE.
I hope this will help to locate the function that causes the problem
in the mapserver core.


Best regards,

Tamas



2008/8/13 Hallgren, Johan <johan.hallgren at logica.com>:
> Hello
>
> I have MapServer 5.2.0 and I have built the bin by myself. I use Windows Server 2003 standard edition.
>
> I also have tried to turn off all layers in the file and I have also removed all layes from the mapfile and still there is the same problem.
>
> Here is the file:
> +++++++++++++++++++++++++++
> #
> # Start of map file
> #
> MAP
>  NAME GIMS
>  STATUS ON
>  EXTENT 223559 6043080 2944725 7727610
> #               1470448 6850024 1471966 6851089
>  SIZE 500 500
>  UNITS METERS
>  IMAGECOLOR 255 255 255
>  FONTSET "D:\apps\GMSAgent\MapFiles\fonts.txt"
>  SYMBOLSET "D:\apps\GMSAgent\MapFiles\Symbol\symbolset.sym"
>  SHAPEPATH "D:\data\Mapdata\GIMS"
>  RESOLUTION 96
> # DEBUG 5
> # CONFIG "MS_ERRORFILE" "D:\apps\GMSAgent\log\mapserver.log"
>
> #  IMAGETYPE PNG
>  OUTPUTFORMAT
>   NAME 'AGG'
>   DRIVER AGG/PNG
>   IMAGEMODE RGB
>  END
>
>  WEB
>    TEMPLATE "c:\temp\template.txt"
>  END
>
>  #
>  # Start of legend
>  #
>  LEGEND
>    KEYSIZE 18 12
>    LABEL
>      TYPE BITMAP
>      SIZE MEDIUM
>      COLOR 0 0 89
>    END
>    STATUS ON
>    #STATUS embed
>  END
>
>  #
>  # Start of layer definitions
>  #
>
>  LAYER
>    NAME "Sjöar"
>    TYPE POLYGON
>    STATUS ON
>    DATA "vv/sj"
>    TEMPLATE "c:\temp\template.txt"
>    MAXSCALE 750000
>    CLASS
>      STYLE
>        OUTLINECOLOR 0 0 255
>        COLOR 165 250 255
>      END
>    END
>  END
>
>  LAYER
>    NAME "Stora Sjöar"
>    TYPE POLYGON
>    STATUS ON
>    DATA "vv/sj_large"
>    TEMPLATE "c:\temp\template.txt"
>    MINSCALE 750000
>    CLASS
>      STYLE
>        OUTLINECOLOR 0 0 255
>        COLOR 165 250 255
>      END
>    END
>  END
>
>  LAYER
>    NAME "Sveriges vatten"
>    TYPE POLYGON
>    STATUS ON
>    DATA "vv/rsv_hv_grid"
>    TEMPLATE "c:\temp\template.txt"
>    MINSCALE 30000
>    CLASS
>      STYLE
>        COLOR 165 250 255
>      END
>    END
>  END
>
>  LAYER
>    NAME "Öar"
>    TYPE POLYGON
>    STATUS ON
>    DATA "vv/Or"
>    TEMPLATE "c:\temp\template.txt"
>    MAXSCALE 300000
>    MINSCALE 30000
>    CLASS
>      STYLE
>        OUTLINECOLOR 0 130 255
>        COLOR 255 255 255
>      END
>    END
>  END
>
>  LAYER
>    NAME "Tätorter"
>    TYPE POLYGON
>    STATUS ON
>    DATA "vv/TATYT"
>    TEMPLATE "c:\temp\template.txt"
>    MAXSCALE 1000000
>    CLASS
>      STYLE
>        OUTLINECOLOR 0 0 0
>        COLOR 210 210 210
>      END
>    END
>  END
>
>  LAYER
>    NAME "Vägar"
>    TYPE LINE
>    STATUS ON
>    DATA "vv/vdb_m"
>    TEMPLATE "c:\temp\template.txt"
>    MAXSCALE 2000000
>    CLASS
>      EXPRESSION ([VAEGNR] > 1 AND [VAEGNR] < 100)
>      STYLE
>        SYMBOL solid
>        SIZE 2
>        COLOR 105 105 105
>      END
>    END
>    CLASS
>      MAXSCALE 1000000
>      EXPRESSION ([VAEGNR] >= 100 AND [VAEGNR] < 500)
>      STYLE
>        SYMBOL solid
>        SIZE 2
>        COLOR 105 105 105
>      END
>    END
>    CLASS
>      MAXSCALE 1000000
>      EXPRESSION ([VAEGNR] >= 500)
>      STYLE
>        COLOR 105 105 105
>      END
>    END
>  END
>
>  LAYER
>    NAME "Gränser"
>    TYPE LINE
>    STATUS ON
>    DATA "vv/Granser"
>    TEMPLATE "c:\temp\template.txt"
>    CLASS
>      EXPRESSION ([TYP] = 5)
>      STYLE
>        SYMBOL dot
>        COLOR 255 173 0
>        SIZE 2
>      END
>    END
>    CLASS
>      EXPRESSION ([TYP] = 6)
>      STYLE
>        COLOR 255 173 0
>      END
>    END
>    CLASS
>      EXPRESSION ([TYP] = 7)
>      STYLE
>        COLOR 255 173 0
>      END
>    END
>    CLASS
>      EXPRESSION ([TYP] = 8)
>      STYLE
>        SYMBOL solid
>        COLOR 255 173 0
>        SIZE 2
>      END
>    END
>  END
>
>  LAYER
>    NAME "Vattendrag"
>    TYPE LINE
>    STATUS ON
>    DATA "vv/vd"
>    TEMPLATE "c:\temp\template.txt"
>    MAXSCALE 500000
>    CLASS
>      STYLE
>        COLOR 0 219 255
>      END
>    END
>  END
>
>  LAYER
>    NAME "Texter"
>    TYPE LINE
>    STATUS ON
>    DATA "vv/TATTXT"
>    TEMPLATE "c:\temp\template.txt"
>    MAXSCALE 1250000
>    LABELITEM "TEXT"
>    CLASS
>      LABEL
>        ENCODING CP437
>        TYPE truetype
>        FONT verdanab
>        SIZE 10
>      END
>    END
>  END
>
>  LAYER
>    NAME "Texter småorter"
>    TYPE LINE
>    STATUS ON
>    DATA "vv/SMAORTTX"
>    TEMPLATE "c:\temp\template.txt"
>    MAXSCALE 1250000
>    LABELITEM "TEXT"
>    CLASS
>      LABEL
>        ENCODING CP437
>        TYPE truetype
>        FONT verdana
>        SIZE 8
>      END
>    END
>  END
>
>  LAYER
>    NAME "Sverige"
>    STATUS ON
>    TILEINDEX "D:\data\Mapdata\gsd\Svekra\idx"
>    TYPE RASTER
>    MAXSCALE 1500000
>    MINSCALE 250000
>  END
>
>  LAYER
>    NAME "Översiktskartan"
>    STATUS ON
>    TILEINDEX "D:\data\Mapdata\gsd\Overskra\idx"
>    TYPE RASTER
>    MAXSCALE 250000
>    MINSCALE 75000
>  END
>
>  LAYER
>    NAME "Vägkartan"
>    STATUS ON
>    TILEINDEX "D:\data\Mapdata\gsd\Vagkra\idx"
>    TYPE RASTER
>    MAXSCALE 75000
>    MINSCALE 25000
>  END
>
>  LAYER
>    NAME "Terrängkartan"
>    STATUS ON
>    TILEINDEX "D:\data\Mapdata\gsd\Terrkra\idx"
>    TYPE RASTER
>    MAXSCALE 25000
>  END
>
>  LAYER
>    NAME "Tätortskartan"
>    STATUS ON
>    TILEINDEX "D:\data\Mapdata\gsd\Tatortra\idx"
>    TYPE RASTER
>    OFFSITE 255 255 255
>    MAXSCALE 10000
>  END
> END # Map File
> +++++++++++++++++++++++++++
>
> /Johan
>
> ___________________________________
>
>
> Johan Hallgren
>
>
> Logica
> Pelle Bergs backe 3
> Box 1938, 791 19 Falun
> Tel (och mobil): 023-547 46 (int: +46-2354746)
> johan.hallgren at logica.com
> http://www.logica.se
>
> -----Original Message-----
> From: Tamas Szekeres [mailto:szekerest at gmail.com]
> Sent: den 13 augusti 2008 15:36
> To: Hallgren, Johan
> Cc: mapserver-users at lists.osgeo.org
> Subject: Re: [mapserver-users] Memoryproblem
>
> Johan,
>
> I wonder if this was a Win 2003 issue, since all of the windows builder are running on Win 2003 at the buildbot and the build process includes testing the getBytes function.
>
> How is your mapfile looking like? Which mapserver version are you testing with.
>
>
> Tamas
>
>
>
> 2008/8/13 Hallgren, Johan <johan.hallgren at logica.com>:
>> Hello Tamas
>>
>> I'm glad that you supports me here:)
>>
>> We are getting closer to the problem:)
>>
>> Your code (getbytes.exe) runs fine on my own pc, but when I move the code to the server the problem starts.
>>
>> I made a new project with your cs-file and named it getbytemap, but it's actually the same code as the getbytes.exe. The output below doesn't actually write the error but the "GetBytes:" is the first part och the exception message. I can guess that the memory already is corrupt. When I do the same with the debugger you can see the watch output below.
>>
>> One difference I have in mind compared to other environments I have used is that this server have more power. In the task manager there is eight CPUs.
>>
>> The problem is deterministic with the getbyte-code.
>>
>> Console output
>> +++++++++++++++++++++++++++++++++++
>> C:\temp>getbytemap.exe D:\apps\GMSAgent\MapFiles\gims.map
>> c:\temp\t.png Drawing map: 'GIMS' using imageObj.getBytes
>> GetBytes:
>>
>> C:\temp>getbytemap.exe D:\apps\GMSAgent\MapFiles\gims.map
>> c:\temp\t.png Drawing map: 'GIMS' using imageObj.getBytes Drawing map:
>> 'GIMS' using imageObj.write
>> GetBytes:
>>
>> C:\temp>getbytemap.exe D:\apps\GMSAgent\MapFiles\gims.map
>> c:\temp\t.png Drawing map: 'GIMS' using imageObj.getBytes
>> GetBytes:
>>
>> C:\temp>getbytemap.exe D:\apps\GMSAgent\MapFiles\gims.map
>> c:\temp\t.png Drawing map: 'GIMS' using imageObj.getBytes
>> GetBytes:
>>
>> C:\temp>getbytemap.exe D:\apps\GMSAgent\MapFiles\gims.map
>> c:\temp\t.png Drawing map: 'GIMS' using imageObj.getBytes
>> GetBytes:
>> +++++++++++++++++++++++++++++++++++
>>
>> Watch output
>> +++++++++++++++++++++++++++++++++++
>> ex.Message      "Attempted to read or write protected memory. This is often an indication that other memory is corrupt."        string
>> +++++++++++++++++++++++++++++++++++
>>
>> /Johan
>>
>> ___________________________________
>>
>>
>> Johan Hallgren
>>
>>
>> Logica
>> Pelle Bergs backe 3
>> Box 1938, 791 19 Falun
>> Tel (och mobil): 023-547 46 (int: +46-2354746)
>> johan.hallgren at logica.com http://www.logica.se
>>
>> -----Original Message-----
>> From: Tamas Szekeres [mailto:szekerest at gmail.com]
>> Sent: den 12 augusti 2008 16:48
>> To: Hallgren, Johan
>> Cc: mapserver-users at lists.osgeo.org
>> Subject: Re: [mapserver-users] Memoryproblem
>>
>> Johan,
>>
>> I haven't run into this problem yet. Do you able to run the getbytes console application in the /csharp directory?
>> Is this issue deterministic or random? Do you have an example to reproduce it?
>>
>> Best regards,
>>
>> Tamas
>>
>>
>> 2008/8/12 Hallgren, Johan <johan.hallgren at logica.com>:
>>> Hello
>>>
>>>
>>>
>>> I have a major problem when using imgMapObj.getBytes().
>>>
>>> The memory will be corrupt. The problem doesn't occur when using the
>>> save function.  I have not seen the problem on other servers so the
>>> problem seams to be related to a specific server (Windows Server 2003 standard edition).
>>>
>>> Error msg
>>>
>>> ++++++++++++++++++++++
>>>
>>> Attempted to read or write protected memory. This is often an
>>> indication that other memory is corrupt.
>>>
>>>    at OSGeo.MapServer.mapscriptPINVOKE.imageObj_getBytes(HandleRef
>>> jarg1, SWIGByteArrayDelegate jarg2)
>>>    at OSGeo.MapServer.imageObj.getBytes(SWIGByteArrayDelegate callback)
>>>    at OSGeo.MapServer.imageObj.getBytes()
>>>    at WMData.GIS.GMSAgent_WP.Libs.MapEngine.Get_Image(XmlDocument
>>> xmlDoc, Boolean bRetImage) in
>>> C:\Project\applications\GMS\GMSAgent_WP\Libs\MapEngine.cs:line 298
>>> ++++++++++++++++++++++
>>>
>>> I use mapserver in c# and I have version 5.2.0.
>>>
>>>
>>>
>>> /Johan
>>>
>>> Johan Hallgren
>>>
>>> Logica
>>> Pelle Bergs backe 3
>>> Box 1938, 791 19 Falun
>>> Tel (och mobil): 023-547 46 (int: +46-2354746)
>>> johan.hallgren at logica.com http://www.logica.se
>>>
>>>
>>> _______________________________________________
>>> 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