xamarin / Xamarin.Forms

Xamarin.Forms is no longer supported. Migrate your apps to .NET MAUI.
https://aka.ms/xamarin-upgrade
Other
5.62k stars 1.87k forks source link

[Bug] [Tizen] InvalidOperationException in VisualElementRenderer.Dispose(Boolean disposing) #10426

Closed SHuygh closed 4 years ago

SHuygh commented 4 years ago

Description

Tizen watch application crashes in VisualElementRenderer.Dispose(Boolean disposing). The exception originates in the Tizen.Net package and is fixed starting from Tizen.Net 5.0.0. https://github.com/Samsung/TizenFX/blob/API5/src/ElmSharp/ElmSharp/EvasObject.cs

Are there any plans to update the dependency in the future?

Exception: "InvalidOperationException Collection was modified; enumeration operation may not execute."

Stacktrace: at System.Collections.Generic.HashSet1.Enumerator.MoveNext() at ElmSharp.EvasObject.DisposeEvent() at ElmSharp.EvasObject.Unrealize() at Xamarin.Forms.Platform.Tizen.VisualElementRenderer1.Dispose(Boolean disposing) at Xamarin.Forms.Platform.Tizen.LayoutRenderer.Dispose(Boolean disposing) at Xamarin.Forms.Platform.Tizen.VisualElementRenderer1.Dispose() at Xamarin.Forms.Platform.Tizen.VisualElementRenderer1.Dispose(Boolean disposing) at Tizen.Wearable.CircularUI.Forms.Renderer.CirclePageRenderer.<>n0(Boolean disposing) at Tizen.Wearable.CircularUI.Forms.Renderer.CirclePageRenderer.<>cDisplayClass24_0.gDisposeInternal|1(Boolean isDisposing) at Tizen.Wearable.CircularUI.Forms.Renderer.CirclePageRenderer.<>cDisplayClass24_0.b0() at Xamarin.Forms.Platform.Tizen.TizenPlatformServices.<>cDisplayClass6_0.b0(Object o) at Tizen.Applications.TizenSynchronizationContext.<>cDisplayClass1_0.b__0() at Tizen.Applications.TizenSynchronizationContext.GSourceManager.Handler(IntPtr userData) at Tizen.Applications.CoreBackend.UICoreBackend.Run(String[] args)\n at Tizen.Applications.CoreApplication.Run(String[] args) at Tizen.Applications.CoreUIApplication.Run(String[] args)

Steps to Reproduce

I was not able to find a reproducible scenario

Basic Information

rookiejava commented 4 years ago

As you know, we are currently referring to tizen40 (Tizen.NET 4.0.0) for more tizen device compatibility. We plan to update the reference Tizen.NET packagage version when the higher version devices become more active. I'll share you again once the detailed schedule is established. Until then, you can also refer to the version of Tizen.NET directly through the <PackageReference> in your app project(*.csproj).

And since the stack trace above is seen as an issue of CirclePage, I've closed this ticket. If it is to be reproduced, please submit it to CircularUI's home with the relevant code.

Thank you!