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

[UI/ChatSignalR][Wasm] Freezes on an image when deploying #430

Open
Marc-Antoine-Soucy opened this issue Aug 2, 2023 · 3 comments · May be fixed by #720 or #550
Open

[UI/ChatSignalR][Wasm] Freezes on an image when deploying #430

Marc-Antoine-Soucy opened this issue Aug 2, 2023 · 3 comments · May be fixed by #720 or #550

Comments

@Marc-Antoine-Soucy
Copy link
Contributor

You get to this image, and then it stays frozen.
image
It might be related to these errors in the output:

fail: Microsoft.UI.Xaml.BrushTransition[0]
      The member BrushTransition.BrushTransition() is not implemented. For more information, visit https://aka.platform.uno/notimplemented?m=Microsoft.UI.Xaml.BrushTransition.BrushTransition.BrushTransition%28%29
fail: Microsoft.UI.Xaml.BrushTransition[0]
      The member TimeSpan BrushTransition.Duration is not implemented. For more information, visit https://aka.platform.uno/notimplemented?m=Microsoft.UI.Xaml.BrushTransition.TimeSpan%20BrushTransition.Duration
fail: Microsoft.UI.Xaml.Controls.ContentPresenter[0]
      The member BrushTransition ContentPresenter.BackgroundTransition is not implemented. For more information, visit https://aka.platform.uno/notimplemented?m=Microsoft.UI.Xaml.Controls.ContentPresenter.BrushTransition%20ContentPresenter.BackgroundTransition
fail: Microsoft.UI.Xaml.Controls.CommandBarFlyout[0]
      The member CommandBarFlyout.CommandBarFlyout() is not implemented. For more information, visit https://aka.platform.uno/notimplemented?m=Microsoft.UI.Xaml.Controls.CommandBarFlyout.CommandBarFlyout.CommandBarFlyout%28%29
fail: Microsoft.UI.Xaml.Controls.TextCommandBarFlyout[0]
      The member TextCommandBarFlyout.TextCommandBarFlyout() is not implemented. For more information, visit https://aka.platform.uno/notimplemented?m=Microsoft.UI.Xaml.Controls.TextCommandBarFlyout.TextCommandBarFlyout.TextCommandBarFlyout%28%29
fail: Uno.UI.DataBinding.BindingPropertyHelper[0]
      The [ScrollViewer] property getter does not exist on type [Microsoft.UI.Xaml.Controls.TextBox]
fail: Uno.UI.DataBinding.BindingPropertyHelper[0]
      The [ScrollViewer] property getter does not exist on type [Microsoft.UI.Xaml.Controls.TextBox]
fail: Microsoft.UI.Xaml.Media.Animation.AddDeleteThemeTransition[0]
      The member AddDeleteThemeTransition.AddDeleteThemeTransition() is not implemented. For more information, visit https://aka.platform.uno/notimplemented?m=Microsoft.UI.Xaml.Media.Animation.AddDeleteThemeTransition.AddDeleteThemeTransition.AddDeleteThemeTransition%28%29
fail: Microsoft.UI.Xaml.Media.Animation.ContentThemeTransition[0]
      The member ContentThemeTransition.ContentThemeTransition() is not implemented. For more information, visit https://aka.platform.uno/notimplemented?m=Microsoft.UI.Xaml.Media.Animation.ContentThemeTransition.ContentThemeTransition.ContentThemeTransition%28%29
fail: Microsoft.UI.Xaml.Media.Animation.ReorderThemeTransition[0]
      The member ReorderThemeTransition.ReorderThemeTransition() is not implemented. For more information, visit https://aka.platform.uno/notimplemented?m=Microsoft.UI.Xaml.Media.Animation.ReorderThemeTransition.ReorderThemeTransition.ReorderThemeTransition%28%29
fail: Uno.UI.DataBinding.BindingPropertyHelper[0]
      The [ScrollViewer] property getter does not exist on type [Microsoft.UI.Xaml.Controls.ListView]
fail: Uno.UI.DataBinding.BindingPropertyHelper[0]
      The [ScrollViewer] property getter does not exist on type [Microsoft.UI.Xaml.Controls.ListView]
fail: Uno.UI.Dispatching.CoreDispatcher[0]
      Dispatcher unhandled exception
System.InvalidOperationException: Failed to load UnoChat.MainPage: System.PlatformNotSupportedException: Operation is not supported on this platform.
   at System.Threading.Thread.ThrowIfNoThreadStart(Boolean internalThread) in D:\a\Uno.DotnetRuntime.WebAssembly\Uno.DotnetRuntime.WebAssembly\runtime\src\libraries\System.Private.CoreLib\src\System\Threading\Thread.cs:line 176
   at System.Threading.Thread.Start(Object parameter, Boolean captureContext, Boolean internalThread) in D:\a\Uno.DotnetRuntime.WebAssembly\Uno.DotnetRuntime.WebAssembly\runtime\src\libraries\System.Private.CoreLib\src\System\Threading\Thread.cs:line 205
   at System.Threading.Thread.Start(Object parameter) in D:\a\Uno.DotnetRuntime.WebAssembly\Uno.DotnetRuntime.WebAssembly\runtime\src\libraries\System.Private.CoreLib\src\System\Threading\Thread.cs:line 187
   at System.Reactive.Concurrency.ConcurrencyAbstractionLayerImpl.StartThread(Action`1 action, Object state)
   at System.Reactive.Concurrency.DefaultScheduler.LongRunning.LongScheduledWorkItem`1[[System.Threading.CancellationToken, System.Private.CoreLib, Version=7.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]]..ctor(CancellationToken state, Action`2 action)
   at System.Reactive.Concurrency.DefaultScheduler.LongRunning.ScheduleLongRunning[CancellationToken](CancellationToken state, Action`2 action)
   at System.Reactive.Linq.ObservableImpl.Delay`1.Base`1.L[[UnoChat.Client.Message.Model, UnoChat.Wasm, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null],[System.Reactive.Linq.ObservableImpl.Delay`1.Relative[[UnoChat.Client.Message.Model, UnoChat.Wasm, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]], System.Reactive, Version=6.0.0.0, Culture=neutral, PublicKeyToken=94bc3704cddfc263]].ScheduleDrain()
   at System.Reactive.Linq.ObservableImpl.Delay`1.Relative.L[[UnoChat.Client.Message.Model, UnoChat.Wasm, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].RunCore(Relative parent)
   at System.Reactive.Linq.ObservableImpl.Delay`1.Base`1._[[UnoChat.Client.Message.Model, UnoChat.Wasm, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null],[System.Reactive.Linq.ObservableImpl.Delay`1.Relative[[UnoChat.Client.Message.Model, UnoChat.Wasm, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]], System.Reactive, Version=6.0.0.0, Culture=neutral, PublicKeyToken=94bc3704cddfc263]].Run(Relative parent)
   at System.Reactive.Linq.ObservableImpl.Delay`1.Relative[[UnoChat.Client.Message.Model, UnoChat.Wasm, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].Run(_ sink)
   at System.Reactive.Producer`2[[UnoChat.Client.Message.Model, UnoChat.Wasm, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null],[System.Reactive.Linq.ObservableImpl.Delay`1.Base`1._[[UnoChat.Client.Message.Model, UnoChat.Wasm, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null],[System.Reactive.Linq.ObservableImpl.Delay`1.Relative[[UnoChat.Client.Message.Model, UnoChat.Wasm, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]], System.Reactive, Version=6.0.0.0, Culture=neutral, PublicKeyToken=94bc3704cddfc263]], System.Reactive, Version=6.0.0.0, Culture=neutral, PublicKeyToken=94bc3704cddfc263]].SubscribeRaw(IObserver`1 observer, Boolean enableSafeguard)
   at System.ObservableExtensions.SubscribeSafe[Model](IObservable`1 source, IObserver`1 observer)
   at System.Reactive.Sink`2[[UnoChat.Client.Message.Model, UnoChat.Wasm, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null],[UnoChat.Client.Message.Model, UnoChat.Wasm, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].Run(IObservable`1 source)
   at System.Reactive.Concurrency.ObserveOn`1.Scheduler[[UnoChat.Client.Message.Model, UnoChat.Wasm, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].Run(ObserveOnObserverNew`1 sink)
   at System.Reactive.Producer`2.<>c[[UnoChat.Client.Message.Model, UnoChat.Wasm, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null],[System.Reactive.ObserveOnObserverNew`1[[UnoChat.Client.Message.Model, UnoChat.Wasm, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]], System.Reactive, Version=6.0.0.0, Culture=neutral, PublicKeyToken=94bc3704cddfc263]].<SubscribeRaw>b__1_0(ValueTuple`2 tuple)
   at System.Reactive.Concurrency.Scheduler.<>c__75`1[[System.ValueTuple`2[[System.Reactive.Producer`2[[UnoChat.Client.Message.Model, UnoChat.Wasm, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null],[System.Reactive.ObserveOnObserverNew`1[[UnoChat.Client.Message.Model, UnoChat.Wasm, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]], System.Reactive, Version=6.0.0.0, Culture=neutral, PublicKeyToken=94bc3704cddfc263]], System.Reactive, Version=6.0.0.0, Culture=neutral, PublicKeyToken=94bc3704cddfc263],[System.Reactive.ObserveOnObserverNew`1[[UnoChat.Client.Message.Model, UnoChat.Wasm, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]], System.Reactive, Version=6.0.0.0, Culture=neutral, PublicKeyToken=94bc3704cddfc263]], System.Private.CoreLib, Version=7.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].<ScheduleAction>b__75_0(IScheduler _, ValueTuple`2 tuple)
   at System.Reactive.Concurrency.CurrentThreadScheduler.Schedule[ValueTuple`2](ValueTuple`2 state, TimeSpan dueTime, Func`3 action)
   at System.Reactive.Concurrency.LocalScheduler.Schedule[ValueTuple`2](ValueTuple`2 state, Func`3 action)
   at System.Reactive.Concurrency.Scheduler.ScheduleAction[ValueTuple`2](IScheduler scheduler, ValueTuple`2 state, Action`1 action)
   at System.Reactive.Producer`2[[UnoChat.Client.Message.Model, UnoChat.Wasm, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null],[System.Reactive.ObserveOnObserverNew`1[[UnoChat.Client.Message.Model, UnoChat.Wasm, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]], System.Reactive, Version=6.0.0.0, Culture=neutral, PublicKeyToken=94bc3704cddfc263]].SubscribeRaw(IObserver`1 observer, Boolean enableSafeguard)
   at System.Reactive.Producer`2[[UnoChat.Client.Message.Model, UnoChat.Wasm, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null],[System.Reactive.ObserveOnObserverNew`1[[UnoChat.Client.Message.Model, UnoChat.Wasm, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]], System.Reactive, Version=6.0.0.0, Culture=neutral, PublicKeyToken=94bc3704cddfc263]].Subscribe(IObserver`1 observer)
   at UnoChat.Client.ViewModel.ShouldSendModelsAddedToAllMessagesToMessageObserver(IObserver`1 messageObserver) in C:\p\Uno.Samples\UI\ChatSignalR\UnoChat.Client\UnoChat.Shared\ViewModel.cs:line 212
   at UnoChat.Client.ViewModel.Activate(IObservable`1 messageToSendBoxReturn, IObserver`1 themeObserver, IObserver`1 messageObserver) in C:\p\Uno.Samples\UI\ChatSignalR\UnoChat.Client\UnoChat.Shared\ViewModel.cs:line 227
   at UnoChat.MainPage.OnNavigatedTo(NavigationEventArgs e) in C:\p\Uno.Samples\UI\ChatSignalR\UnoChat.Client\UnoChat.Shared\MainPage.xaml.cs:line 54
   at Microsoft.UI.Xaml.Controls.Frame.InnerNavigate(PageStackEntry entry, NavigationMode mode) in /home/vsts/work/1/s/src/Uno.UI/UI/Xaml/Controls/Frame/Frame.cs:line 283
   at UnoChat.App.OnNavigationFailed(Object sender, NavigationFailedEventArgs e) in C:\p\Uno.Samples\UI\ChatSignalR\UnoChat.Client\UnoChat.Shared\App.xaml.cs:line 98
   at Microsoft.UI.Xaml.Controls.Frame.InnerNavigate(PageStackEntry entry, NavigationMode mode) in /home/vsts/work/1/s/src/Uno.UI/UI/Xaml/Controls/Frame/Frame.cs:line 300
   at Microsoft.UI.Xaml.Controls.Frame.Navigate(Type sourcePageType, Object parameter, NavigationTransitionInfo infoOverride) in /home/vsts/work/1/s/src/Uno.UI/UI/Xaml/Controls/Frame/Frame.cs:line 276
   at Microsoft.UI.Xaml.Controls.Frame.Navigate(Type sourcePageType, Object parameter) in /home/vsts/work/1/s/src/Uno.UI/UI/Xaml/Controls/Frame/Frame.cs:line 271
   at UnoChat.App.OnLaunched(LaunchActivatedEventArgs args) in C:\p\Uno.Samples\UI\ChatSignalR\UnoChat.Client\UnoChat.Shared\App.xaml.cs:line 84
   at Microsoft.UI.Xaml.Application.Initialize() in /home/vsts/work/1/s/src/Uno.UI/UI/Xaml/Application.wasm.cs:line 139
   at Uno.UI.Dispatching.CoreDispatcher.InvokeOperationSafe(UIAsyncOperation operation) in /home/vsts/work/1/s/src/Uno.UI.Dispatching/Core/CoreDispatcher.cs:line 343
fail: Uno.UI.RemoteControl.RemoteControlClient[0]
      Sending message: Uno.UI.RemoteControl.Messages.ProcessorsDiscovery ProcessorsDiscovery
fail: Uno.UI.RemoteControl.RemoteControlClient[0]
@Marc-Antoine-Soucy
Copy link
Contributor Author

There's also several time this erro message: fail: Uno.UI.RemoteControl.RemoteControlClient[0]

@Marc-Antoine-Soucy Marc-Antoine-Soucy mentioned this issue Aug 2, 2023
57 tasks
@Marc-Antoine-Soucy
Copy link
Contributor Author

It's probably related to #417

@Marc-Antoine-Soucy Marc-Antoine-Soucy self-assigned this Aug 10, 2023
@Marc-Antoine-Soucy Marc-Antoine-Soucy linked a pull request Aug 30, 2023 that will close this issue
@Marc-Antoine-Soucy
Copy link
Contributor Author

Marc-Antoine-Soucy commented Aug 30, 2023

It is indeed another deadlock for an issue similar to this: unoplatform/uno#13370

To be exact, this is caused by the Delay Here (this is in the ViewModel):

return Observable
    .FromEvent<NotifyCollectionChangedEventHandler, NotifyCollectionChangedEventArgs>(
        handler => (s, e) => handler(e),
        handler => _allMessages.CollectionChanged += handler,
        handler => _allMessages.CollectionChanged -= handler)
    .Where(args => args.Action == NotifyCollectionChangedAction.Add)
    .Select(args => args.NewItems.OfType<Message.Model>().FirstOrDefault())
    .Where(model => model != null)
//// PROBLEMATIC LINE FOR WASM
    .Delay(TimeSpan.FromMilliseconds(10), Schedulers.Default) // Wait for the list view to have been updated
////
    .ObserveOn(Schedulers.Dispatcher)
    .Subscribe(messageObserver);

@Marc-Antoine-Soucy Marc-Antoine-Soucy removed their assignment Feb 9, 2024
@mikeirvingweb mikeirvingweb linked a pull request May 24, 2024 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
1 participant