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

DryIoc throws exception on iOS #1806

Closed
dansiegel opened this issue May 24, 2019 · 3 comments · Fixed by #1808
Closed

DryIoc throws exception on iOS #1806

dansiegel opened this issue May 24, 2019 · 3 comments · Fixed by #1808
Assignees
Labels
Milestone

Comments

@dansiegel
Copy link
Member

Description

DryIoc 4.0 adds support for the FastExpressionCompiler which makes it even faster, however this requires support for JIT which is not supported on iOS. The rules for the container need to be updated to remove the FastExpressionCompiler when running on iOS.

WORK AROUND

For those experiencing the issue you can resolve it by adding the following to your PrismApplication

protected override Rules CreateContainerRules()
{
    return base.CreateContainerRules()
        .WithoutFastExpressionCompiler();
}

Steps to Reproduce

  1. Use latest 7.2 preview for Prism.DryIoc.Forms
  2. Run on iOS

Expected Behavior

No Exception

Actual Behavior

Attempting to JIT compile method 
'FastExpressionCompiler.LightExpression.ExpressionCompiler:TryCompile (FastExpressionCompiler.LightExpression.ExpressionCompiler/ClosureInfo&,
    System.Type,System.Type[],
    System.Type,FastExpressionCompiler.LightExpression.Expression,
    System.Collections.Generic.IReadOnlyList`1<FastExpressionCompiler.LightExpression.ParameterExpression>,bool)' 
while running in aot-only mode. 
See https://docs.microsoft.com/xamarin/ios/internals/limitations for more information.

Basic Information

  • Version with issue: 7.2.0.1233-pre
  • Last known good version: 7.2.0.1038-pre
  • Xamarin.Forms version: n/a
  • IDE: n/a
@dansiegel dansiegel added this to the Prism 7.2 milestone May 24, 2019
@dansiegel dansiegel self-assigned this May 24, 2019
dansiegel added a commit that referenced this issue May 25, 2019
@YZahringer
Copy link

Shouldn't it be disabled only on the iOS platform?

@dansiegel
Copy link
Member Author

No. The FastExpressionCompiler will not work anytime you use AOT which would include Android.

@lock
Copy link

lock bot commented Jan 28, 2020

This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.

@lock lock bot locked as resolved and limited conversation to collaborators Jan 28, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants