Xamarin.Forms
Xamarin.Forms copied to clipboard
[Bug] Xamarin forms app crashes for Arabic in iOS 16 in production : High priority issue
Description
Xamarin forms-based application crashes in iOS 16 beta for Arabic languages when there is a new line character in the string
If the device is set to Arabic language and there is an Arabic localization entry, such as ar in info.plist or lproj, Xamarin-based applications crash in iOS 16 Beta.
Example 1 :
<data name="some_key" xml:space="preserve">
<value>هذا الإصدار من نوع ألفا!
.استخدام هذا التطبيق مخصص لغرض الاختبار فقط
</value>
</data>
Used resx in XAML file like below
<Label HorizontalTextAlignment="Start"
Text="{localization:Translate some_key}">
</Label>
Also, it will crash if we apply "\n" in the code when binding to XAML file. Example 2 :
<Label HorizontalTextAlignment="Start"
Text="هذا الإصدار من نوع ألفا! n\
.استخدام هذا التطبيق مخصص لغرض الاختبار فقط">
</Label>
We tried with Environment.NewLine in the ViewModel part and binding the text to XAML then also it is crashed
Steps to Reproduce
Pre conditions: ar should be added in info.plist Localizations array entry
- Set Arabic language as device language
- Lunch the app which has the above code
- App crashes in iOS 16 beta
Expected Behavior
App should not crash and display Arabic text
Actual Behavior
App crashes in iOS 16 beta for the Arabic language where it working fine in iOS 15
Basic Information
- Version with issue: iOS 16 beta
- Last known good version: iOS 15
- Platform Target Frameworks:
- iOS: Xaamrin iOS 15.10.0.5
- NuGet Packages: Xamarin Forms 5.0.0.2515
- Affected Devices: All iOS 16 beta-based phone
=== Visual Studio Community 2019 for Mac ===
Version 8.10.25 (build 2)
Installation UUID: ef36528e-e00f-49d8-ba71-a2150fdfc7c3
GTK+ 2.24.23 (Raleigh theme)
Xamarin.Mac 6.18.0.23 (d16-6 / 088c73638)
Package version: 612000182
=== Mono Framework MDK ===
Runtime:
Mono 6.12.0.182 (2020-02/6051b710727) (64-bit)
Package version: 612000182
=== Roslyn (Language Service) ===
3.10.0-4.21269.26+029847714208ebe49668667c60ea5b0a294e0fcb
=== NuGet ===
Version: 5.9.0.7134
=== .NET SDK (x64) ===
SDK: /usr/local/share/dotnet/sdk/5.0.408/Sdks
SDK Versions:
5.0.408
5.0.401
5.0.301
3.1.420
3.1.413
3.1.410
MSBuild SDKs: /Applications/Visual Studio.app/Contents/Resources/lib/monodevelop/bin/MSBuild/Current/bin/Sdks
=== .NET Core Runtime ===
Runtime: /usr/local/share/dotnet/dotnet
Runtime Versions:
5.0.17
5.0.10
5.0.7
3.1.26
3.1.19
3.1.16
=== .NET Core 3.1 SDK ===
SDK: 3.1.420
=== .NET 5.0 SDK ===
SDK: 5.0.408
=== Xamarin.Profiler ===
Version: 1.8.0.22
Location: /Applications/Xamarin Profiler.app/Contents/MacOS/Xamarin Profiler
=== Updater ===
Version: 11
=== Xamarin.Android ===
Version: 12.2.8.3 (Visual Studio Community)
Commit: xamarin-android/d17-1/fafdba7
Android SDK: /Users/admin/Library/Developer/Xamarin/android-sdk-macosx
Supported Android versions:
8.0 (API level 26)
8.1 (API level 27)
SDK Tools Version: 26.1.1
SDK Platform Tools Version: 30.0.4
SDK Build Tools Version: 30.0.2
Build Information:
Mono: dffa5ab
Java.Interop: xamarin/java.interop/d17-1@7ac33610
ProGuard: Guardsquare/proguard/v7.0.1@912d149
SQLite: xamarin/sqlite/3.37.1@0893b3b
Xamarin.Android Tools: xamarin/xamarin-android-tools/d17-1@db125a7
=== Eclipse Temurin JDK ===
Java SDK: /Library/Java/JavaVirtualMachines/temurin-8.jdk/Contents/Home
1.8.0.302
Android Designer EPL code available here:
https://github.com/xamarin/AndroidDesigner.EPL
=== Android SDK Manager ===
Version: 16.10.0.13
Hash: 1b81df5
Branch: remotes/origin/d16-10
Build date: 2021-11-12 00:17:32 UTC
=== Android Device Manager ===
Version: 16.10.0.15
Hash: 89dcc0b
Branch: remotes/origin/d16-10
Build date: 2021-11-12 00:17:52 UTC
=== Apple Developer Tools ===
Xcode 13.4.1 (20504)
Build 13F100
=== Xamarin.Mac ===
Version: 8.10.0.5 (Visual Studio Community)
Hash: 96b3edb6d
Branch: d17-2
Build date: 2022-05-18 07:32:06-0400
=== Xamarin.iOS ===
Version: 15.10.0.5 (Visual Studio Community)
Hash: 96b3edb6d
Branch: d17-2
Build date: 2022-05-18 07:32:07-0400
=== Xamarin Designer ===
Version: 16.11.0.60
Hash: 56f9b80b0
Branch: remotes/origin/d16-11
Build date: 2021-12-15 01:44:16 UTC
=== Build Information ===
Release ID: 810250002
Git revision: 0620af530b5800e0eada4882ce1c3d4dad7e53d3
Build date: 2022-06-15 13:41:26-04
Build branch: release-8.10
=== Operating System ===
Mac OS X 12.5.1
Darwin 21.6.0 Darwin Kernel Version 21.6.0
Wed Aug 10 14:25:27 PDT 2022
root:xnu-8020.141.5~2/RELEASE_X86_64 x86_64
=== Enabled user installed extensions ===
Code Coverage 2.0.1
###
Workaround :
If we remove the ar from info.plist Localizations then it will not crash for new line
Logs
Find the attached logs for the Arabic crash report_arabic.txt
Thanks for the report! Would you maybe be able to put all this together on a small reproduction project that shows the issue? That will make sure that we don't miss anything here and can identify the crash properly. Thanks!
Is there any other potential workaround for those cases where you cannot remove arabic from info.plist ?
@RamyaBR Are you sure it is related to Arabic strings containing new line in the .resx files? I have those in my app and it worked fine on iOS 16 beta devices. However, two days ago appcenter started registering large number of crashes and all of them with iOS 16 with the exact error as yours "SIGABRT: NaN is not a valid value for width" , and I'm stuck not sure what could be the reason ..
@jfversluis as of today VS is not compatible with xcode 14 / iOS16 simulators https://github.com/xamarin/xamarin-macios/issues/15954 so it's impossible to debug and fix ... it's really frustrating that an app that works fine with iOS 15*, crashes on iOS16! not sure though if this is xamarin or apple's fault
Reference
yes In iOS 16 beta Xamarin-based applications are crashing if there is an ar entry like below in info.plist. The app would crash for all the new lines, it can be there in Arabic text or in if it there in the label like this
" "
<key>CFBundleLocalizations</key>
<array>
<string>it</string>
<string>de</string>
<string>ar</string>
</array>
if you remove the entry from info.plist, the app will not crash and if you have App resources for Arabic it will automatically pick the Arabic language then it will work. Info.plist entries are required for the translation of system permission strings.
Thanks for the report! Would you maybe be able to put all this together on a small reproduction project that shows the issue? That will make sure that we don't miss anything here and can identify the crash properly. Thanks!
sure I will try to upload a sample app as soon as possible. currently, I am unavailable at the station.
Hi I confirm that the problem is on iOS 16. The problem seems to be with Label and Arabic info.plist, when you set a text on label that contains a new line. It doesn't matter if the text is written in Arabic or English
Steps to reproduces are very simple:
-
Create a Xamarin Forms projects and on MainPage add a Label
<Label x:Name="lbTest" > </Label> -
In MainPage constructor set the label text "A\nB"
public partial class MainPage : ContentPage
{
public MainPage()
{
InitializeComponent();
lbTest.Text = "A\nb";
}
}
- Add Arabic on Info.plist localization
<key>CFBundleLocalizations</key>
<array>
<string>en</string>
<string>ar</string>
</array>
-
Set you iPhone with iOS 16 on arabic language.
-
Start the app. Crash
I hope this issue will be fix very soon because we have big problems with our apps.
The issue also happens in Hebrew and It's very odd that the same app works fine in English and crashes in Hebrew, only in iOS 16.
A temporary workaround may be creating a custom label renderer overriding GetDesiredSize to catch the exception.
The stack is:
System.ArgumentException: NaN is not a valid value for width at Xamarin.Forms.Size..ctor (System.Double width, System.Double height) <0x1057aa450 + 0x000cc> in <b0456989b729404aa72e9e1250aef074#16eda38050c38a475715241917c0ed83>:0 at Xamarin.Forms.Platform.iOS.UIViewExtensions.GetSizeRequest (UIKit.UIView self, System.Double widthConstraint, System.Double heightConstraint, System.Double minimumWidth, System.Double minimumHeight) <0x10652d2b0 + 0x001af> in <3518962be2ba44b7b4403d0528b0f783#16eda38050c38a475715241917c0ed83>:0 at Xamarin.Forms.Platform.iOS.VisualElementRenderer`1[TElement].GetDesiredSize (System.Double widthConstraint, System.Double heightConstraint) <0x10651ea40 + 0x00043> in <3518962be2ba44b7b4403d0528b0f783#16eda38050c38a475715241917c0ed83>:0 at Xamarin.Forms.Platform.iOS.LabelRenderer.GetDesiredSize (System.Double widthConstraint, System.Double heightConstraint) <0x106541810 + 0x00067> in <3518962be2ba44b7b4403d0528b0f783#16eda38050c38a475715241917c0ed83>:0 at Xamarin.Forms.Platform.iOS.Platform.GetNativeSize (Xamarin.Forms.VisualElement view, System.Double widthConstraint, System.Double heightConstraint) <0x106514ce0 + 0x0014f> in <3518962be2ba44b7b4403d0528b0f783#16eda38050c38a475715241917c0ed83>:0 at Xamarin.Forms.Forms+IOSPlatformServices.GetNativeSize (Xamarin.Forms.VisualElement view, System.Double widthConstraint, System.Double heightConstraint) <0x106507420 + 0x0002f> in <3518962be2ba44b7b4403d0528b0f783#16eda38050c38a475715241917c0ed83>:0 at Xamarin.Forms.VisualElement.OnSizeRequest (System.Double widthConstraint, System.Double heightConstraint) <0x1057da740 + 0x000ff> in <b0456989b729404aa72e9e1250aef074#16eda38050c38a475715241917c0ed83>:0 at Xamarin.Forms.VisualElement.OnMeasure (System.Double widthConstraint, System.Double heightConstraint) <0x1057da6b0 + 0x00037> in <b0456989b729404aa72e9e1250aef074#16eda38050c38a475715241917c0ed83>:0 at Xamarin.Forms.VisualElement.GetSizeRequest (System.Double widthConstraint, System.Double heightConstraint) <0x1057d9470 + 0x00253> in <b0456989b729404aa72e9e1250aef074#16eda38050c38a475715241917c0ed83>:0 at Xamarin.Forms.VisualElement.Measure (System.Double widthConstraint, System.Double heightConstraint, Xamarin.Forms.MeasureFlags flags) <0x1057d9ab0 + 0x00233> in <b0456989b729404aa72e9e1250aef074#16eda38050c38a475715241917c0ed83>:0 at Xamarin.Forms.StackLayout.CalculateNaiveLayout (Xamarin.Forms.StackLayout+LayoutInformation layout, Xamarin.Forms.StackOrientation orientation, System.Double x, System.Double y, System.Double widthConstraint, System.Double heightConstraint) <0x1057b01a0 + 0x006bf> in <b0456989b729404aa72e9e1250aef074#16eda38050c38a475715241917c0ed83>:0 at Xamarin.Forms.StackLayout.CalculateLayout (Xamarin.Forms.StackLayout+LayoutInformation layout, System.Double x, System.Double y, System.Double widthConstraint, System.Double heightConstraint, System.Boolean processExpanders) <0x1057aff90 + 0x0019f> in <b0456989b729404aa72e9e1250aef074#16eda38050c38a475715241917c0ed83>:0 at Xamarin.Forms.StackLayout.OnSizeRequest (System.Double widthConstraint, System.Double heightConstraint) <0x1057afb60 + 0x000cb> in <b0456989b729404aa72e9e1250aef074#16eda38050c38a475715241917c0ed83>:0 at Xamarin.Forms.VisualElement.OnMeasure (System.Double widthConstraint, System.Double heightConstraint) <0x1057da6b0 + 0x00037> in <b0456989b729404aa72e9e1250aef074#16eda38050c38a475715241917c0ed83>:0 at Xamarin.Forms.VisualElement.GetSizeRequest (System.Double widthConstraint, System.Double heightConstraint) <0x1057d9470 + 0x00253> in <b0456989b729404aa72e9e1250aef074#16eda38050c38a475715241917c0ed83>:0 at Xamarin.Forms.Layout.GetSizeRequest (System.Double widthConstraint, System.Double heightConstraint) <0x10572d7a0 + 0x000e3> in <b0456989b729404aa72e9e1250aef074#16eda38050c38a475715241917c0ed83>:0 at Xamarin.Forms.VisualElement.Measure (System.Double widthConstraint, System.Double heightConstraint, Xamarin.Forms.MeasureFlags flags) <0x1057d9ab0 + 0x00233> in <b0456989b729404aa72e9e1250aef074#16eda38050c38a475715241917c0ed83>:0 at Xamarin.Forms.StackLayout.CalculateNaiveLayout (Xamarin.Forms.StackLayout+LayoutInformation layout, Xamarin.Forms.StackOrientation orientation, System.Double x, System.Double y, System.Double widthConstraint, System.Double heightConstraint) <0x1057b01a0 + 0x001e3> in <b0456989b729404aa72e9e1250aef074#16eda38050c38a475715241917c0ed83>:0 at Xamarin.Forms.StackLayout.CalculateLayout (Xamarin.Forms.StackLayout+LayoutInformation layout, System.Double x, System.Double y, System.Double widthConstraint, System.Double heightConstraint, System.Boolean processExpanders) <0x1057aff90 + 0x0019f> in <b0456989b729404aa72e9e1250aef074#16eda38050c38a475715241917c0ed83>:0 at Xamarin.Forms.StackLayout.LayoutChildren (System.Double x, System.Double y, System.Double width, System.Double height) <0x1057af8e0 + 0x000e7> in <b0456989b729404aa72e9e1250aef074#16eda38050c38a475715241917c0ed83>:0 at Xamarin.Forms.Layout.UpdateChildrenLayout () <0x10572e3d0 + 0x00573> in <b0456989b729404aa72e9e1250aef074#16eda38050c38a475715241917c0ed83>:0 at Xamarin.Forms.Layout.OnSizeAllocated (System.Double width, System.Double height) <0x10572e360 + 0x00023> in <b0456989b729404aa72e9e1250aef074#16eda38050c38a475715241917c0ed83>:0 at Xamarin.Forms.VisualElement.SizeAllocated (System.Double width, System.Double height) <0x1057da870 + 0x0002f> in <b0456989b729404aa72e9e1250aef074#16eda38050c38a475715241917c0ed83>:0 at Xamarin.Forms.VisualElement.SetSize (System.Double width, System.Double height) <0x1057dc930 + 0x0006b> in <b0456989b729404aa72e9e1250aef074#16eda38050c38a475715241917c0ed83>:0 at Xamarin.Forms.VisualElement.set_Bounds (Xamarin.Forms.Rectangle value) <0x1057d6d50 + 0x000d7> in <b0456989b729404aa72e9e1250aef074#16eda38050c38a475715241917c0ed83>:0 at Xamarin.Forms.VisualElement.Layout (Xamarin.Forms.Rectangle bounds) <0x1057d9a70 + 0x00033> in <b0456989b729404aa72e9e1250aef074#16eda38050c38a475715241917c0ed83>:0 at Xamarin.Forms.Layout.LayoutChildIntoBoundingRegion (Xamarin.Forms.VisualElement child, Xamarin.Forms.Rectangle region) <0x10572dad0 + 0x005b7> in <b0456989b729404aa72e9e1250aef074#16eda38050c38a475715241917c0ed83>:0 at Xamarin.Forms.Platform.iOS.ViewCellRenderer+ViewTableCell.LayoutSubviews () <0x1065287d0 + 0x0023b> in <3518962be2ba44b7b4403d0528b0f783#16eda38050c38a475715241917c0ed83>:0 at Xamarin.Forms.Platform.iOS.CellTableViewCell.GetNativeCell (UIKit.UITableView tableView, Xamarin.Forms.Cell cell, System.Boolean recycleCells, System.String templateId) <0x1065245a0 + 0x002d7> in <3518962be2ba44b7b4403d0528b0f783#16eda38050c38a475715241917c0ed83>:0 at Xamarin.Forms.Platform.iOS.ListViewRenderer+ListViewDataSource.GetCell (UIKit.UITableView tableView, Foundation.NSIndexPath indexPath) <0x10654aac0 + 0x00127> in <3518962be2ba44b7b4403d0528b0f783#16eda38050c38a475715241917c0ed83>:0 at (wrapper managed-to-native) UIKit.UIApplication.UIApplicationMain(int,string[],intptr,intptr) at UIKit.UIApplication.Main (System.String[] args, System.String principalClassName, System.String delegateClassName) <0x1062b6310 + 0x0005f> in <e3713e45450744f687ccc9b98a25ce1e#16eda38050c38a475715241917c0ed83>:0 at OfficeTrack.iOS.Application.Main (System.String[] args) <0x105152710 + 0x00027> in <68d39d4ff99e49769b57e2e9c27a771c#16eda38050c38a475715241917c0ed83>:0
Please update this issue title to show that the bug affects iOS 16 in production, not beta, in Arabic and Hebrew, and crashes when you have labels that include \n or \t.
The crash also occurs for Persian language.
So it's RTL problem.
What about sharing temporary workarounds ?
Mine is this:
using UIKit;
using Xamarin.Forms;
using YourAppHere.iOS.Renderers;
using Xamarin.Forms.Platform.iOS;
using System;
[assembly: ExportRenderer(typeof(Label), typeof(CustomLabelRenderer))]
namespace YourAppHere.iOS.Renderers
{
public class CustomLabelRenderer : LabelRenderer
{
public override SizeRequest GetDesiredSize(double widthConstraint, double heightConstraint)
{
try
{
return base.GetDesiredSize(widthConstraint, heightConstraint);
}
catch
{
if (Element == null || string.IsNullOrEmpty(Element.Text))
{
return new SizeRequest();
}
if (Control != null)
{
CoreGraphics.CGSize fitSize = Control.SizeThatFits(Element.Bounds.Size.ToSizeF());
return new SizeRequest(new Size(fitSize.Width, fitSize.Height), new Size(100, 20));
}
return new SizeRequest(new Size(Element.Text.Length*10,40), new Size(100, 20));
}
}
}
}
So it's RTL problem.
What about sharing temporary workarounds ?
Mine is this:
using UIKit; using Xamarin.Forms; using YourAppHere.iOS.Renderers; using Xamarin.Forms.Platform.iOS; using System; [assembly: ExportRenderer(typeof(Label), typeof(CustomLabelRenderer))] namespace YourAppHere.iOS.Renderers { public class CustomLabelRenderer : LabelRenderer { public override SizeRequest GetDesiredSize(double widthConstraint, double heightConstraint) { try { return base.GetDesiredSize(widthConstraint, heightConstraint); } catch { if (Element == null || string.IsNullOrEmpty(Element.Text)) { return new SizeRequest(); } if (Control != null) { CoreGraphics.CGSize fitSize = Control.SizeThatFits(Element.Bounds.Size.ToSizeF()); return new SizeRequest(new Size(fitSize.Width, fitSize.Height), new Size(100, 20)); } return new SizeRequest(new Size(Element.Text.Length*10,40), new Size(100, 20)); } } } }
Thanks for sharing your workaround To make it work with FormatedText I change a line
public override SizeRequest GetDesiredSize(double widthConstraint, double heightConstraint)
{
try
{
return base.GetDesiredSize(widthConstraint, heightConstraint);
}
catch
{
if (Element == null || string.IsNullOrEmpty(Control?.Text))
{
return new SizeRequest();
}
if (Control != null)
{
CoreGraphics.CGSize fitSize = Control.SizeThatFits(Element.Bounds.Size.ToSizeF());
return new SizeRequest(new Size(fitSize.Width, fitSize.Height), new Size(100, 20));
}
return new SizeRequest(new Size(Element.Text.Length * 10, 40), new Size(100, 20));
}
}
I have the same problem as described above and have not been able to update my app since iOS 16 went live. The app crashes for everyone who relies on RTL languages. Please fix this error!
I have the same problem as described above and have not been able to update my app since iOS 16 went live. The app crashes for everyone who relies on RTL languages. Please fix this error!
Have you tried the workaround above? It's working fine for me.
Xamarin has around 2.6k open issues. Do you really believe that they will choose this to fix?
Unfortunately, the workaround does not work for me with longer texts. I have several multiline labels. These are then no longer fully displayed, but only a part of the text.
Unfortunately, the workaround does not work for me with longer texts. I have several multiline labels. These are then no longer fully displayed, but only a part of the text.
Have you tried to increase the height for each \n or something similar just to see if the label is shown correctly?
Hey everyone! A PR (#15605) for this is open now, would you be able to grab the NuGet as described here and let us know if this fixes this issue? That will greatly speed up the review process.
Besides verifying if this particular issue is fixed also be sure to check other scenarios in the same area to make sure that this fix doesn't accidentally has side-effects 🙂
Thanks!
Still having problems even with SR13, in 16.2 and 16.0.2 iOS. The app was created with Visual Studio for Mac 17.4.2 (build 17) and XCode 14.1. Try with a label with מספר נקודות גז ע"פ הצהרת הצרכןxxxx inside a stacklayout, where xxxx is a tab character.
System.ArgumentException: NaN is not a valid value for width
at Xamarin.Forms.Size..ctor (System.Double width, System.Double height) <0x101230a10 + 0x000cc> in <1693287603d24707b07b71d38f4122f3#3c3bb09ca5dcb429df6a10cc6b5b4be6>:0
at Xamarin.Forms.VisualElement.GetSizeRequest (System.Double widthConstraint, System.Double heightConstraint) <0x101260500 + 0x000a3> in <1693287603d24707b07b71d38f4122f3#3c3bb09ca5dcb429df6a10cc6b5b4be6>:0
at Xamarin.Forms.VisualElement.Measure (System.Double widthConstraint, System.Double heightConstraint, Xamarin.Forms.MeasureFlags flags) <0x101260b40 + 0x00233> in <1693287603d24707b07b71d38f4122f3#3c3bb09ca5dcb429df6a10cc6b5b4be6>:0
at Xamarin.Forms.StackLayout.CompressHorizontalLayout (Xamarin.Forms.StackLayout+LayoutInformation layout, System.Double widthConstraint, System.Double heightConstraint) <0x101237470 + 0x002f7> in <1693287603d24707b07b71d38f4122f3#3c3bb09ca5dcb429df6a10cc6b5b4be6>:0
at Xamarin.Forms.StackLayout.CompressNaiveLayout (Xamarin.Forms.StackLayout+LayoutInformation layout, Xamarin.Forms.StackOrientation orientation, System.Double widthConstraint, System.Double heightConstraint) <0x101237a80 + 0x00067> in <1693287603d24707b07b71d38f4122f3#3c3bb09ca5dcb429df6a10cc6b5b4be6>:0
at Xamarin.Forms.StackLayout.CalculateLayout (Xamarin.Forms.StackLayout+LayoutInformation layout, System.Double x, System.Double y, System.Double widthConstraint, System.Double heightConstraint, System.Boolean processExpanders) <0x1012366d0 + 0x001b7> in <1693287603d24707b07b71d38f4122f3#3c3bb09ca5dcb429df6a10cc6b5b4be6>:0
at Xamarin.Forms.StackLayout.OnSizeRequest (System.Double widthConstraint, System.Double heightConstraint) <0x1012362a0 + 0x000cb> in <1693287603d24707b07b71d38f4122f3#3c3bb09ca5dcb429df6a10cc6b5b4be6>:0
at Xamarin.Forms.VisualElement.OnMeasure (System.Double widthConstraint, System.Double heightConstraint) <0x101261790 + 0x00037> in <1693287603d24707b07b71d38f4122f3#3c3bb09ca5dcb429df6a10cc6b5b4be6>:0
at Xamarin.Forms.VisualElement.GetSizeRequest (System.Double widthConstraint, System.Double heightConstraint) <0x101260500 + 0x00253> in <1693287603d24707b07b71d38f4122f3#3c3bb09ca5dcb429df6a10cc6b5b4be6>:0
at Xamarin.Forms.Layout.GetSizeRequest (System.Double widthConstraint, System.Double heightConstraint) <0x1011a6a70 + 0x000e3> in <1693287603d24707b07b71d38f4122f3#3c3bb09ca5dcb429df6a10cc6b5b4be6>:0
at Xamarin.Forms.VisualElement.Measure (System.Double widthConstraint, System.Double heightConstraint, Xamarin.Forms.MeasureFlags flags) <0x101260b40 + 0x00233> in <1693287603d24707b07b71d38f4122f3#3c3bb09ca5dcb429df6a10cc6b5b4be6>:0
at Xamarin.Forms.StackLayout.CalculateNaiveLayout (Xamarin.Forms.StackLayout+LayoutInformation layout, Xamarin.Forms.StackOrientation orientation, System.Double x, System.Double y, System.Double widthConstraint, System.Double heightConstraint) <0x1012368e0 + 0x001e3> in <1693287603d24707b07b71d38f4122f3#3c3bb09ca5dcb429df6a10cc6b5b4be6>:0
at Xamarin.Forms.StackLayout.CalculateLayout (Xamarin.Forms.StackLayout+LayoutInformation layout, System.Double x, System.Double y, System.Double widthConstraint, System.Double heightConstraint, System.Boolean processExpanders) <0x1012366d0 + 0x0019f> in <1693287603d24707b07b71d38f4122f3#3c3bb09ca5dcb429df6a10cc6b5b4be6>:0
at Xamarin.Forms.StackLayout.LayoutChildren (System.Double x, System.Double y, System.Double width, System.Double height) <0x101236020 + 0x000e7> in <1693287603d24707b07b71d38f4122f3#3c3bb09ca5dcb429df6a10cc6b5b4be6>:0
at Xamarin.Forms.Layout.UpdateChildrenLayout () <0x1011a76b0 + 0x00573> in <1693287603d24707b07b71d38f4122f3#3c3bb09ca5dcb429df6a10cc6b5b4be6>:0
at Xamarin.Forms.Layout.OnSizeAllocated (System.Double width, System.Double height) <0x1011a7640 + 0x00023> in <1693287603d24707b07b71d38f4122f3#3c3bb09ca5dcb429df6a10cc6b5b4be6>:0
at Xamarin.Forms.VisualElement.SizeAllocated (System.Double width, System.Double height) <0x101261950 + 0x0002f> in <1693287603d24707b07b71d38f4122f3#3c3bb09ca5dcb429df6a10cc6b5b4be6>:0
at Xamarin.Forms.Layout.ResolveLayoutChanges () <0x1011a8900 + 0x001db> in <1693287603d24707b07b71d38f4122f3#3c3bb09ca5dcb429df6a10cc6b5b4be6>:0
at Xamarin.Forms.Platform.iOS.VisualElementRenderer1[TElement].ResolveLayoutChanges () <0x101fb5250 + 0x0006f> in <ff8f12b789024a7b92ed1e7ad7f7705e#3c3bb09ca5dcb429df6a10cc6b5b4be6>:0 at Xamarin.Forms.Platform.iOS.VisualElementRenderer1[TElement].LayoutSubviews () <0x101fb5350 + 0x00017> in <ff8f12b789024a7b92ed1e7ad7f7705e#3c3bb09ca5dcb429df6a10cc6b5b4be6>:0
at (wrapper managed-to-native) UIKit.UIApplication.xamarin_UIApplicationMain(int,string[],intptr,intptr,intptr&)
at UIKit.UIApplication.UIApplicationMain (System.Int32 argc, System.String[] argv, System.IntPtr principalClassName, System.IntPtr delegateClassName) <0x101d397c0 + 0x00033> in <41c5142e3a674776b1d11b5296447e98#3c3bb09ca5dcb429df6a10cc6b5b4be6>:0
at UIKit.UIApplication.Main (System.String[] args, System.String principalClassName, System.String delegateClassName) <0x101d39890 + 0x0005f> in <41c5142e3a674776b1d11b5296447e98#3c3bb09ca5dcb429df6a10cc6b5b4be6>:0
at OfficeTrack.iOS.Application.Main (System.String[] args) <0x100b9e1f0 + 0x00027> in <885f69456196427d9eed75f4c5abd98c#3c3bb09ca5dcb429df6a10cc6b5b4be6>:0
got similar issue RTL Flow, Label in StackLayout (Horizontal) as @Jones-Abramoff and also his fix works for all other scenarios
Xamarin.Forms 5.0.0.2545
Visual Studio Community 2022 for Mac Version 17.4.2 (build 17)
Runtime .NET 6.0.12 (64-bit) Architecture: Arm64
Roslyn (Language Service) 4.4.0-6.22578.12+3c6ab8e1715e5b080fb7bb77070810ab71e09387
NuGet Version: 6.3.1.1
.NET SDK (Arm64) SDK: Not installed
.NET Runtime (Arm64) Runtime: /usr/local/share/dotnet/x64/dotnet Runtime Versions: 6.0.5 6.0.4 6.0.3 6.0.2 5.0.17 (x64 – Unsupported) 5.0.16 (x64 – Unsupported) 5.0.15 (x64 – Unsupported) 5.0.14 (x64 – Unsupported) 3.1.27 (x64 – Unsupported) 3.1.25 (x64 – Unsupported) 3.1.24 (x64 – Unsupported) 3.1.23 (x64 – Unsupported) 3.1.22 (x64 – Unsupported)
Xamarin.Profiler Version: 1.8.0.19 Location: /Applications/Xamarin Profiler.app/Contents/MacOS/Xamarin Profiler
Updater Version: 11
Apple Developer Tools Xcode 14.2 (21534) Build 14C18
Xamarin.Mac Xamarin.Mac not installed. Can't find /Library/Frameworks/Xamarin.Mac.framework/Versions/Current/Version.
Xamarin.iOS Version: 16.1.1.27 (Visual Studio Community) Hash: 933c6c2c9 Branch: xcode14.1 Build date: 2022-11-22 02:00:37-0500
Xamarin Designer Version: 17.4.0.136 Hash: d49c9ff6d3 Branch: remotes/origin/d17-4 Build date: 2022-12-13 00:02:45 UTC
Xamarin.Android Version: 13.1.0.1 (Visual Studio Community) Commit: xamarin-android/d17-4/13ba222 Android SDK: /Users/milkovski/Library/Developer/Xamarin/android-sdk-macosx Supported Android versions: 12.1 (API level 32) 12.0 (API level 31) 11.0 (API level 30) 10.0 (API level 29) 9.0 (API level 28) 13.0 (API level 33)
SDK Command-line Tools Version: 7.0 SDK Platform Tools Version: 33.0.2 SDK Build Tools Version: 33.0.0
Build Information: Mono: a96bde9 Java.Interop: xamarin/java.interop/d17-4@fcc33ce2 SQLite: xamarin/sqlite/3.39.3@23e1ae7 Xamarin.Android Tools: xamarin/xamarin-android-tools/main@0be567a
Microsoft Build of OpenJDK Java SDK: /Library/Java/JavaVirtualMachines/microsoft-11.jdk 11.0.12 Android Designer EPL code available here: https://github.com/xamarin/AndroidDesigner.EPL
Eclipse Temurin JDK Java SDK: /Library/Java/JavaVirtualMachines/temurin-8.jdk 1.8.0.302 Android Designer EPL code available here: https://github.com/xamarin/AndroidDesigner.EPL
Android SDK Manager Version: 17.4.0.54 Hash: 6eabb9e Branch: remotes/origin/d17-4 Build date: 2022-12-13 00:02:50 UTC
Android Device Manager Version: 0.0.0.1206 Hash: 886af39 Branch: 886af39 Build date: 2022-12-13 00:02:50 UTC
Build Information Release ID: 1704020017 Git revision: 7ef5413f2eec3351ce648085f619fc29fd8cb647 Build date: 2022-12-13 00:00:15+00 Build branch: release-17.4 Build lane: release-17.4
Operating System Mac OS X 12.6.1 Darwin 21.6.0 Darwin Kernel Version 21.6.0 Thu Sep 29 20:13:56 PDT 2022 root:xnu-8020.240.7~1/RELEASE_ARM64_T6000 arm64