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 <[EMAIL PROTECTED]>: > 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) > [EMAIL PROTECTED] > http://www.logica.se > > -----Original Message----- > From: Tamas Szekeres [mailto:[EMAIL PROTECTED] > Sent: den 13 augusti 2008 15:36 > To: Hallgren, Johan > Cc: [email protected] > 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 <[EMAIL PROTECTED]>: >> 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) >> [EMAIL PROTECTED] http://www.logica.se >> >> -----Original Message----- >> From: Tamas Szekeres [mailto:[EMAIL PROTECTED] >> Sent: den 12 augusti 2008 16:48 >> To: Hallgren, Johan >> Cc: [email protected] >> 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 <[EMAIL PROTECTED]>: >>> 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) >>> [EMAIL PROTECTED] http://www.logica.se >>> >>> >>> _______________________________________________ >>> mapserver-users mailing list >>> [email protected] >>> http://lists.osgeo.org/mailman/listinfo/mapserver-users >>> >>> >> >> > > _______________________________________________ mapserver-users mailing list [email protected] http://lists.osgeo.org/mailman/listinfo/mapserver-users
