Bug 31085 - CGAffineTransformInvert: singular matrix.
Summary: CGAffineTransformInvert: singular matrix.
Alias: None
Product: Xamarin.Mac
Classification: Desktop
Component: Library (Xamarin.Mac.dll) ()
Version: 2.0.0
Hardware: Macintosh Mac OS
: High major
Target Milestone: ---
Assignee: Chris Hamons
Depends on:
Reported: 2015-06-12 19:36 UTC by Yvonne Du
Modified: 2015-06-23 12:44 UTC (History)
3 users (show)

Is this bug a regression?: ---
Last known good build:

Notice (2018-05-24): bugzilla.xamarin.com is now in read-only mode.

Please join us on Visual Studio Developer Community and in the Xamarin and 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 Links.

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.

Related Links:

Description Yvonne Du 2015-06-12 19:36:34 UTC
1. create a NSTableView in MonoMac. 
2. let its datasource has 900000 rows and 2 columns, and just return a string "hello" for every column and every row.
 No matter whether the NSTableView is cel-based or view-based.

3. build and run the application, scroll NSTableView to the last row. 

You cannot scroll to the last rows, and it throws this error (CGAffineTransformInvert: singular matrix).

Expected Result:
You can scroll to the last rows. 

Note: If you build this in XCode directly, NSTableView supports almost un-limited rows.
Comment 1 Chris Hamons 2015-06-15 11:01:59 UTC
Can you please post and example showing the problem?

I took this sample:


and made these changes:


and I can use Home / End to get to the beginning / end of the view with no crashes.
Comment 2 Yvonne Du 2015-06-15 13:50:15 UTC
I update load a sample project here https://github.com/yingfangdu/SampleProject/tree/master/NSTableView

while in fact, I used your test project, and find that i can not even scroll the table content. 

Please try mine. thanks.
Comment 3 Chris Hamons 2015-06-23 12:44:09 UTC
This appears to be a limitation of 32-bit applications. I rebuilt your example in Unified Xamarin.Mac:


And I see the error if I swap it to 32-bit. However, when I move to 64-bit, everything works fine.

Since Xcode by default these days makes 64-bit applicants, it matches this behavior.

You'll need to move to Unified to build 64-bit applications.