[Mono-bugs] [Bug 653502] New: Runtime crash: An exception was thrown by the type initializer for PredicteOf'1
bugzilla_noreply at novell.com
bugzilla_noreply at novell.com
Sun Nov 14 05:54:34 EST 2010
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: gnorton at novell.com
ReportedBy: rainer at qythyx.com
QAContact: mono-bugs at lists.ximian.com
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.
More information about the mono-bugs
mailing list