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 (show other bugs)
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)

See Also:
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

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

Note You need to log in before you can comment on or make changes to this bug.