https://bugzilla.novell.com/show_bug.cgi?id=653502
https://bugzilla.novell.com/show_bug.cgi?id=653502#c0 Summary: Runtime crash: An exception was thrown by the type initializer for PredicteOf'1 Classification: Mono Product: MonoTouch Version: unspecified Platform: Other OS/Version: Other Status: NEW Severity: Normal Priority: P5 - None Component: Runtime AssignedTo: [email protected] ReportedBy: [email protected] QAContact: [email protected] Found By: --- Blocker: --- Created an attachment (id=400095) --> (http://bugzilla.novell.com/attachment.cgi?id=400095) MonoDevelop crash dump User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.7 (KHTML, like Gecko) Chrome/7.0.517.44 Safari/534.7 While trying to debug this MonoDevelop crashed (details attached), so I don't have full details. First, the inner exception was: Attempting to JIT compile method 'System.Linq.Enumerable/PredicateOf`1<Qythyx.Zoing.Game.Ship/IntentionWithTime>:.cctor ()' while running with --aot-only. IntentionWithTime in a private struct. It is relatively simple, so I've included it and another referenced struct, Intention in the Additional Information section. The action code being run when the exception occurred was: _nextIntention = ( from interaction in interactions where interaction != IntentionWithTime.Empty && interaction.Time <= timeRemaining orderby interaction.Time select interaction ).FirstOrDefault(); Reproducible: Always Steps to Reproduce: 1. 2. 3. private struct IntentionWithTime { public static readonly IntentionWithTime Empty = new IntentionWithTime(); public float Time; public Intention Intention; public bool Bounced; public IntentionWithTime(float time, Intention intention, bool bounced) { Time = time; Intention = intention; Bounced = bounced; } public override string ToString() { return String.Format("{0} @ {1} {2}", Intention, Time, Bounced ? "Bounced" : "No Bounce"); } public static bool operator ==(IntentionWithTime a, IntentionWithTime b) { return a.Time == b.Time && a.Intention == b.Intention; } public static bool operator !=(IntentionWithTime a, IntentionWithTime b) { return !(a == b); } public override bool Equals(object obj) { return this == (IntentionWithTime)obj; } public override int GetHashCode() { return Time.GetHashCode() ^ Intention.GetHashCode() ^ Bounced.GetHashCode(); } } private struct Intention { public Vector2 Position; public Direction Direction; public float Speed; public Intention(Vector2 position, Direction direction, float speed) { Position = position; Direction = direction; Speed = speed; } public Intention GetOffset(float ticks) { Intention next = this; next.Position = Position + Direction.CreateDelta(ticks * Speed); return next; } public override string ToString() { return String.Format("{0} {1} {2}", Position, Direction, Speed); } public static bool operator ==(Intention a, Intention b) { return a.Position == b.Position && a.Direction == b.Direction && a.Speed == b.Speed; } public static bool operator !=(Intention a, Intention b) { return !(a == b); } public override bool Equals(object obj) { return obj is Intention && this == (Intention)obj; } public override int GetHashCode() { return Position.GetHashCode() ^ Direction.GetHashCode() ^ Speed.GetHashCode(); } } -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the QA contact for the bug. _______________________________________________ mono-bugs maillist - [email protected] http://lists.ximian.com/mailman/listinfo/mono-bugs
