Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Xamarin.Android.Build.Tasks] Hitting "System.IO.IOException: Too many open files" when building a large app with AOT and all supported architectures (#493) #516

Merged
merged 1 commit into from Mar 23, 2017

Conversation

dellis1972
Copy link
Contributor

Fixes: https://bugzilla.xamarin.com/show_bug.cgi?id=53122

There is a problem with libzip in that is does not have an
API for Flushing the current items in memory to disk.
This was why ZipArchiveEx was introduced in commit 9166e03.
This commit reworks the BuildApk task to make sure of this
new functinality and to periodically flush the zip to disk.
This will reduce the chances of running out of memory.

It also adds a unit test which generates and builds an app
which has a large number of refernces and assets. This app
also gets AOT'd so it should be pushing the system to the limit.

Also added code to make sure the cross tools and llc have
execute permissions.

Added code to make sure we dispose of each process in the Aapt and
Aot tasks. This is to ensure any files or pipes these processed have
are removed as soon as possible.

Updated the unix-distribution-setup.targets to ensure that the cross-arm
tooling and llc have the correct execute permissions on MacOS and Linux.

…y open files" when building a large app with AOT and all supported architectures (xamarin#493)

Fixes: https://bugzilla.xamarin.com/show_bug.cgi?id=53122

There is a problem with libzip in that is does not have an
API for Flushing the current items in memory to disk.
This was why ZipArchiveEx was introduced in commit 9166e03.
This commit reworks the BuildApk task to make sure of this
new functinality and to periodically flush the zip to disk.
This will reduce the chances of running out of memory.

It also adds a unit test which generates and builds an app
which has a large number of refernces and assets. This app
also gets AOT'd so it should be pushing the system to the limit.

Also added code to make sure the cross tools and llc have
execute permissions.

Added code to make sure we dispose of each process in the Aapt and
Aot tasks. This is to ensure any files or pipes these processed have
are removed as soon as possible.

Updated the unix-distribution-setup.targets to ensure that the cross-arm
tooling and llc have the correct execute permissions on MacOS and Linux.
@jonpryor jonpryor merged commit 1f79575 into xamarin:d15-1 Mar 23, 2017
jonpryor added a commit to jonpryor/xamarin-android that referenced this pull request Nov 19, 2019
Changes: xamarin/java.interop@baf43b0...166a6c9

Fixes: xamarin/java.interop#519

  * xamarin/java.interop@166a6c9: [Java.Interop-Tests] Remove Reflection from JavaPrimitiveArrayContract (xamarin#521)
  * xamarin/java.interop@09083d9: [generator] Support empty package names (xamarin#520)
  * xamarin/java.interop@af3dc77: [build] Set up YAML Azure pipeline. (xamarin#516)
  * xamarin/java.interop@8602581: [java-interop] Enabling -fPIC on Linux build - part 2 (xamarin#518)
  * xamarin/java.interop@ff3081d: [build] Migrate library projects to SDK style + netstandard2.0 (xamarin#507)
  * xamarin/java.interop@f5d29c3: [generator] Ensure all usage of parameter names are escaped the same (xamarin#506)
  * xamarin/java.interop@17cdf54: Add vscode files so we can build/debug/test from inside the vscode ide (xamarin#513)
jonpryor added a commit that referenced this pull request Nov 20, 2019
Changes: xamarin/java.interop@baf43b0...166a6c9

Fixes: xamarin/java.interop#519

  * xamarin/java.interop@166a6c9: [Java.Interop-Tests] Remove Reflection from JavaPrimitiveArrayContract (#521)
  * xamarin/java.interop@09083d9: [generator] Support empty package names (#520)
  * xamarin/java.interop@af3dc77: [build] Set up YAML Azure pipeline. (#516)
  * xamarin/java.interop@8602581: [java-interop] Enabling -fPIC on Linux build - part 2 (#518)
  * xamarin/java.interop@ff3081d: [build] Migrate library projects to SDK style + netstandard2.0 (#507)
  * xamarin/java.interop@f5d29c3: [generator] Ensure all usage of parameter names are escaped the same (#506)
  * xamarin/java.interop@17cdf54: Add vscode files so we can build/debug/test from inside the vscode ide (#513)
@github-actions github-actions bot locked and limited conversation to collaborators Feb 5, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants