Notice (2018-05-24): bugzilla.xamarin.com is now in
Please join us on
Visual Studio Developer Community and in the
Mono organizations on
GitHub to continue tracking issues. Bugzilla will remain
available for reference in read-only mode. We will continue to work
on open Bugzilla bugs, copy them to the new locations
as needed for follow-up, and add the new items under Related
Our sincere thanks to everyone who has contributed on this bug
tracker over the years. Thanks also for your understanding as we
make these adjustments and improvements for the future.
Please create a new report on
Developer Community or GitHub with
your current version information, steps to reproduce, and relevant error
messages or log files if you are hitting an issue that looks similar to
this resolved bug and you do not yet see a matching new report.
Running the test case attached will reproduce this on a DEVICE only using Xam.iOS 7.0.6. In the simulator it seems to work.
Running the same test case on a device with Xam.iOS 7.0.5 works normally.
Might be similar to #17695.
If you comment out the call to Matrix.Identity in Game.cs:line 30 it will work on 7.0.6.
Version: 188.8.131.52 (Business Edition)
Build date: 2013-02-12 20:04:08-0500
Version 4.2.3 (build 54)
Installation UUID: bb00cd30-1c19-4ed5-b390-f732a454afd5
Mono 3.2.6 ((no/9b58377)
GTK+ 2.24.23 theme: Raleigh
Package version: 302060000
MonoGame hotfix 3.0.1
Created attachment 6061 [details]
Created attachment 6062 [details]
Another repro project using Matrix4d.CreatePerspectiveFieldOfView
Here is another very simple project that reproduces the same issue using Matrix4d.CreatePerspectiveFieldOfView.
@John the list of version you supplied shows 7.0.5 (not 7.0.6). Does it happens on both ? or just in 7.0.6 ?
@Marco Can you try the 7.0.7 (beta channel) ?
There was an ARM (device specific) bug in 7.0.6 that could cause some weird behavior (register spilling). That's fixed in 7.0.7 (one of the reasons for doing an hotfix release).
I can confirm that the problem still occurs with 7.0.7 from the Beta channel.
Thanks for the perfect test case.
Here is a simpler one:
private void Render ()
Func (0, 0, 0, 0, 0, 0, 0);
private void Func (double m00, double m01, double m02, double m03, double m10, double m11, double m12)
this clobbers d8. Here's the generated assembly: https://gist.github.com/rolfbjarne/a13236466be2cfcc2231
Alex, thanks for the help.