Repository navigation
[IOS Xamarin] System.ExecutionEngineException: Attempting to JIT compile method 'void SixLabors.ImageSharp.Formats.Png.PngScanlineProcessor:ProcessRgbScanline<SixLabors.ImageSharp.PixelFormats.Rgba32> #1708
Description
Activity
You've chopped off the first line of the exception message that tells us the exception thrown can you please supply it?Can you also update the target framework. It can't be .NET Standard 2.0 unless it is a class library.
We'll also need the image.Edit.
Just realized you put the exception in the title. You'll need to raise this upstream. It's an issue with the Xamarin AOT compiler not with ImageSharp. See this note as to why. #1703 (comment)
We have tried to patch our way around issues so I would suggest trying one of our nightly builds to see if we've managed to avoid this particular issue.
- addedupstream-issueIssue depends on upstream dependency fix.Issue depends on upstream dependency fix.
on Jul 19, 2021 You've chopped off the first line of the exception message that tells us the exception thrown can you please supply it?
Can you also update the target framework. It can't be .NET Standard 2.0 unless it is a class library.
We'll also need the image.
Edit.
Just realized you put the exception in the title. You'll need to raise this upstream. It's an issue with the Xamarin AOT compiler not with ImageSharp. See this note as to why. #1703 (comment)
We have tried to patch our way around issues so I would suggest trying one of our nightly builds to see if we've managed to avoid this particular issue.
It is implemented in a class library. That class library is used inside an Xamarin Forms IOS project (Xamarin Forms version 5.0.0.2012).
I just tried SixLabors.ImageSharp version 1.0.4-alpha.0.49. I have the same issue with this version.
I have the problem with every picture that is taken with the Xamarin.Essentials.MediaPicker in IOS.Yeah it’s not the image (hence the reason I struck out the comment) it’s Xamarins AOT compiler. You should raise the issue upstream with them.
Same issue.
It's because the template class is too complicated.
Error: Failed to save measurement (exception) | ExecutionEngineException: Attempting to JIT compile method 'void SixLabors.ImageSharp.Formats.Png.PngScanlineProcessor:ProcessRgbaScanline<SixLabors.ImageSharp.PixelFormats.Rgba32> (SixLabors.ImageSharp.Configuration,SixLabors.ImageSharp.Formats.Png.PngHeader&,System.ReadOnlySpan`1<byte>,System.Span`1<SixLabors.ImageSharp.PixelFormats.Rgba32>,int,int)' while running in aot-only mode. See https://docs.microsoft.com/xamarin/ios/internals/limitations for more information.It's because the template class is too complicated.
I don’t understand what you mean by this
Has anyone raised the the issue with Xamarin? As I said before. The issue is with their compiler
They won't do anything. They are full on MAUI with a new AOT "compiler" (which may have the same limitations).
AOT can't, sometime, find out all the template classes that are used in a library. As live code generation is refused by apple devices.
We don’t do any live code generation. No emit, nothing dynamic. Raise the issue with them.
It's not dynamic code. It's templated classes.
https://docs.microsoft.com/en-us/xamarin/ios/internals/limitations
see "Limited Generics Support"
I’m closing this. The conversation has ceased to be constructive. There are no issues with the ImageSharp codebase
- locked as resolved and limited conversation to collaborators
on Aug 11, 2021
Prerequisites
DEBUGandRELEASEmodeDescription
In a xamarin forms for IOS project I'm using the method Image.Load to load a PNG image. I used it with imagedecoder and without but the same issue exists. The error I get is:
Steps to Reproduce
Use an IOS Xamarin project and execute the following code: