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

App crashes when it has a button with FontImageSource in version 8.0.20 #21808

Closed
andreptcosta opened this issue Apr 12, 2024 · 2 comments
Closed
Labels
area-controls-button Button, ImageButton migration-compatibility Xamarin.Forms to .NET MAUI Migration, Upgrade Assistant, Try-Convert not-regression p/0 Work that we can't release without platform/android 🤖 s/needs-attention Issue has more information and needs another look t/bug Something isn't working

Comments

@andreptcosta
Copy link

Description

After upgrading to version 8.0.20 I am experiencing a crash in the application on pages that have a Button with FontImageSource as ImageSource.

It may be related to the change applied at #21628

StackTrace:

[mono-rt] [ERROR] FATAL UNHANDLED EXCEPTION: Java.Lang.IllegalArgumentException: iconSize cannot be less than 0
[mono-rt]    at Java.Interop.JniEnvironment.InstanceMethods.CallNonvirtualVoidMethod(JniObjectReference instance, JniObjectReference type, JniMethodInfo method, JniArgumentValue* args) in /Users/runner/work/1/s/xamarin-android/external/Java.Interop/src/Java.Interop/obj/Release/net7.0/JniEnvironment.g.cs:line 20830
[mono-rt]    at Java.Interop.JniPeerMembers.JniInstanceMethods.InvokeVirtualVoidMethod(String encodedMember, IJavaPeerable self, JniArgumentValue* parameters) in /Users/runner/work/1/s/xamarin-android/external/Java.Interop/src/Java.Interop/Java.Interop/JniPeerMembers.JniInstanceMethods_Invoke.cs:line 75
[mono-rt]    at Google.Android.Material.Button.MaterialButton.set_IconSize(Int32 value) in C:\a\_work\1\s\generated\com.google.android.material.material\obj\Release
et6.0-android\generated\src\Google.Android.Material.Button.MaterialButton.cs:line 824
[mono-rt]    at Microsoft.Maui.Platform.MauiMaterialButton.CalculateIconSize(Int32 widthMeasureSpec, Int32 heightMeasureSpec) in D:\a\_work\1\s\src\Core\src\Platform\Android\MauiMaterialButton.cs:line 138
[mono-rt]    at Microsoft.Maui.Platform.MauiMaterialButton.OnMeasure(Int32 widthMeasureSpec, Int32 heightMeasureSpec) in D:\a\_work\1\s\src\Core\src\Platform\Android\MauiMaterialButton.cs:line 58
[mono-rt]    at Android.Views.View.n_OnMeasure_II(IntPtr jnienv, IntPtr native__this, Int32 widthMeasureSpec, Int32 heightMeasureSpec) in /Users/runner/work/1/s/xamarin-android/src/Mono.Android/obj/Release/net8.0/android-34/mcw/Android.Views.View.cs:line 19598
[mono-rt]    at Android.Runtime.JNINativeWrapper.Wrap_JniMarshal_PPII_V(_JniMarshal_PPII_V callback, IntPtr jnienv, IntPtr klazz, Int32 p0, Int32 p1) in /Users/runner/work/1/s/xamarin-android/src/Mono.Android/Android.Runtime/JNINativeWrapper.g.cs:line 158

Steps to Reproduce

  1. Create a File > New .NET MAUI App (with Maui version 8.0.20)
  2. Add a Button like so:
<Button Text="Test">
   <Button.ImageSource>
           <FontImageSource FontFamily="FontAwesome" Glyph="\uf0a4" Color="Red" />
   </Button.ImageSource>
</Button>
  1. Launch app and observe the crash bug

Link to public reproduction project repository

No response

Version with bug

8.0.20 SR4

Is this a regression from previous behavior?

Yes, this used to work in .NET MAUI

Last version that worked well

8.0.14 SR3.1

Affected platforms

Android

Affected platform versions

Android 14

Did you find any workaround?

Downgrade to 8.0.14

Relevant log output

[mono-rt] [ERROR] FATAL UNHANDLED EXCEPTION: Java.Lang.IllegalArgumentException: iconSize cannot be less than 0
[mono-rt]    at Java.Interop.JniEnvironment.InstanceMethods.CallNonvirtualVoidMethod(JniObjectReference instance, JniObjectReference type, JniMethodInfo method, JniArgumentValue* args) in /Users/runner/work/1/s/xamarin-android/external/Java.Interop/src/Java.Interop/obj/Release/net7.0/JniEnvironment.g.cs:line 20830
[mono-rt]    at Java.Interop.JniPeerMembers.JniInstanceMethods.InvokeVirtualVoidMethod(String encodedMember, IJavaPeerable self, JniArgumentValue* parameters) in /Users/runner/work/1/s/xamarin-android/external/Java.Interop/src/Java.Interop/Java.Interop/JniPeerMembers.JniInstanceMethods_Invoke.cs:line 75
[mono-rt]    at Google.Android.Material.Button.MaterialButton.set_IconSize(Int32 value) in C:\a\_work\1\s\generated\com.google.android.material.material\obj\Release
et6.0-android\generated\src\Google.Android.Material.Button.MaterialButton.cs:line 824
[mono-rt]    at Microsoft.Maui.Platform.MauiMaterialButton.CalculateIconSize(Int32 widthMeasureSpec, Int32 heightMeasureSpec) in D:\a\_work\1\s\src\Core\src\Platform\Android\MauiMaterialButton.cs:line 138
[mono-rt]    at Microsoft.Maui.Platform.MauiMaterialButton.OnMeasure(Int32 widthMeasureSpec, Int32 heightMeasureSpec) in D:\a\_work\1\s\src\Core\src\Platform\Android\MauiMaterialButton.cs:line 58
[mono-rt]    at Android.Views.View.n_OnMeasure_II(IntPtr jnienv, IntPtr native__this, Int32 widthMeasureSpec, Int32 heightMeasureSpec) in /Users/runner/work/1/s/xamarin-android/src/Mono.Android/obj/Release/net8.0/android-34/mcw/Android.Views.View.cs:line 19598
[mono-rt]    at Android.Runtime.JNINativeWrapper.Wrap_JniMarshal_PPII_V(_JniMarshal_PPII_V callback, IntPtr jnienv, IntPtr klazz, Int32 p0, Int32 p1) in /Users/runner/work/1/s/xamarin-android/src/Mono.Android/Android.Runtime/JNINativeWrapper.g.cs:line 158
[mono-rt]    at Java.Interop.JniEnvironment.StaticMethods.CallStaticLongMethod(JniObjectReference type, JniMethodInfo method, JniArgumentValue* args) in /Users/runner/work/1/s/xamarin-android/external/Java.Interop/src/Java.Interop/obj/Release/net7.0/JniEnvironment.g.cs:line 21700
[mono-rt]    at Java.Interop.JniPeerMembers.JniStaticMethods.InvokeInt64Method(String encodedMember, JniArgumentValue* parameters) in /Users/runner/work/1/s/xamarin-android/external/Java.Interop/src/Java.Interop/Java.Interop/JniPeerMembers.JniStaticMethods.cs:line 147
[mono-rt]    at Microsoft.Maui.PlatformInterop.MeasureAndGetWidthAndHeight(View view, Int32 widthMeasureSpec, Int32 heightMeasureSpec) in D:\a\_work\1\s\src\Core\src\obj\Release
et8.0-android\generated\src\Microsoft.Maui.PlatformInterop.cs:line 582
[mono-rt]    at Microsoft.Maui.ViewHandlerExtensions.GetDesiredSizeFromHandler(IViewHandler viewHandler, Double widthConstraint, Double heightConstraint) in D:\a\_work\1\s\src\Core\src\Handlers\ViewHandlerExtensions.Android.cs:line 93
[mono-rt]    at Microsoft.Maui.Handlers.ViewHandler`2[[Microsoft.Maui.IButton, Microsoft.Maui, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null],[Google.Android.Material.Button.MaterialButton, Xamarin.Google.Android.Material, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].GetDesiredSize(Double widthConstraint, Double heightConstraint) in D:\a\_work\1\s\src\Core\src\Handlers\View\ViewHandlerOfT.Android.cs:line 18
[mono-rt]    at Microsoft.Maui.Layouts.LayoutExtensions.ComputeDesiredSize(IView view, Double widthConstraint, Double heightConstraint) in D:\a\_work\1\s\src\Core\src\Layouts\LayoutExtensions.cs:line 27
[mono-rt]    at Microsoft.Maui.Controls.VisualElement.MeasureOverride(Double widthConstraint, Double heightConstraint) in D:\a\_work\1\s\src\Controls\src\Core\VisualElement\VisualElement.cs:line 1893
[mono-rt]    at Microsoft.Maui.Controls.VisualElement.Microsoft.Maui.IView.Measure(Double widthConstraint, Double heightConstraint) in D:\a\_work\1\s\src\Controls\src\Core\VisualElement\VisualElement.cs:line 1880
[mono-rt]    at Microsoft.Maui.Layouts.VerticalStackLayoutManager.Measure(Double widthConstraint, Double heightConstraint) in D:\a\_work\1\s\src\Core\src\Layouts\VerticalStackLayoutManager.cs:line 31
[mono-rt]    at Microsoft.Maui.Controls.StackLayoutManager.Measure(Double widthConstraint, Double heightConstraint) in D:\a\_work\1\s\src\Controls\src\Core\Layout\StackLayoutManager.cs:line 42
[mono-rt]    at Microsoft.Maui.Controls.Layout.CrossPlatformMeasure(Double widthConstraint, Double heightConstraint) in D:\a\_work\1\s\src\Controls\src\Core\Layout\Layout.cs:line 354
[mono-rt]    at Microsoft.Maui.Platform.LayoutViewGroup.CrossPlatformMeasure(Double widthConstraint, Double heightConstraint) in D:\a\_work\1\s\src\Core\src\Platform\Android\LayoutViewGroup.cs:line 57
[mono-rt]    at Microsoft.Maui.Platform.LayoutViewGroup.OnMeasure(Int32 widthMeasureSpec, Int32 heightMeasureSpec) in D:\a\_work\1\s\src\Core\src\Platform\Android\LayoutViewGroup.cs:line 82
[mono-rt]    at Android.Views.View.n_OnMeasure_II(IntPtr jnienv, IntPtr native__this, Int32 widthMeasureSpec, Int32 heightMeasureSpec) in /Users/runner/work/1/s/xamarin-android/src/Mono.Android/obj/Release/net8.0/android-34/mcw/Android.Views.View.cs:line 19598
[mono-rt]    at Android.Runtime.JNINativeWrapper.Wrap_JniMarshal_PPII_V(_JniMarshal_PPII_V callback, IntPtr jnienv, IntPtr klazz, Int32 p0, Int32 p1) in /Users/runner/work/1/s/xamarin-android/src/Mono.Android/Android.Runtime/JNINativeWrapper.g.cs:line 158
[mono-rt]    at Java.Interop.JniEnvironment.StaticMethods.CallStaticLongMethod(JniObjectReference type, JniMethodInfo method, JniArgumentValue* args) in /Users/runner/work/1/s/xamarin-android/external/Java.Interop/src/Java.Interop/obj/Release/net7.0/JniEnvironment.g.cs:line 21700
[mono-rt]    at Java.Interop.JniPeerMembers.JniStaticMethods.InvokeInt64Method(String encodedMember, JniArgumentValue* parameters) in /Users/runner/work/1/s/xamarin-android/external/Java.Interop/src/Java.Interop/Java.Interop/JniPeerMembers.JniStaticMethods.cs:line 147
[mono-rt]    at Microsoft.Maui.PlatformInterop.MeasureAndGetWidthAndHeight(View view, Int32 widthMeasureSpec, Int32 heightMeasureSpec) in D:\a\_work\1\s\src\Core\src\obj\Release
et8.0-android\generated\src\Microsoft.Maui.PlatformInterop.cs:line 582
[mono-rt]    at Microsoft.Maui.ViewHandlerExtensions.GetDesiredSizeFromHandler(IViewHandler viewHandler, Double widthConstraint, Double heightConstraint) in D:\a\_work\1\s\src\Core\src\Handlers\ViewHandlerExtensions.Android.cs:line 93
[mono-rt]    at Microsoft.Maui.Handlers.ViewHandler`2[[Microsoft.Maui.ILayout, Microsoft.Maui, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null],[Microsoft.Maui.Platform.LayoutViewGroup, Microsoft.Maui, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].GetDesiredSize(Double widthConstraint, Double heightConstraint) in D:\a\_work\1\s\src\Core\src\Handlers\View\ViewHandlerOfT.Android.cs:line 18
[mono-rt]    at Microsoft.Maui.Layouts.LayoutExtensions.ComputeDesiredSize(IView view, Double widthConstraint, Double heightConstraint) in D:\a\_work\1\s\src\Core\src\Layouts\LayoutExtensions.cs:line 27
[mono-rt]    at Microsoft.Maui.Controls.VisualElement.MeasureOverride(Double widthConstraint, Double heightConstraint) in D:\a\_work\1\s\src\Controls\src\Core\VisualElement\VisualElement.cs:line 1893
[mono-rt]    at Microsoft.Maui.Controls.VisualElement.Microsoft.Maui.IView.Measure(Double widthConstraint, Double heightConstraint) in D:\a\_work\1\s\src\Controls\src\Core\VisualElement\VisualElement.cs:line 1880
[mono-rt]    at Microsoft.Maui.Layouts.GridLayoutManager.GridStructure.MeasureCell(Cell cell, Double width, Double height) in D:\a\_work\1\s\src\Core\src\Layouts\GridLayoutManager.cs:line 383
[mono-rt]    at Microsoft.Maui.Layouts.GridLayoutManager.GridStructure.FirstMeasurePass() in D:\a\_work\1\s\src\Core\src\Layouts\GridLayoutManager.cs:line 406
[mono-rt]    at Microsoft.Maui.Layouts.GridLayoutManager.GridStructure.MeasureCells() in D:\a\_work\1\s\src\Core\src\Layouts\GridLayoutManager.cs:line 356
[mono-rt]    at Microsoft.Maui.Layouts.GridLayoutManager.GridStructure..ctor(IGridLayout grid, Double widthConstraint, Double heightConstraint) in D:\a\_work\1\s\src\Core\src\Layouts\GridLayoutManager.cs:line 144
[mono-rt]    at Microsoft.Maui.Layouts.GridLayoutManager.Measure(Double widthConstraint, Double heightConstraint) in D:\a\_work\1\s\src\Core\src\Layouts\GridLayoutManager.cs:line 24
[mono-rt]    at Microsoft.Maui.Controls.Layout.CrossPlatformMeasure(Double widthConstraint, Double heightConstraint) in D:\a\_work\1\s\src\Controls\src\Core\Layout\Layout.cs:line 354
[mono-rt]    at Microsoft.Maui.Platform.LayoutViewGroup.CrossPlatformMeasure(Double widthConstraint, Double heightConstraint) in D:\a\_work\1\s\src\Core\src\Platform\Android\LayoutViewGroup.cs:line 57
[mono-rt]    at Microsoft.Maui.Platform.LayoutViewGroup.OnMeasure(Int32 widthMeasureSpec, Int32 heightMeasureSpec) in D:\a\_work\1\s\src\Core\src\Platform\Android\LayoutViewGroup.cs:line 82
[mono-rt]    at Android.Views.View.n_OnMeasure_II(IntPtr jnienv, IntPtr native__this, Int32 widthMeasureSpec, Int32 heightMeasureSpec) in /Users/runner/work/1/s/xamarin-android/src/Mono.Android/obj/Release/net8.0/android-34/mcw/Android.Views.View.cs:line 19598
[mono-rt]    at Android.Runtime.JNINativeWrapper.Wrap_JniMarshal_PPII_V(_JniMarshal_PPII_V callback, IntPtr jnienv, IntPtr klazz, Int32 p0, Int32 p1) in /Users/runner/work/1/s/xamarin-android/src/Mono.Android/Android.Runtime/JNINativeWrapper.g.cs:line 158
[mono-rt]    at Java.Interop.JniEnvironment.StaticMethods.CallStaticLongMethod(JniObjectReference type, JniMethodInfo method, JniArgumentValue* args) in /Users/runner/work/1/s/xamarin-android/external/Java.Interop/src/Java.Interop/obj/Release/net7.0/JniEnvironment.g.cs:line 21700
[mono-rt]    at Java.Interop.JniPeerMembers.JniStaticMethods.InvokeInt64Method(String encodedMember, JniArgumentValue* parameters) in /Users/runner/work/1/s/xamarin-android/external/Java.Interop/src/Java.Interop/Java.Interop/JniPeerMembers.JniStaticMethods.cs:line 147
[mono-rt]    at Microsoft.Maui.PlatformInterop.MeasureAndGetWidthAndHeight(View view, Int32 widthMeasureSpec, Int32 heightMeasureSpec) in D:\a\_work\1\s\src\Core\src\obj\Release
et8.0-android\generated\src\Microsoft.Maui.PlatformInterop.cs:line 582
[mono-rt]    at Microsoft.Maui.ViewHandlerExtensions.GetDesiredSizeFromHandler(IViewHandler viewHandler, Double widthConstraint, Double heightConstraint) in D:\a\_work\1\s\src\Core\src\Handlers\ViewHandlerExtensions.Android.cs:line 93
[mono-rt]    at Microsoft.Maui.Handlers.ViewHandler`2[[Microsoft.Maui.ILayout, Microsoft.Maui, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null],[Microsoft.Maui.Platform.LayoutViewGroup, Microsoft.Maui, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].GetDesiredSize(Double widthConstraint, Double heightConstraint) in D:\a\_work\1\s\src\Core\src\Handlers\View\ViewHandlerOfT.Android.cs:line 18
[mono-rt]    at Microsoft.Maui.Layouts.LayoutExtensions.ComputeDesiredSize(IView view, Double widthConstraint, Double heightConstraint) in D:\a\_work\1\s\src\Core\src\Layouts\LayoutExtensions.cs:line 27
[mono-rt]    at Microsoft.Maui.Controls.VisualElement.MeasureOverride(Double widthConstraint, Double heightConstraint) in D:\a\_work\1\s\src\Controls\src\Core\VisualElement\VisualElement.cs:line 1893
[mono-rt]    at Microsoft.Maui.Controls.VisualElement.Microsoft.Maui.IView.Measure(Double widthConstraint, Double heightConstraint) in D:\a\_work\1\s\src\Controls\src\Core\VisualElement\VisualElement.cs:line 1880
[mono-rt]    at Microsoft.Maui.Layouts.VerticalStackLayoutManager.Measure(Double widthConstraint, Double heightConstraint) in D:\a\_work\1\s\src\Core\src\Layouts\VerticalStackLayoutManager.cs:line 31
[mono-rt]    at Microsoft.Maui.Controls.StackLayoutManager.Measure(Double widthConstraint, Double heightConstraint) in D:\a\_work\1\s\src\Controls\src\Core\Layout\StackLayoutManager.cs:line 42
[mono-rt]    at Microsoft.Maui.Controls.Layout.CrossPlatformMeasure(Double widthConstraint, Double heightConstraint) in D:\a\_work\1\s\src\Controls\src\Core\Layout\Layout.cs:line 354
[mono-rt]    at Microsoft.Maui.Platform.LayoutViewGroup.CrossPlatformMeasure(Double widthConstraint, Double heightConstraint) in D:\a\_work\1\s\src\Core\src\Platform\Android\LayoutViewGroup.cs:line 57
[mono-rt]    at Microsoft.Maui.Platform.LayoutViewGroup.OnMeasure(Int32 widthMeasureSpec, Int32 heightMeasureSpec) in D:\a\_work\1\s\src\Core\src\Platform\Android\LayoutViewGroup.cs:line 82
[mono-rt]    at Android.Views.View.n_OnMeasure_II(IntPtr jnienv, IntPtr native__this, Int32 widthMeasureSpec, Int32 heightMeasureSpec) in /Users/runner/work/1/s/xamarin-android/src/Mono.Android/obj/Release/net8.0/android-34/mcw/Android.Views.View.cs:line 19598
[mono-rt]    at Android.Runtime.JNINativeWrapper.Wrap_JniMarshal_PPII_V(_JniMarshal_PPII_V callback, IntPtr jnienv, IntPtr klazz, Int32 p0, Int32 p1) in /Users/runner/work/1/s/xamarin-android/src/Mono.Android/Android.Runtime/JNINativeWrapper.g.cs:line 158
[mono-rt]    at Java.Interop.JniEnvironment.StaticMethods.CallStaticLongMethod(JniObjectReference type, JniMethodInfo method, JniArgumentValue* args) in /Users/runner/work/1/s/xamarin-android/external/Java.Interop/src/Java.Interop/obj/Release/net7.0/JniEnvironment.g.cs:line 21700
[mono-rt]    at Java.Interop.JniPeerMembers.JniStaticMethods.InvokeInt64Method(String encodedMember, JniArgumentValue* parameters) in /Users/runner/work/1/s/xamarin-android/external/Java.Interop/src/Java.Interop/Java.Interop/JniPeerMembers.JniStaticMethods.cs:line 147
[mono-rt]    at Microsoft.Maui.PlatformInterop.MeasureAndGetWidthAndHeight(View view, Int32 widthMeasureSpec, Int32 heightMeasureSpec) in D:\a\_work\1\s\src\Core\src\obj\Release
et8.0-android\generated\src\Microsoft.Maui.PlatformInterop.cs:line 582
[mono-rt]    at Microsoft.Maui.ViewHandlerExtensions.GetDesiredSizeFromHandler(IViewHandler viewHandler, Double widthConstraint, Double heightConstraint) in D:\a\_work\1\s\src\Core\src\Handlers\ViewHandlerExtensions.Android.cs:line 93
[mono-rt]    at Microsoft.Maui.Handlers.ViewHandler`2[[Microsoft.Maui.ILayout, Microsoft.Maui, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null],[Microsoft.Maui.Platform.LayoutViewGroup, Microsoft.Maui, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].GetDesiredSize(Double widthConstraint, Double heightConstraint) in D:\a\_work\1\s\src\Core\src\Handlers\View\ViewHandlerOfT.Android.cs:line 18
[mono-rt]    at Microsoft.Maui.Layouts.LayoutExtensions.ComputeDesiredSize(IView view, Double widthConstraint, Double heightConstraint) in D:\a\_work\1\s\src\Core\src\Layouts\LayoutExtensions.cs:line 27
[mono-rt]    at Microsoft.Maui.Controls.VisualElement.MeasureOverride(Double widthConstraint, Double heightConstraint) in D:\a\_work\1\s\src\Controls\src\Core\VisualElement\VisualElement.cs:line 1893
[mono-rt]    at Microsoft.Maui.Controls.VisualElement.Microsoft.Maui.IView.Measure(Double widthConstraint, Double heightConstraint) in D:\a\_work\1\s\src\Controls\src\Core\VisualElement\VisualElement.cs:line 1880
[mono-rt]    at Microsoft.Maui.Controls.ScrollView.Microsoft.Maui.ICrossPlatformLayout.CrossPlatformMeasure(Double widthConstraint, Double heightConstraint) in D:\a\_work\1\s\src\Controls\src\Core\ScrollView\ScrollView.cs:line 471
[mono-rt]    at Microsoft.Maui.Handlers.ScrollViewHandler.Microsoft.Maui.ICrossPlatformLayout.CrossPlatformMeasure(Double widthConstraint, Double heightConstraint) in D:\a\_work\1\s\src\Core\src\Handlers\ScrollView\ScrollViewHandler.Android.cs:line 229
[mono-rt]    at Microsoft.Maui.Platform.ContentViewGroup.CrossPlatformMeasure(Double widthConstraint, Double heightConstraint) in D:\a\_work\1\s\src\Core\src\Platform\Android\ContentViewGroup.cs:line 51
[mono-rt]    at Microsoft.Maui.Platform.ContentViewGroup.OnMeasure(Int32 widthMeasureSpec, Int32 heightMeasureSpec) in D:\a\_work\1\s\src\Core\src\Platform\Android\ContentViewGroup.cs:line 73
[mono-rt]    at Android.Views.View.n_OnMeasure_II(IntPtr jnienv, IntPtr native__this, Int32 widthMeasureSpec, Int32 heightMeasureSpec) in /Users/runner/work/1/s/xamarin-android/src/Mono.Android/obj/Release/net8.0/android-34/mcw/Android.Views.View.cs:line 19598
[mono-rt]    at Android.Runtime.JNINativeWrapper.Wrap_JniMarshal_PPII_V(_JniMarshal_PPII_V callback, IntPtr jnienv, IntPtr klazz, Int32 p0, Int32 p1) in /Users/runner/work/1/s/xamarin-android/src/Mono.Android/Android.Runtime/JNINativeWrapper.g.cs:line 158
[mono-rt]    at Java.Interop.JniEnvironment.InstanceMethods.CallNonvirtualVoidMethod(JniObjectReference instance, JniObjectReference type, JniMethodInfo method, JniArgumentValue* args) in /Users/runner/work/1/s/xamarin-android/external/Java.Interop/src/Java.Interop/obj/Release/net7.0/JniEnvironment.g.cs:line 20825
[mono-rt]    at Java.Interop.JniPeerMembers.JniInstanceMethods.InvokeVirtualVoidMethod(String encodedMember, IJavaPeerable self, JniArgumentValue* parameters) in /Users/runner/work/1/s/xamarin-android/external/Java.Interop/src/Java.Interop/Java.Interop/JniPeerMembers.JniInstanceMethods_Invoke.cs:line 75
[mono-rt]    at Android.Views.View.OnMeasure(Int32 widthMeasureSpec, Int32 heightMeasureSpec) in /Users/runner/work/1/s/xamarin-android/src/Mono.Android/obj/Release/net8.0/android-34/mcw/Android.Views.View.cs:line 19611
[mono-rt]    at Microsoft.Maui.Platform.MauiScrollView.OnMeasure(Int32 widthMeasureSpec, Int32 heightMeasureSpec) in D:\a\_work\1\s\src\Core\src\Platform\Android\MauiScrollView.cs:line 196
[mono-rt]    at Android.Views.View.n_OnMeasure_II(IntPtr jnienv, IntPtr native__this, Int32 widthMeasureSpec, Int32 heightMeasureSpec) in /Users/runner/work/1/s/xamarin-android/src/Mono.Android/obj/Release/net8.0/android-34/mcw/Android.Views.View.cs:line 19598
[mono-rt]    at Android.Runtime.JNINativeWrapper.Wrap_JniMarshal_PPII_V(_JniMarshal_PPII_V callback, IntPtr jnienv, IntPtr klazz, Int32 p0, Int32 p1) in /Users/runner/work/1/s/xamarin-android/src/Mono.Android/Android.Runtime/JNINativeWrapper.g.cs:line 158
[mono-rt]    at Java.Interop.JniEnvironment.InstanceMethods.CallNonvirtualVoidMethod(JniObjectReference instance, JniObjectReference type, JniMethodInfo method, JniArgumentValue* args) in /Users/runner/work/1/s/xamarin-android/external/Java.Interop/src/Java.Interop/obj/Release/net7.0/JniEnvironment.g.cs:line 20825
[mono-rt]    at Java.Interop.JniPeerMembers.JniInstanceMethods.InvokeNonvirtualVoidMethod(String encodedMember, IJavaPeerable self, JniArgumentValue* parameters) in /Users/runner/work/1/s/xamarin-android/external/Java.Interop/src/Java.Interop/Java.Interop/JniPeerMembers.JniInstanceMethods_Invoke.cs:line 93
[mono-rt]    at Android.Views.View.Measure(Int32 widthMeasureSpec, Int32 heightMeasureSpec) in /Users/runner/work/1/s/xamarin-android/src/Mono.Android/obj/Release/net8.0/android-34/mcw/Android.Views.View.cs:line 18377
[mono-rt]    at Microsoft.Maui.Handlers.ScrollViewHandler.GetDesiredSize(Double widthConstraint, Double heightConstraint) in D:\a\_work\1\s\src\Core\src\Handlers\ScrollView\ScrollViewHandler.Android.cs:line 75
[mono-rt]    at Microsoft.Maui.Layouts.LayoutExtensions.ComputeDesiredSize(IView view, Double widthConstraint, Double heightConstraint) in D:\a\_work\1\s\src\Core\src\Layouts\LayoutExtensions.cs:line 27
[mono-rt]    at Microsoft.Maui.Controls.ScrollView.MeasureOverride(Double widthConstraint, Double heightConstraint) in D:\a\_work\1\s\src\Controls\src\Core\ScrollView\ScrollView.cs:line 444
[mono-rt]    at Microsoft.Maui.Controls.Compatibility.Layout.Microsoft.Maui.IView.Measure(Double widthConstraint, Double heightConstraint) in D:\a\_work\1\s\src\Controls\src\Core\Layout.cs:line 346
[mono-rt]    at Microsoft.Maui.Layouts.LayoutExtensions.MeasureContent(IContentView contentView, Thickness inset, Double widthConstraint, Double heightConstraint) in D:\a\_work\1\s\src\Core\src\Layouts\LayoutExtensions.cs:line 163
[mono-rt]    at Microsoft.Maui.Layouts.LayoutExtensions.MeasureContent(IContentView contentView, Double widthConstraint, Double heightConstraint) in D:\a\_work\1\s\src\Core\src\Layouts\LayoutExtensions.cs:line 142
[mono-rt]    at Microsoft.Maui.Controls.ContentPage.Microsoft.Maui.ICrossPlatformLayout.CrossPlatformMeasure(Double widthConstraint, Double heightConstraint) in D:\a\_work\1\s\src\Controls\src\Core\ContentPage\ContentPage.cs:line 85
[mono-rt]    at Microsoft.Maui.Platform.ContentViewGroup.CrossPlatformMeasure(Double widthConstraint, Double heightConstraint) in D:\a\_work\1\s\src\Core\src\Platform\Android\ContentViewGroup.cs:line 51
[mono-rt]    at Microsoft.Maui.Platform.ContentViewGroup.OnMeasure(Int32 widthMeasureSpec, Int32 heightMeasureSpec) in D:\a\_work\1\s\src\Core\src\Platform\Android\ContentViewGroup.cs:line 73
[mono-rt]    at Android.Views.View.n_OnMeasure_II(IntPtr jnienv, IntPtr native__this, Int32 widthMeasureSpec, Int32 heightMeasureSpec) in /Users/runner/work/1/s/xamarin-android/src/Mono.Android/obj/Release/net8.0/android-34/mcw/Android.Views.View.cs:line 19598
[mono-rt]    at Android.Runtime.JNINativeWrapper.Wrap_JniMarshal_PPII_V(_JniMarshal_PPII_V callback, IntPtr jnienv, IntPtr klazz, Int32 p0, Int32 p1) in /Users/runner/work/1/s/xamarin-android/src/Mono.Android/Android.Runtime/JNINativeWrapper.g.cs:line 158
[mono-rt]   --- End of managed Java.Lang.IllegalArgumentException stack trace ---
[mono-rt] java.lang.IllegalArgumentException: iconSize cannot be less than 0
[mono-rt] 	at com.google.android.material.button.MaterialButton.setIconSize(MaterialButton.java:703)
[mono-rt] 	at crc6452ffdc5b34af3a0f.MauiMaterialButton.n_onMeasure(Native Method)
[mono-rt] 	at crc6452ffdc5b34af3a0f.MauiMaterialButton.onMeasure(MauiMaterialButton.java:67)
[mono-rt] 	at android.view.View.measure(View.java:27122)
[mono-rt] 	at com.microsoft.maui.PlatformInterop.measureAndGetWidthAndHeight(PlatformInterop.java:404)
[mono-rt] 	at crc6452ffdc5b34af3a0f.LayoutViewGroup.n_onMeasure(Native Method)
[mono-rt] 	at crc6452ffdc5b34af3a0f.LayoutViewGroup.onMeasure(LayoutViewGroup.java:59)
[mono-rt] 	at android.view.View.measure(View.java:27122)
[mono-rt] 	at com.microsoft.maui.PlatformInterop.measureAndGetWidthAndHeight(PlatformInterop.java:404)
[mono-rt] 	at crc6452ffdc5b34af3a0f.LayoutViewGroup.n_onMeasure(Native Method)
[mono-rt] 	at crc6452ffdc5b34af3a0f.LayoutViewGroup.onMeasure(LayoutViewGroup.java:59)
[mono-rt] 	at android.view.View.measure(View.java:27122)
[mono-rt] 	at com.microsoft.maui.PlatformInterop.measureAndGetWidthAndHeight(PlatformInterop.java:404)
[mono-rt] 	at crc6452ffdc5b34af3a0f.LayoutViewGroup.n_onMeasure(Native Method)
[mono-rt] 	at crc6452ffdc5b34af3a0f.LayoutViewGroup.onMeasure(LayoutViewGroup.java:59)
[mono-rt] 	at android.view.View.measure(View.java:27122)
[mono-rt] 	at com.microsoft.maui.PlatformInterop.measureAndGetWidthAndHeight(PlatformInterop.java:404)
[mono-rt] 	at crc6452ffdc5b34af3a0f.ContentViewGroup.n_onMeasure(Native Method)
[mono-rt] 	at crc6452ffdc5b34af3a0f.ContentViewGroup.onMeasure(ContentViewGroup.java:59)
[mono-rt] 	at android.view.View.measure(View.java:27122)
[mono-rt] 	at androidx.core.widget.NestedScrollView.measureChildWithMargins(NestedScrollView.java:1921)
[mono-rt] 	at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
[mono-rt] 	at androidx.core.widget.NestedScrollView.onMeasure(NestedScrollView.java:640)
[mono-rt] 	at crc6452ffdc5b34af3a0f.MauiScrollView.n_onMeasure(Native Method)
[mono-rt] 	at crc6452ffdc5b34af3a0f.MauiScrollView.onMeasure(MauiScrollView.java:69)
[mono-rt] 	at android.view.View.measure(View.java:27122)
[mono-rt] 	at crc6452ffdc5b34af3a0f.ContentViewGroup.n_onMeasure(Native Method)
[mono-rt] 	at crc6452ffdc5b34af3a0f.ContentViewGroup.onMeasure(ContentViewGroup.java:59)
[mono-rt] 	at android.view.View.measure(View.java:27122)
[mono-rt] 	at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:7008)
[mono-rt] 	at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
[mono-rt] 	at android.view.View.measure(View.java:27122)
[mono-rt] 	at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:7008)
[mono-rt] 	at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
[mono-rt] 	at android.view.View.measure(View.java:27122)
[mono-rt] 	at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:7008)
[mono-rt] 	at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
[mono-rt] 	at android.view.View.measure(View.java:27122)
[mono-rt] 	at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:7008)
[mono-rt] 	at androidx.coordinatorlayout.widget.CoordinatorLayout.onMeasureChild(CoordinatorLayout.java:795)
[mono-rt] 	at com.google.android.material.appbar.HeaderScrollingViewBehavior.onMeasureChild(HeaderScrollingViewBehavior.java:100)
[mono-rt] 	at com.google.android.material.appbar.AppBarLayout$ScrollingViewBehavior.onMeasureChild(AppBarLayout.java:2376)
[mono-rt] 	at androidx.coordinatorlayout.widget.CoordinatorLayout.onMeasure(CoordinatorLayout.java:866)
[mono-rt] 	at android.view.View.measure(View.java:27122)
[mono-rt] 	at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:7008)
[mono-rt] 	at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
[mono-rt] 	at androidx.appcompat.widget.ContentFrameLayout.onMeasure(ContentFrameLayout.java:145)
[mono-rt] 	at android.view.View.measure(View.java:27122)
[mono-rt] 	at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:7008)
[mono-rt] 	at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
[mono-rt] 	at android.view.View.measure(View.java:27122)
[mono-rt] 	at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:7008)
[mono-rt] 	at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
[mono-rt] 	at android.view.View.measure(View.java:27122)
[mono-rt] 	at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:7008)
[mono-rt] 	at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1608)
[mono-rt] 	at android.widget.LinearLayout.measureVertical(LinearLayout.java:878)
[mono-rt] 	at android.widget.LinearLayout.onMeasure(LinearLayout.java:721)
[mono-rt] 	at android.view.View.measure(View.java:27122)
[mono-rt] 	at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:7008)
[mono-rt] 	at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
[mono-rt] 	at com.android.internal.policy.DecorView.onMeasure(DecorView.java:750)
[mono-rt] 	at android.view.View.measure(View.java:27122)
[mono-rt] 	at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:4182)
[mono-rt] 	at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:2759)
[mono-rt] 	at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:3086)
[mono-rt] 	at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:2465)
[mono-rt] 	at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:9305)
[mono-rt] 	at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1339)
[mono-rt] 	at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1348)
[mono-rt] 	at android.view.Choreographer.doCallbacks(Choreographer.java:952)
[mono-rt] 	at android.view.Choreographer.doFrame(Choreographer.java:882)
[mono-rt] 	at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1322)
[mono-rt] 	at android.os.Handler.handleCallback(Handler.java:958)
[mono-rt] 	at android.os.Handler.dispatchMessage(Handler.java:99)
[mono-rt] 	at android.os.Looper.loopOnce(Looper.java:205)
[mono-rt] 	at android.os.Looper.loop(Looper.java:294)
[mono-rt] 	at android.app.ActivityThread.main(ActivityThread.java:8177)
[mono-rt] 	at java.lang.reflect.Method.invoke(Native Method)
[mono-rt] 	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:552)
[mono-rt] 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:971)
[mono-rt] 
[mono-rt]   --- End of managed Java.Lang.IllegalArgumentException stack trace ---
[mono-rt] java.lang.IllegalArgumentException: iconSize cannot be less than 0
[mono-rt] 	at com.google.android.material.button.MaterialButton.setIconSize(MaterialButton.java:703)
[mono-rt] 	at crc6452ffdc5b34af3a0f.MauiMaterialButton.n_onMeasure(Native Method)
[mono-rt] 	at crc6452ffdc5b34af3a0f.MauiMaterialButton.onMeasure(MauiMaterialButton.java:67)
[mono-rt] 	at android.view.View.measure(View.java:27122)
[mono-rt] 	at com.microsoft.maui.PlatformInterop.measureAndGetWidthAndHeight(PlatformInterop.java:404)
[mono-rt] 	at crc6452ffdc5b34af3a0f.LayoutViewGroup.n_onMeasure(Native Method)
[mono-rt] 	at crc6452ffdc5b34af3a0f.LayoutViewGroup.onMeasure(LayoutViewGroup.java:59)
[mono-rt] 	at android.view.View.measure(View.java:27122)
[mono-rt] 	at com.microsoft.maui.PlatformInterop.measureAndGetWidthAndHeight(PlatformInterop.java:404)
[mono-rt] 	at crc6452ffdc5b34af3a0f.LayoutViewGroup.n_onMeasure(Native Method)
[mono-rt] 	at crc6452ffdc5b34af3a0f.LayoutViewGroup.onMeasure(LayoutViewGroup.java:59)
[mono-rt] 	at android.view.View.measure(View.java:27122)
[mono-rt] 	at com.microsoft.maui.PlatformInterop.measureAndGetWidthAndHeight(PlatformInterop.java:404)
[mono-rt] 	at crc6452ffdc5b34af3a0f.LayoutViewGroup.n_onMeasure(Native Method)
[mono-rt] 	at crc6452ffdc5b34af3a0f.LayoutViewGroup.onMeasure(LayoutViewGroup.java:59)
[mono-rt] 	at android.view.View.measure(View.java:27122)
[mono-rt] 	at com.microsoft.maui.PlatformInterop.measureAndGetWidthAndHeight(PlatformInterop.java:404)
[mono-rt] 	at crc6452ffdc5b34af3a0f.ContentViewGroup.n_onMeasure(Native Method)
[mono-rt] 	at crc6452ffdc5b34af3a0f.ContentViewGroup.onMeasure(ContentViewGroup.java:59)
[mono-rt] 	at android.view.View.measure(View.java:27122)
[mono-rt] 	at androidx.core.widget.NestedScrollView.measureChildWithMargins(NestedScrollView.java:1921)
[mono-rt] 	at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
[mono-rt] 	at androidx.core.widget.NestedScrollView.onMeasure(NestedScrollView.java:640)
[mono-rt] 	at crc6452ffdc5b34af3a0f.MauiScrollView.n_onMeasure(Native Method)
[mono-rt] 	at crc6452ffdc5b34af3a0f.MauiScrollView.onMeasure(MauiScrollView.java:69)
[mono-rt] 	at android.view.View.measure(View.java:27122)
[mono-rt] 	at crc6452ffdc5b34af3a0f.ContentViewGroup.n_onMeasure(Native Method)
[mono-rt] 	at crc6452ffdc5b34af3a0f.ContentViewGroup.onMeasure(ContentViewGroup.java:59)
[mono-rt] 	at android.view.View.measure(View.java:27122)
[mono-rt] 	at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:7008)
[mono-rt] 	at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
[mono-rt] 	at android.view.View.measure(View.java:27122)
[mono-rt] 	at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:7008)
[mono-rt] 	at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
[mono-rt] 	at android.view.View.measure(View.java:27122)
[mono-rt] 	at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:7008)
[mono-rt] 	at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
[mono-rt] 	at android.view.View.measure(View.java:27122)
[mono-rt] 	at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:7008)
[mono-rt] 	at androidx.coordinatorlayout.widget.CoordinatorLayout.onMeasureChild(CoordinatorLayout.java:795)
[mono-rt] 	at com.google.android.material.appbar.HeaderScrollingViewBehavior.onMeasureChild(HeaderScrollingViewBehavior.java:100)
[mono-rt] 	at com.google.android.material.appbar.AppBarLayout$ScrollingViewBehavior.onMeasureChild(AppBarLayout.java:2376)
@andreptcosta andreptcosta added the t/bug Something isn't working label Apr 12, 2024
@PureWeen PureWeen added platform/android 🤖 p/0 Work that we can't release without area-controls-button Button, ImageButton labels Apr 12, 2024
@dotnet-policy-service dotnet-policy-service bot added the legacy-area-controls Label, Button, CheckBox, Slider, Stepper, Switch, Picker, Entry, Editor label Apr 12, 2024
@PureWeen PureWeen added this to the .NET 8 SR4 milestone Apr 12, 2024
@jfversluis jfversluis added the i/regression This issue described a confirmed regression on a currently supported version label Apr 15, 2024
@mattleibow
Copy link
Member

I am not able to reproduce this:
TestingFonts.zip

Please attach a sample in which you are seeing this issue.

@mattleibow mattleibow added s/needs-repro Attach a solution or code which reproduces the issue s/needs-info Issue needs more info from the author labels Apr 15, 2024
@andreptcosta
Copy link
Author

Hi @mattleibow , it seems like something to do with the Android theme. As my app was migrated from Xamarin, it had Styles.xml with a base theme of Theme.MaterialComponents.Light.NoActionBar. When removing the theme and including the example "@style/Maui.SplashTheme" the app worked.

I'm going to remove this base theme and work on the default MAUI.

Tk's

@dotnet-policy-service dotnet-policy-service bot added s/needs-attention Issue has more information and needs another look and removed s/needs-info Issue needs more info from the author s/needs-repro Attach a solution or code which reproduces the issue labels Apr 15, 2024
@mattleibow mattleibow added not-regression migration-compatibility Xamarin.Forms to .NET MAUI Migration, Upgrade Assistant, Try-Convert and removed i/regression This issue described a confirmed regression on a currently supported version labels Apr 15, 2024
@mattleibow mattleibow removed this from the .NET 8 SR4 milestone Apr 15, 2024
@Eilon Eilon removed the legacy-area-controls Label, Button, CheckBox, Slider, Stepper, Switch, Picker, Entry, Editor label May 10, 2024
@github-actions github-actions bot locked and limited conversation to collaborators Jun 11, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-controls-button Button, ImageButton migration-compatibility Xamarin.Forms to .NET MAUI Migration, Upgrade Assistant, Try-Convert not-regression p/0 Work that we can't release without platform/android 🤖 s/needs-attention Issue has more information and needs another look t/bug Something isn't working
Projects
Status: Done
Development

No branches or pull requests

5 participants