ThinkGeo.com    |     Documentation    |     Premium Support

Divide By Zero

Hi guys,


 


I just started getting this exception in one of my layers when I make it visible (sometimes, sometimes it works fine):


Attempted to divide by zero.


   at ThinkGeo.MapSuite.WpfDesktopEdition.TileOverlay.txQ=(Object uBQ=, EventArgs uRQ=)

   at ThinkGeo.MapSuite.WpfDesktopEdition.Tile.OnOpened(EventArgs args)

   at ThinkGeo.MapSuite.WpfDesktopEdition.Tile.set_IsOpened(Boolean value)

   at ThinkGeo.MapSuite.WpfDesktopEdition.Tile.CommitDrawingCore(GeoCanvas geoCanvas, Object imageSource)

   at ThinkGeo.MapSuite.WpfDesktopEdition.Tile.CommitDrawing(GeoCanvas geoCanvas, Object nativeImage)

   at ThinkGeo.MapSuite.WpfDesktopEdition.Tile.tBM=(Object tRM=, RunWorkerCompletedEventArgs thM=)

   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)

   at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)


I am using version 4.5.142... I'm unsure if its something I'm doing (or not doing) or something internal... just looking to see if you guys have any ideas?


Thanks,


.Ryan.



If it helps, it is a MarkerOverlay that this is occurring on.

We are actually now seeing this without that layer turned on, just panning around with ShapeFileFeature layers turned on.

Hi Ryan, 
  
 From your description we can’t track the root cause, could you please provide us some code snippet or sample to re-produce this issue? 
  
 Thanks, 
  
 Ivan

I’ll see if I can come up with something at some point.  Just to give you more details about what I’ve found today: 
  
 This occurs in my OverlayCollection I created based on this post: 
 gis.thinkgeo.com/Support/DiscussionForums/tabid/143/aff/39/aft/8237/afv/topic/Default.aspx#24344 
  
 It happens in a LayerOverlay which contains NO (zero) layers in it… 
  
 Maybe that will help you guys track it down before I can get a sample up.  My problem right now is that this doesn’t occur all the time so creating a demo to isolate the issue is a little hard. 
  
 .Ryan.

I’ve rolled back to 4.5.129 and have not been able to reproduce this issue as of now… so the cause seems to be something that has changed from 129 to 142 
  
 .Ryan.

Hi Ryan, 
  
 Currently we can’t reproduce your issue, we don’t have any breaking changes from 4.5.129.* to 4.5.142.*. Tracking the root cause is somewhat hard but we’re working on it. Please keep an eye on this thread and tell us if you have any new progress. 
  
 Regards, 
 Ivan

Hi Ivan, 
  
 I have found that I have a LayerOverlay that has no layers in it… if I comment out the code adding this overlay, I can’t seem to crash it, however with it in it crashes randomly.  I’m trying to work on a sample app, but so far haven’t got anything that recreates this issue consistently enough to where I know you will see it.  I see it if I have that overlay on and just pan quickly around the map.  Maybe this information will help even if I can’t get a sample for you 
  
 .Ryan.

I added an empty InMemoryFeatureLayer to the empty LayerOverlay that I believed to be causing the crash and cannot get the application to crash.  Unfortunately, I’ve created a sample app with an empty LayerOverlay and cannot consistently reproduce the issue), however I cannot reproduce the issue at all when I add that InMemoryFeatureLayer, so I feel like something is being divided by the number of layers (sometimes?) and is blowing up.  Hope this helps. 
  
 .Ryan.

Ryan, 
  
 I’m sorry to tell you I also cannot reproduce your problem exactly as Ivan said, we really need your sample application to reproduce it, if you can reproduce it I believe there are something affect it. If the LayerOverlay is empty, we would not draw any layers on the map, but according to the stack track what you posted above it seems that the exception was occurred when any layers were drawing.  
  
 If you are not sure where is the problem, please zip the whole solution to us we will try to reproduce it based on your sample application, 
  
 Thanks, 
  
 Scott,