<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Over the course of testing a new app written with a MonoMac GUI we've been experiencing sporadic crashes apparently related to invalid type casting. We haven't been able to pin point an exact source so I'm curious if others have experienced the same issue or have any thoughts.<div><br><div><div>This has been occurring over the course of a couple of months and we regularly update our libs Mono from binary releases and MonoMac from git.</div><div><br></div><div>Some examples:</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>#1 &amp; #2 are in event loops and get fired very frequently and only a handful of crashes have been reported, so the occurrences are somewhat rare but often enough to be of concern.</div><div><br></div><div>1)</div><div><br></div><div><div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="Apple-tab-span" style="white-space:pre">        </span>NSEventMask mask = NSEventMask.AnyEvent;</div><div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;NSApplication app = NSApplication.SharedApplication;</div><div>&nbsp;&nbsp; &nbsp;</div><div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;NSEvent evt = app.NextEvent(mask, NSDate.DistantPast, NSRunLoop.NSDefaultRunLoopMode, true);</div></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; color: rgb(72, 72, 72); font-size: 12px; "><pre style="margin-top: 1em; margin-right: 1em; margin-bottom: 1em; margin-left: 1.6em; padding-top: 2px; padding-right: 2px; padding-bottom: 2px; padding-left: 0px; background-color: rgb(250, 250, 250); border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(218, 218, 218); border-right-color: rgb(218, 218, 218); border-bottom-color: rgb(218, 218, 218); border-left-color: rgb(218, 218, 218); width: auto; overflow-x: auto; ">   Exception Source:      MonoMac
   Exception Type:        System.InvalidCastException
   Exception Target Site: NSApplication.NextEvent
   Exception Message:     Cannot cast from source type to destination type.
   Exception Data:        none

   --[ Stack Trace ]------------
   MonoMac.AppKit.NSApplication.NextEvent(NSEventMask mask, NSDate expiration, String mode, Boolean deqFlag)</pre></span><div><br></div></div><div>2)</div><div><br></div><div><div>&nbsp;&nbsp;NSApplication.SharedApplication.NextEvent(NSEventMask.AnyEvent,</div><div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;NSDate.FromTimeIntervalSinceNow((double)wait / 1000.0),</div><div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;NSRunLoop.NSDefaultRunLoopMode,</div><div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;false);</div></div><div><br></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; color: rgb(72, 72, 72); font-size: 12px; "><pre style="margin-top: 1em; margin-right: 1em; margin-bottom: 1em; margin-left: 1.6em; padding-top: 2px; padding-right: 2px; padding-bottom: 2px; padding-left: 0px; background-color: rgb(250, 250, 250); border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(218, 218, 218); border-right-color: rgb(218, 218, 218); border-bottom-color: rgb(218, 218, 218); border-left-color: rgb(218, 218, 218); width: auto; overflow-x: auto; ">   Exception Source:      MonoMac
   Exception Type:        System.InvalidCastException
   Exception Target Site: NSDate.FromTimeIntervalSinceNow
   Exception Message:     Cannot cast from source type to destination type.
   Exception Data:        none

   --[ Stack Trace ]------------
   MonoMac.Foundation.NSDate.FromTimeIntervalSinceNow(Double secs)</pre></span><div><br></div></div><div>3)</div><div><div>&nbsp;&nbsp; &nbsp; &nbsp; foreach (string path in NSWorkspace.SharedWorkspace.MountedLocalVolumePaths)</div></div><div><br></div><div><span class="Apple-style-span" style="font-family: Verdana, sans-serif; color: rgb(72, 72, 72); font-size: 12px; "><pre style="margin-top: 1em; margin-right: 1em; margin-bottom: 1em; margin-left: 1.6em; padding-top: 2px; padding-right: 2px; padding-bottom: 2px; padding-left: 0px; background-color: rgb(250, 250, 250); border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(218, 218, 218); border-right-color: rgb(218, 218, 218); border-bottom-color: rgb(218, 218, 218); border-left-color: rgb(218, 218, 218); width: auto; overflow-x: auto; ">   Exception Source:      MonoMac
   Exception Type:        System.InvalidCastException
   Exception Target Site: NSWorkspace.get_NotificationCenter
   Exception Message:     Cannot cast from source type to destination type.
   Exception Data:        none

   --[ Stack Trace ]------------
   MonoMac.AppKit.NSWorkspace.get_NotificationCenter()</pre></span><div><br></div></div></div></div><div>Thanks for any feedback</div><div>-Joe</div></div></body></html>