Bug 52368 - Crash while hiding view in StackLayout
Summary: Crash while hiding view in StackLayout
Status: RESOLVED NOT_REPRODUCIBLE
Alias: None
Product: Forms
Classification: Xamarin
Component: Android ()
Version: 2.3.3
Hardware: PC Windows
: Normal major
Target Milestone: ---
Assignee: Paul DiPietro [MSFT]
URL:
Depends on:
Blocks:
 
Reported: 2017-02-07 18:32 UTC by Dobowicz
Modified: 2018-01-10 12:16 UTC (History)
5 users (show)

Tags: android
Is this bug a regression?: ---
Last known good build:

Notice (2018-05-24): bugzilla.xamarin.com is now in read-only mode.

Please join us on Visual Studio Developer Community and in the Xamarin and Mono organizations on GitHub to continue tracking issues. Bugzilla will remain available for reference in read-only mode. We will continue to work on open Bugzilla bugs, copy them to the new locations as needed for follow-up, and add the new items under Related Links.

Our sincere thanks to everyone who has contributed on this bug tracker over the years. Thanks also for your understanding as we make these adjustments and improvements for the future.


Please create a new report on Developer Community or GitHub with your current version information, steps to reproduce, and relevant error messages or log files if you are hitting an issue that looks similar to this resolved bug and you do not yet see a matching new report.

Related Links:
Status:
RESOLVED NOT_REPRODUCIBLE

Description Dobowicz 2017-02-07 18:32:00 UTC
Application is crashing while measuring StackLayout.

Here are crash logs:

02-07 19:14:11.431 E/mono-rt ( 2157): Stacktrace:
02-07 19:14:11.431 E/mono-rt ( 2157): 
02-07 19:14:11.432 E/mono-rt ( 2157):   at <unknown> <0xffffffff>
02-07 19:14:11.432 E/mono-rt ( 2157):   at (wrapper managed-to-native) Java.Interop.NativeMethods.java_interop_jnienv_call_nonvirtual_void_method_a (intptr,intptr&,intptr,intptr,intptr,Java.Interop.JniArgumentValue*) <0x00012>
02-07 19:14:11.432 E/mono-rt ( 2157):   at Java.Interop.JniEnvironment/InstanceMethods.CallNonvirtualVoidMethod (Java.Interop.JniObjectReference,Java.Interop.JniObjectReference,Java.Interop.JniMethodInfo,Java.Interop.JniArgumentValue*) [0x0008f] in /Users/builder/data/lanes/3511/501e63ce/source/Java.Interop/src/Java.Interop/Java.Interop/JniEnvironment.g.cs:12079
02-07 19:14:11.432 E/mono-rt ( 2157):   at Java.Interop.JniPeerMembers/JniInstanceMethods.InvokeNonvirtualVoidMethod (string,Java.Interop.IJavaPeerable,Java.Interop.JniArgumentValue*) [0x00022] in /Users/builder/data/lanes/3511/501e63ce/source/Java.Interop/src/Java.Interop/Java.Interop/JniPeerMembers.JniInstanceMethods_Invoke.cs:41
02-07 19:14:11.432 E/mono-rt ( 2157):   at Android.Views.View.Measure (int,int) [0x0002a] in /Users/builder/data/lanes/3511/501e63ce/source/monodroid/src/Mono.Android/platforms/android-24/src/generated/Android.Views.View.cs:13953
02-07 19:14:11.432 E/mono-rt ( 2157):   at Xamarin.Forms.Platform.Android.ViewRenderer`2<TView_REF, TNativeView_REF>.GetDesiredSize (int,int) [0x00032] in C:\BuildAgent2\work\ca3766cfc22354a1\Xamarin.Forms.Platform.Android\ViewRenderer.cs:71
02-07 19:14:11.432 E/mono-rt ( 2157):   at Xamarin.Forms.Platform.Android.LabelRenderer.GetDesiredSize (int,int) [0x000f8] in C:\BuildAgent2\work\ca3766cfc22354a1\Xamarin.Forms.Platform.Android\Renderers\LabelRenderer.cs:60
02-07 19:14:11.432 E/mono-rt ( 2157):   at Xamarin.Forms.Platform.Android.Platform.Xamarin.Forms.IPlatform.GetNativeSize (Xamarin.Forms.VisualElement,double,double) [0x0008e] in C:\BuildAgent2\work\ca3766cfc22354a1\Xamarin.Forms.Platform.Android\Platform.cs:1045
02-07 19:14:11.432 E/mono-rt ( 2157):   at Xamarin.Forms.VisualElement.OnSizeRequest (double,double) [0x0002d] in C:\BuildAgent2\work\ca3766cfc22354a1\Xamarin.Forms.Core\VisualElement.cs:624
02-07 19:14:11.432 E/mono-rt ( 2157):   at Xamarin.Forms.VisualElement.OnMeasure (double,double) [0x00000] in C:\BuildAgent2\work\ca3766cfc22354a1\Xamarin.Forms.Core\VisualElement.cs:593
02-07 19:14:11.432 E/mono-rt ( 2157):   at Xamarin.Forms.VisualElement.GetSizeRequest (double,double) [0x00053] in C:\BuildAgent2\work\ca3766cfc22354a1\Xamarin.Forms.Core\VisualElement.cs:469
02-07 19:14:11.432 E/mono-rt ( 2157):   at Xamarin.Forms.VisualElement.Measure (double,double,Xamarin.Forms.MeasureFlags) [0x00054] in C:\BuildAgent2\work\ca3766cfc22354a1\Xamarin.Forms.Core\VisualElement.cs:527
02-07 19:14:11.432 E/mono-rt ( 2157):   at Xamarin.Forms.StackLayout.CalculateNaiveLayout (Xamarin.Forms.StackLayout/LayoutInformation,Xamarin.Forms.StackOrientation,double,double,double,double) [0x000a8] in C:\BuildAgent2\work\ca3766cfc22354a1\Xamarin.Forms.Core\StackLayout.cs:150
02-07 19:14:11.432 E/mono-rt ( 2157):   at Xamarin.Forms.StackLayout.CalculateLayout (Xamarin.Forms.StackLayout/LayoutInformation,double,double,double,double,bool) [0x00058] in C:\BuildAgent2\work\ca3766cfc22354a1\Xamarin.Forms.Core\StackLayout.cs:110
02-07 19:14:11.432 E/mono-rt ( 2157):   at Xamarin.Forms.StackLayout.LayoutChildren (double,double,double,double) [0x0005b] in C:\BuildAgent2\work\ca3766cfc22354a1\Xamarin.Forms.Core\StackLayout.cs:44
02-07 19:14:11.432 E/mono-rt ( 2157):   at Xamarin.Forms.Layout.UpdateChildrenLayout () [0x000c7] in C:\BuildAgent2\work\ca3766cfc22354a1\Xamarin.Forms.Core\Layout.cs:229
02-07 19:14:11.432 E/mono-rt ( 2157):   at Xamarin.Forms.Layout.OnSizeAllocated (double,double) [0x0000f] in C:\BuildAgent2\work\ca3766cfc22354a1\Xamarin.Forms.Core\Layout.cs:194
02-07 19:14:11.432 E/mono-rt ( 2157):   at Xamarin.Forms.VisualElement.SizeAllocated (double,double) [0x00000] in C:\BuildAgent2\work\ca3766cfc22354a1\Xamarin.Forms.Core\VisualElement.cs:629
02-07 19:14:11.432 E/mono-rt ( 2157):   at Xamarin.Forms.Layout/<>c.<OnChildMeasureInvalidated>b__39_0 () [0x00080] in C:\BuildAgent2\work\ca3766cfc22354a1\Xamarin.Forms.Core\Layout.cs:332
02-07 19:14:11.432 E/mono-rt ( 2157):   at Java.Lang.Thread/RunnableImplementor.Run () [0x0000b] in /Users/builder/data/lanes/3511/501e63ce/source/xamarin-android/src/Mono.Android/Java.Lang/Thread.cs:36
02-07 19:14:11.432 E/mono-rt ( 2157):   at Java.Lang.IRunnableInvoker.n_Run (intptr,intptr) [0x00009] in /Users/builder/data/lanes/3511/501e63ce/source/monodroid/src/Mono.Android/platforms/android-24/src/generated/Java.Lang.IRunnable.cs:81
02-07 19:14:11.432 E/mono-rt ( 2157):   at (wrapper dynamic-method) object.0f675565-3277-467b-9dd7-df37b4a3d1d1 (intptr,intptr) <IL 0x00011, 0x0001f>
02-07 19:14:11.432 E/mono-rt ( 2157):   at (wrapper native-to-managed) object.0f675565-3277-467b-9dd7-df37b4a3d1d1 (intptr,intptr) <IL 0x00021, 0x00097>



And here is chunk of code for my ListView, where I am using StackLayout in ViewCell:

public MyPage()
		{
			this.SetBinding(ContentPage.TitleProperty, nameof(MyViewModel.Title));

			StackLayout stackLayout = new StackLayout();

			Entry entry = new Entry
			{
				HorizontalOptions = LayoutOptions.Fill
			};
			entry.Keyboard = Keyboard.Create(KeyboardFlags.CapitalizeSentence);
			entry.SetBinding(Entry.TextProperty, nameof(MyViewModel.EntryTextValue));
			entry.SetBinding(Entry.TextColorProperty, nameof(MyViewModel.EntryTextColor));

			ListView listView = new ListView
			{
				HasUnevenRows = true,
				RowHeight = -1
			};
			DataTemplate dataTemplate = new DataTemplate(() =>
			{
				StackLayout layout = new StackLayout
				{
					HorizontalOptions = LayoutOptions.Fill,
					VerticalOptions = LayoutOptions.Center
				};

				Label titleLabel = new Label
				{
					VerticalOptions = LayoutOptions.Center,
					FontSize = Device.GetNamedSize(NamedSize.Medium, typeof(Label))
				};
				Device.OnPlatform(
					Android: () => titleLabel.Margin = new Thickness(8, 8, 8, 8),
					WinPhone: () => titleLabel.Margin = new Thickness(8, 4, 8, 0));
				titleLabel.SetBinding(Label.TextProperty, "Title");

				Label descriptionLabel = new Label
				{
					VerticalOptions = LayoutOptions.Center,
					Margin = new Thickness(8, 0, 8, 4),
					FontSize = Device.GetNamedSize(NamedSize.Small, typeof(Label))
				};
				descriptionLabel.SetBinding(Label.TextProperty, "Description");
				descriptionLabel.SetBinding(Label.IsVisibleProperty, "IsDescriptionVisible");

				layout.Children.Add(titleLabel);
				layout.Children.Add(descriptionLabel);

				return new ViewCell()
				{
					View = layout
				};
			});

			listView.ItemTemplate = dataTemplate;
			listView.SetBinding(ListView.ItemsSourceProperty, nameof(MyViewModel.MySubViewModels));

			stackLayout.Children.Add(entry);
			stackLayout.Children.Add(listView);

			Content = stackLayout;
		}
Comment 1 Dobowicz 2017-02-07 19:23:35 UTC
Crash is also happening when using RelativeLayout instead of StackLayout.

	  at Xamarin.Forms.Platform.Android.Platform.Xamarin.Forms.IPlatform.GetNativeSize (Xamarin.Forms.VisualElement,double,double) <0x001ec>
	  at Xamarin.Forms.RelativeLayout.LayoutChildren (double,double,double,double) <0x0005b>
	  at Java.Interop.JniPeerMembers/JniInstanceMethods.InvokeNonvirtualVoidMethod (string,Java.Interop.IJavaPeerable,Java.Interop.JniArgumentValue*) <0x00093>
	  at Xamarin.Forms.VisualElement.Measure (double,double,Xamarin.Forms.MeasureFlags) <0x00261>
	  at Xamarin.Forms.VisualElement.SizeAllocated (double,double) <0x00021>
	  at (wrapper dynamic-method) object.d207cc6d-c17b-4f6e-9db6-27e9197fdb7f (intptr,intptr) <0x0001f>
	  at Xamarin.Forms.RelativeLayout.SolveView (Xamarin.Forms.View) <0x0002f>
	  at Java.Interop.JniEnvironment/InstanceMethods.CallNonvirtualVoidMethod (Java.Interop.JniObjectReference,Java.Interop.JniObjectReference,Java.Interop.JniMethodInfo,Java.Interop.JniArgumentValue*) <0x000b7>
	  at Xamarin.Forms.RelativeLayout/<>c__DisplayClass23_0.<CreateBoundsFromConstraints>b__7 () <0x000af>
	  at Java.Lang.Thread/RunnableImplementor.Run () <0x00027>
	  at <unknown> <0xffffffff>
	  at Xamarin.Forms.Layout/<>c.<OnChildMeasureInvalidated>b__39_0 () <0x001a7>
	  at Xamarin.Forms.VisualElement.OnSizeRequest (double,double) <0x0018d>
	  at (wrapper native-to-managed) object.d207cc6d-c17b-4f6e-9db6-27e9197fdb7f (intptr,intptr) <0x00073>
	  at Xamarin.Forms.Layout.UpdateChildrenLayout () <0x00374>
	  at Xamarin.Forms.BoundsConstraint.Compute () <0x0001b>
	  at Xamarin.Forms.VisualElement.GetSizeRequest (double,double) <0x0036d>
	Stacktrace:
	  at Android.Views.View.Measure (int,int) <0x000df>
	  at (wrapper delegate-invoke) <Module>.invoke_bound_Rectangle_Closure () <0x0008e>
	  at Xamarin.Forms.Layout.OnSizeAllocated (double,double) <0x00027>
	  at Xamarin.Forms.Platform.Android.LabelRenderer.GetDesiredSize (int,int) <0x0041b>
	  at Java.Lang.IRunnableInvoker.n_Run (intptr,intptr) <0x00034>
	  at Xamarin.Forms.VisualElement.OnMeasure (double,double) <0x00028>
	  at Xamarin.Forms.Platform.Android.ViewRenderer`2<TView_REF, TNativeView_REF>.GetDesiredSize (int,int) <0x000bb>
	  at (wrapper managed-to-native) Java.Interop.NativeMethods.java_interop_jnienv_call_nonvirtual_void_method_a (intptr,intptr&,intptr,intptr,intptr,Java.Interop.JniArgumentValue*) <0x00012>
	  at (wrapper dynamic-method) object.lambda_method (System.Runtime.CompilerServices.Closure) <0x00074>
Comment 2 Dobowicz 2017-02-07 19:30:46 UTC
To reproduce this behaviour you need app containing 2 pages.
1. Start with some page.
2. Open MyPage.
3. If crash happens, it will happen at beginning of showing the page.

Crash is happening in something about 5% of attempts to open instance of MyPage. It is happening on Visual Studio Android emulator 5" Android 6.0.1.
Comment 3 Dobowicz 2017-02-11 20:46:00 UTC
I have finally found what was causing this crash in my app. I have been using ListView with ObservableCollection bound to it. It was working fine at the time, when I was creating new objects when I entered the page. Then I have refactored my code and I have been caching view models for the ListView. This caused update on a view, which was not visible on screen and after some time (I suppose after GC did its job) app crashed when it wanted to measure the view. My solution for this bug is clearing PropertyChanged event every time when I am deleting object from collection. I think it should be handled by Xamarin itself.

So the steps to reproduce this behaviour are:
1. Create app with 2 pages
2. On second page add a ListView with binding to viewmodel's ObservableCollection
3. Add code which will cache ObservableCollection's objects
4. Add code, which will reload objects to ObservableCollection on every appear
5. Change properties of at least 2 objects from ObservableCollection
6. Run app, open and close second page as long, as the crash will appear
Comment 4 Paul DiPietro [MSFT] 2017-03-24 14:41:28 UTC
Can you attach this as a reproduction project? Is this only occurring on the 6.0.1 emulator that you're aware of, or have you tried this on other devices/emulators? As a last check, it'd be helpful to know if you still experience this on either the prerelease or nightly build.
Comment 5 Dobowicz 2017-03-27 14:30:55 UTC
Right now I cannot attach reproduction code, sorry. It is occurring on every Android device I think. I had a problem with it on 4.4 and 6.0.1 emulators (Microsoft ones) and on Samsung i9305. I have checked if this bug happens on repository cloned the day I wrote this issue, I haven't checked later. I will have more time in 2 weeks I think, then maybe I will be able to share code, but I am pretty sure, that there is just object representing a view subscribed to PropertyChanged event. I have solved it in my project by adding simple method, which cleans all subscriptions for this event and I am using it before I will remove object from collection, which is shown in a ListView.
Comment 6 Rui Marinho 2017-06-20 19:47:43 UTC
Unfortunately, we’re unable to reproduce this report. If this issue is still occurring for you, please reopen this issue and attach a reproduction to the bug by starting with a clean Xamarin.Forms project adding just the code necessary to demonstrate the issue. 
 
Here are some reproduction best practices: https://gist.github.com/jassmith/92405c300e54a01dcc6d
Comment 7 Danny 2017-06-28 19:41:32 UTC
I am also getting this exact error. I have 3 or 4 pages that I open in a wizard type layout. if i go through the pages, close the pages at the end and start the process over, it will crash. I appreciate Dobowicz giving some insight into the problem with the propertychange event.
Comment 8 Danny 2017-06-30 13:19:24 UTC
I hope this helps some but here is what I did to solve the problem. 

Problem:
- I 2 sequential pages. there is a listview on each page. Each of these listviews are bound to the same observablecollection which resides in a static class outside of the 2 pages. Each listview item has a label and a switch. The switch is 2 way binding on both listviews to a property in the observablecollection.

Steps:
Toggle a switch for an item on page 1 listview
Push page 2 and toggle the switch for an item on page 2
Pop back to page 1
Rinse and repeat

Eventually page 2 will cause the error to happen as mentioned in the first post. It seems to be a binding issue of a listview to an observablecollection and a page has been popped from the stack is still somehow listening for property changes to the observablecollection.

Workaround:
On page 2, rather than using the same static observablecollection object as page 1's listview source, I created a local observablecollection in the page's view model and bound to that. in page 2's constructor, I populate the local collection manually with the information needed from the static observablecollection. When going back to page 1 from page 2, if there was any data changes in the local collection, i sync these changes with the static collection so Page 1 is aware of what happened on page 2. vuola, no more application crashes going between the 2 pages.

Please reopen this bug so it can be addressed. Thank you!
Comment 9 Namyslaw Szymaniuk 2018-01-10 12:16:20 UTC
I've just reproduced something similar at latest XF release 2.5.0.122203 :

01-10 13:11:06.126 E/mono-rt (26276): Stacktrace:
01-10 13:11:06.126 E/mono-rt (26276): 
01-10 13:11:06.126 E/mono-rt (26276):   at <unknown> <0xffffffff>
01-10 13:11:06.127 E/mono-rt (26276):   at (wrapper managed-to-native) Java.Interop.NativeMethods.java_interop_jnienv_call_nonvirtual_void_method_a (intptr,intptr&,intptr,intptr,intptr,Java.Interop.JniArgumentValue*) <0x00057>
01-10 13:11:06.127 E/mono-rt (26276):   at Java.Interop.JniEnvironment/InstanceMethods.CallNonvirtualVoidMethod (Java.Interop.JniObjectReference,Java.Interop.JniObjectReference,Java.Interop.JniMethodInfo,Java.Interop.JniArgumentValue*) [0x00074] in <e736913786c2475188869561ae512b72>:0
01-10 13:11:06.127 E/mono-rt (26276):   at Java.Interop.JniPeerMembers/JniInstanceMethods.InvokeNonvirtualVoidMethod (string,Java.Interop.IJavaPeerable,Java.Interop.JniArgumentValue*) [0x00021] in <e736913786c2475188869561ae512b72>:0
01-10 13:11:06.127 E/mono-rt (26276):   at Android.Views.View.Measure (int,int) [0x0003c] in <8211f1f12f9e45838d631abf63e51c79>:0
01-10 13:11:06.127 E/mono-rt (26276):   at Xamarin.Forms.Platform.Android.ViewRenderer`2<TView_REF, TNativeView_REF>.GetDesiredSize (int,int) [0x00032] in D:\agent\_work\1\s\Xamarin.Forms.Platform.Android\ViewRenderer.cs:92
01-10 13:11:06.127 E/mono-rt (26276):   at Xamarin.Forms.Platform.Android.LabelRenderer.GetDesiredSize (int,int) [0x000f8] in D:\agent\_work\1\s\Xamarin.Forms.Platform.Android\Renderers\LabelRenderer.cs:69
01-10 13:11:06.127 E/mono-rt (26276):   at Xamarin.Forms.Platform.Android.Platform.Xamarin.Forms.Internals.IPlatform.GetNativeSize (Xamarin.Forms.VisualElement,double,double) [0x0008e] in D:\agent\_work\1\s\Xamarin.Forms.Platform.Android\Platform.cs:1227
01-10 13:11:06.127 E/mono-rt (26276):   at Xamarin.Forms.VisualElement.OnSizeRequest (double,double) [0x0002d] in D:\agent\_work\1\s\Xamarin.Forms.Core\VisualElement.cs:632
01-10 13:11:06.127 E/mono-rt (26276):   at Xamarin.Forms.VisualElement.OnMeasure (double,double) [0x00000] in D:\agent\_work\1\s\Xamarin.Forms.Core\VisualElement.cs:601
01-10 13:11:06.127 E/mono-rt (26276):   at Xamarin.Forms.VisualElement.GetSizeRequest (double,double) [0x00053] in D:\agent\_work\1\s\Xamarin.Forms.Core\VisualElement.cs:477
01-10 13:11:06.127 E/mono-rt (26276):   at Xamarin.Forms.VisualElement.Measure (double,double,Xamarin.Forms.MeasureFlags) [0x00054] in D:\agent\_work\1\s\Xamarin.Forms.Core\VisualElement.cs:535
01-10 13:11:06.128 E/mono-rt (26276):   at Xamarin.Forms.StackLayout.CalculateNaiveLayout (Xamarin.Forms.StackLayout/LayoutInformation,Xamarin.Forms.StackOrientation,double,double,double,double) [0x00236] in D:\agent\_work\1\s\Xamarin.Forms.Core\StackLayout.cs:198
01-10 13:11:06.128 E/mono-rt (26276):   at Xamarin.Forms.StackLayout.CalculateLayout (Xamarin.Forms.StackLayout/LayoutInformation,double,double,double,double,bool) [0x00058] in D:\agent\_work\1\s\Xamarin.Forms.Core\StackLayout.cs:123
01-10 13:11:06.128 E/mono-rt (26276):   at Xamarin.Forms.StackLayout.OnSizeRequest (double,double) [0x00019] in D:\agent\_work\1\s\Xamarin.Forms.Core\StackLayout.cs:80
01-10 13:11:06.128 E/mono-rt (26276):   at Xamarin.Forms.VisualElement.OnMeasure (double,double) [0x00000] in D:\agent\_work\1\s\Xamarin.Forms.Core\VisualElement.cs:601
01-10 13:11:06.128 E/mono-rt (26276):   at Xamarin.Forms.VisualElement.GetSizeRequest (double,double) [0x00053] in D:\agent\_work\1\s\Xamarin.Forms.Core\VisualElement.cs:477
01-10 13:11:06.128 E/mono-rt (26276):   at Xamarin.Forms.Layout.GetSizeRequest (double,double) [0x00000] in D:\agent\_work\1\s\Xamarin.Forms.Core\Layout.cs:121
01-10 13:11:06.128 E/mono-rt (26276):   at Xamarin.Forms.VisualElement.Measure (double,double,Xamarin.Forms.MeasureFlags) [0x00054] in D:\agent\_work\1\s\Xamarin.Forms.Core\VisualElement.cs:535
01-10 13:11:06.128 E/mono-rt (26276):   at Xamarin.Forms.StackLayout.CalculateNaiveLayout (Xamarin.Forms.StackLayout/LayoutInformation,Xamarin.Forms.StackOrientation,double,double,double,double) [0x00236] in D:\agent\_work\1\s\Xamarin.Forms.Core\StackLayout.cs:198
01-10 13:11:06.128 E/mono-rt (26276):   at Xamarin.Forms.StackLayout.CalculateLayout (Xamarin.Forms.StackLayout/LayoutInformation,double,double,double,double,bool) [0x00058] in D:\agent\_work\1\s\Xamarin.Forms.Core\StackLayout.cs:123
01-10 13:11:06.128 E/mono-rt (26276):   at Xamarin.Forms.StackLayout.OnSizeRequest (double,double) [0x00019] in D:\agent\_work\1\s\Xamarin.Forms.Core\StackLayout.cs:80
01-10 13:11:06.128 E/mono-rt (26276):   at Xamarin.Forms.VisualElement.OnMeasure (double,double) [0x00000] in D:\agent\_work\1\s\Xamarin.Forms.Core\VisualElement.cs:601
01-10 13:11:06.128 E/mono-rt (26276):   at Xamarin.Forms.VisualElement.GetSizeRequest (double,double) [0x00053] in D:\agent\_work\1\s\Xamarin.Forms.Core\VisualElement.cs:477
01-10 13:11:06.128 E/mono-rt (26276):   at Xamarin.Forms.Layout.GetSizeRequest (double,double) [0x00000] in D:\agent\_work\1\s\Xamarin.Forms.Core\Layout.cs:121
01-10 13:11:06.128 E/mono-rt (26276):   at Xamarin.Forms.VisualElement.Measure (double,double,Xamarin.Forms.MeasureFlags) [0x00054] in D:\agent\_work\1\s\Xamarin.Forms.Core\VisualElement.cs:535
01-10 13:11:06.129 E/mono-rt (26276):   at Xamarin.Forms.StackLayout.CalculateNaiveLayout (Xamarin.Forms.StackLayout/LayoutInformation,Xamarin.Forms.StackOrientation,double,double,double,double) [0x000a8] in D:\agent\_work\1\s\Xamarin.Forms.Core\StackLayout.cs:163
01-10 13:11:06.129 E/mono-rt (26276):   at Xamarin.Forms.StackLayout.CalculateLayout (Xamarin.Forms.StackLayout/LayoutInformation,double,double,double,double,bool) [0x00058] in D:\agent\_work\1\s\Xamarin.Forms.Core\StackLayout.cs:123
01-10 13:11:06.129 E/mono-rt (26276):   at Xamarin.Forms.StackLayout.LayoutChildren (double,double,double,double) [0x0005b] in D:\agent\_work\1\s\Xamarin.Forms.Core\StackLayout.cs:57
01-10 13:11:06.129 E/mono-rt (26276):   at Xamarin.Forms.Layout.UpdateChildrenLayout () [0x0014b] in D:\agent\_work\1\s\Xamarin.Forms.Core\Layout.cs:245
01-10 13:11:06.129 E/mono-rt (26276):   at Xamarin.Forms.Layout.OnSizeAllocated (double,double) [0x0000f] in D:\agent\_work\1\s\Xamarin.Forms.Core\Layout.cs:205
01-10 13:11:06.129 E/mono-rt (26276):   at Xamarin.Forms.VisualElement.SizeAllocated (double,double) [0x00000] in D:\agent\_work\1\s\Xamarin.Forms.Core\VisualElement.cs:637
01-10 13:11:06.129 E/mono-rt (26276):   at Xamarin.Forms.Layout/<>c.<OnChildMeasureInvalidated>b__40_0 () [0x00080] in D:\agent\_work\1\s\Xamarin.Forms.Core\Layout.cs:346
01-10 13:11:06.129 E/mono-rt (26276):   at Java.Lang.Thread/RunnableImplementor.Run () [0x0000e] in <8211f1f12f9e45838d631abf63e51c79>:0
01-10 13:11:06.129 E/mono-rt (26276):   at Java.Lang.IRunnableInvoker.n_Run (intptr,intptr) [0x00008] in <8211f1f12f9e45838d631abf63e51c79>:0
01-10 13:11:06.130 E/mono-rt (26276):   at (wrapper dynamic-method) object.f44e1f03-e30d-4e12-8aaa-9d2471d6f931 (intptr,intptr) [0x00011] in <657aa8fea4454dc898a9e5f379c58734>:0
01-10 13:11:06.130 E/mono-rt (26276):   at (wrapper native-to-managed) object.f44e1f03-e30d-4e12-8aaa-9d2471d6f931 (intptr,intptr) [0x00021] in <657aa8fea4454dc898a9e5f379c58734>:0