ThinkGeo.com    |     Documentation    |     Premium Support

Generic Error Occurred in GDI+

MapSuite Support Team,



I continue to experience Unhandled Exceptions that appear to originate from within the MapSuite SDK.  These cause serious issues for my application because they cause the application to terminate.



Would greatly appreciate you taking a look at the SDK to attempt to determine and correct the cause of these exceptions.



Attached is a log of the series of exceptions that are received.



Appreciate your assistance.



Regards,

Dennis



My application is compiled with Production Build 8.0.0.255.



My application has roughly 65 ShapeFileFeature Layers, 20 MrSid Layers, and 6 InMemoryFeatureLayers which process roughly 30 continuous GPS Messages per second.




FCT71ExceptionsGdiPlusException20150505.txt (11.7 KB)

MapSuite Support Team,


I encountered another "generic error occurred in GDI+" today.  These occur frequently sometimes once a day and on multiple workstations.


Attached is the log of the exception.


Looking at the log this is occurring in WpfDesktopEdition.Tile.  In my application the only layers that I tile are the MrSid Layers so at least this exception is isolated to this area.  I make use of GeoRasterWrapperX86.dll dated 07/01/2014, because as I noted in another topic, this dll in the 8.0.0.255 release dated 12/22/2014 does not work at all.


I believe this exception goes back a long time as I have encountered this in V7.


Below are some website forms that I found by searching for this exception on the Internet.  I include them thinking that they may be of help as it appears this is a common exception from GDI+.


Your support with this exception is appreciated.


Regards,

Dennis






stackoverflow.com/questions/...image-save


stackoverflow.com/questions/...o-memoryst


forums.asp.net/t/1766006.asp...red+in+GDI+


social.msdn.microsoft.com/F...m=netfxbcl


stackoverflow.com/questions/...-is-closed


stackoverflow.com/questions/...morystream







PDT101GenericErrorFromGdiPlus20150506.txt (3.02 KB)

Hi Dennis,

Thanks for your post and details. 

Would you please let us know how many overlays in your application? Seems this issue is caused by lacking of memory. As the exception is thrown by code like: 
   MemoryStream memoryStream = new MemoryStream();

  bitmap.Save(memoryStream, System.Drawing.Imaging.ImageFormat.Png);


As you
can see, they are very general. 


It would be great appreciated if you can provide us a sample to recreate
this issue on our end. Please contact sales@thinkgeo.com,
they will create an ftp for you.


Thanks,


Kevin



Kevin,



See my initial post for a description of my layers.



This is an intermittent exception so sending you code really not practical.



Regards,

Dennis


Hi Dennis, 
  
 Because we cannot reproduce your issue, we think that’s because your scenario more complex than our test environment. 
  
 I found some topic talk about “A generic error occurred in GDI+.” issue, I guess that’s caused by the reason mentioned in this blog: blog.vishalon.net/index.php/bitmapsave-a-generic-error-occurred-in-gdi 
  
 The problem is we cannot test that if we modify it. So the solution should be we build a temporary dll version which contains this change and you test that in your version. Please wait our daily build continue next month and our release manager back from new release work. 
  
 Regards, 
  
 Don 
  


Don,



Thanks for the update.  I will be happy to get the temporary dll from you to test.



Do you know what build it will be in?  If not know now let me know when you find out.



Regards,

Dennis


Hi Dennis,  
  
 Just let you know, our temporary dll version will follow our auto build version, so it will be 9.0.x.x. Please test that using our 9.0 dlls after daily build recover. 
  
 I am sorry, I think I don’t understand your question in last reply, could you please describe it again? 
  
 Regards, 
  
 Don

Don,



I was asking in what version will the test dll be available?  And will it be available in a Production or Development Build?



Thanks,

Dennis


Hi Dennis, 
  
 Sorry I don’t know the detail version, but the version should be 9.0.x.0, it will be a development build. 
  
 Regards, 
  
 Don

hi Don,



We are still at V9.0.0.0 Production Build and was wondering if you have a date as to when there will V9.0.0.x Production Build.  I’m waiting on the Production Build as my application will go into a production environment.



Regards,

Dennis


Hi Dennis, 
  
 If a fix is proved works and it haven’t introduced new issue, we will move it to production version. 
  
 So please don’t worry about that, if you tested the issue solved we will move that to production issue. 
  
 Regards, 
  
 Don

Don,



Are you saying that this fix you made is in the Development Build 9.0.14.0?  And that this is the version I should be testing?



And if it is okay then you move it to the Production Build?



Thanks,

Dennis


Don,



I’m attempting to compile my application with V9.0.16.0, but encountering issues with SQLite.



My application has a target of .NET V4.0.  However, System.Data.SQLite.dll has been compiled with a target of .Net4.5, which prevents my application from being successfully compiled.



Do you have versions of the three SQLite DLL’s compiled with a target of .NET 4.0?





I am also having issues with loading MrSid Rasters.  I have this issue with each new major release of MapSuite.  On the Open I receive what states to be possible memory violation.  Every time I go to a new major release I get this issue and it has always been a problem with the GeoRaster dll’s.



I can successfully open one MrSid Raster, but if attempt to open more than one the application encounters an exception.





While running in Visual Studio Debug mode I am seeing the below statements in the Visual Studio Output Window.  Looks like some Information Logging has been added to a MapSuite DLL.  I can’t run in a production environment with these going as I can tell that these slow down the map.



Would appreciate your assistance on these three issues.



Thanks,

Dennis





ViewOfChicago.vshost.exe Information: 0 : Icons|FetchTime=00:00:00.0003464|StyleTime=00:00:00.0000003|FetchedCount=0|FetchedBytes=0
ViewOfChicago.vshost.exe Information: 0 : Points|FetchTime=00:00:00.0002130|StyleTime=00:00:00.0000003|FetchedCount=0|FetchedBytes=0
ViewOfChicago.vshost.exe Information: 0 : Icons|FetchTime=00:00:00.0003149|StyleTime=00:00:00.0000003|FetchedCount=0|FetchedBytes=0
ViewOfChicago.vshost.exe Information: 0 : Points|FetchTime=00:00:00.0006698|StyleTime=00:00:00.0000003|FetchedCount=0|FetchedBytes=0










Don,



Below is the exception on the MrSid Rasters.



Dennis



System.AccessViolationException was unhandled
  HResult=-2147467261
  Message=Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
  Source=MapSuiteCore
  StackTrace:
       at xRM=.0kM=.wRs=(String fileName)
       at ThinkGeo.MapSuite.Core.GisImage.6jw=(String filePathName)
       at ThinkGeo.MapSuite.Core.MrSidRasterSource.OpenCore()
       at ThinkGeo.MapSuite.Core.RasterSource.Open()
       at ThinkGeo.MapSuite.Core.RasterLayer.OpenCore()
       at ThinkGeo.MapSuite.Core.Layer.Open()
  InnerException: 






Hi Dennis, 
  
 For SQLite, it don’t related with 4.0 or 4.5, it should because you haven’t get correct version of System.Data.SQLite.dll and SQLite.Interop.dll. Please try 1.0.94.0 and 1.0.97.0 for System.Data.SQLite.dll. 
  
 For Mrsid, I need to let our developer have a look at it. 
  
 Regards, 
  
 Don

Don,



It would appear that the proper versions of the SQLite dll’s are not in V9.0.16.0 or V9.0.17.0.



You said to use Version 1.0.97.0 for System.Data.SQLite.dll, but there is no such version in the download.  It is Version 1.0.94.0.



Also, the version of System.Data.SQLite.dll that is there causes the following compile error:

Warning 3 The primary reference “System.Data.SQLite” could not be resolved because it was built against the “.NETFramework,Version=v4.5” framework. This is a higher version than the currently targeted framework “.NETFramework,Version=v4.0”. OriStarVisionMapSuite


What I did was to get the three SQLite DLL’s from:

C:\Program Files (x86)\ThinkGeo\Map Suite 9.0\Map Suite World Map Kit SDK\Current Version\World Map Kit SDK Source\packages\System.Data.SQLite.Core.1.0.97.0



And from this directory I was able to select the .NET4.0 DLL’s.



My application now is able to access and display the layers contained in SQLite.



Will you be placing the .NET4.0 and 1.0.97.0 versions in the 9.0.0.x and 9.0.x.0 Versions?



Regards,

Dennis









Don,



I’ve loaded my application on a ‘live’ workstation (not a production workstation) and it appears to run pretty well.



In order to fully test for our original issue (GDI+ Exception) I’ll need the GeoRasterX86 DLL issue resolved.  Once I get those from you I will then be able to install on a live production workstation.



Regards,

Dennis


Hi Dennis, 
  
 We have do the fix follow the topic I mentioned before. 
  
 Please test that with the version 9.0.20.0 or higher version. 
  
 And any update please let us know. 
  
 Regards, 
  
 Don 
  


Don,



Upgrading to a new MapSuite version is very frustrating especially when attempting to upgrade to an intermediate version.  I’m always encountering issues.



When using the ThinkGeo Product Center I press the Download Button for V9.0.20.0 and it downloads.  Then it asks some question about having to updated the dll’s in the SYSWow64 directory and I say yes to that.  Is this all that has to be done to download and use the new version?  Or am I missing something?





The situation with the SQLite DLL’s still exists.



When I use the SQLite dll’s from 9.0.20.0 I continue to get the following compile error:



Warning 3 The primary reference “System.Data.SQLite, Version=1.0.97.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL” could not be resolved because it was built against the “.NETFramework,Version=v4.5” framework. This is a higher version than the currently targeted framework “.NETFramework,Version=v4.0”. OriStarVisionMapSuite.



Also, has the issue with the MrSid’s been resolved as I see no new DLL’s for this?



Appreciate you assistance with this.

Dennis
















Don,



I confirmed that the MrSid’s are not working with V9.0.20.0.



This has been a recurring problem when going to a new major release so you may want to check your historical records to see what was done in the past to resolve this as maybe a fix has been ‘lost’.



Thanks,

Dennis