Bug 57476 - AOT fails with large StructLayout size on Debug+ARMv7
Summary: AOT fails with large StructLayout size on Debug+ARMv7
Alias: None
Product: iOS
Classification: Xamarin
Component: Mono runtime / AOT compiler ()
Version: XI 10.10 (d15-2)
Hardware: Macintosh Mac OS
: Normal normal
Target Milestone: Future Cycle (TBD)
Assignee: Zoltan Varga
Depends on:
Reported: 2017-06-14 10:01 UTC by Tom Gilder
Modified: 2017-06-22 18:21 UTC (History)
5 users (show)

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

Example repro solution (7.90 KB, application/zip)
2017-06-14 10:02 UTC, Tom Gilder
Full build log with -v -v -v (28.67 KB, text/plain)
2017-06-14 10:03 UTC, Tom Gilder
Environment info (1.88 KB, text/plain)
2017-06-14 10:04 UTC, Tom Gilder

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 for Bug 57476 on Developer Community or GitHub if you have new information to add and do not yet see a matching new report.

If the latest results still closely match this report, you can use the original description:

  • Export the original title and description: Developer Community HTML or GitHub Markdown
  • Copy the title and description into the new report. Adjust them to be up-to-date if needed.
  • Add your new information.

In special cases on GitHub you might also want the comments: GitHub Markdown with public comments

Related Links:

Description Tom Gilder 2017-06-14 10:01:31 UTC
# Steps to reproduce

1. Create a struct with a size above 4100 - [StructLayout(LayoutKind.Auto, Size = 4101)]   
2. Ensure iOS debugging is enabled (MtouchDebug=true)
2. Attempt to compile for a 32-bit iOS Device on ARMv7

# Expected behavior

Compiles successfully

# Actual behavior

Fails with "Could not AOT the assembly"

# Supplemental info (logs, images, videos)

Logs and repro projet to come
Comment 1 Tom Gilder 2017-06-14 10:02:34 UTC
Created attachment 22878 [details]
Example repro solution

Repro solution - ensure you're building for Debug
Comment 2 Tom Gilder 2017-06-14 10:03:41 UTC
Created attachment 22879 [details]
Full build log with -v -v -v
Comment 3 Tom Gilder 2017-06-14 10:04:44 UTC
Created attachment 22880 [details]
Environment info
Comment 4 Vincent Dondain [MSFT] 2017-06-14 22:19:07 UTC
I managed to successfully reproduce this issue using the above repro steps and the following environment: https://gist.github.com/VincentDondain/a84e7b2cc058b8b890c98752809a57e0

This bug doesn't seem to be a regression as it does not work with (XI 10.8 / Mono 4.8) either: https://gist.github.com/VincentDondain/d99af3a7917c25825d3d52ce1a1e419f.
Comment 5 Zoltan Varga 2017-06-20 18:37:24 UTC

Note that this only affects 32 bit.
Comment 6 Rolf Bjarne Kvinge [MSFT] 2017-06-21 10:45:25 UTC
@Zoltan, can this be back ported to 2017-06?
Comment 7 Zoltan Varga 2017-06-21 18:30:46 UTC
The arm builds failed on wrench, so the fix might not be good.
Comment 8 Zoltan Varga 2017-06-22 18:21:34 UTC