Walletwasabi: #v1.1.12rc - Popup crash when clicking

Created on 14 Jul 2020  路  13Comments  路  Source: zkSNACKs/WalletWasabi

General Description

There is a permanent popup that appeared while hoovering over and then clicking the wallet (testnet Hot wallet), when clicking on that permanent popup there was a crash screen. Logs are attached below.

How To Reproduce?

  1. Go to Wallet Explorer
  2. Hoover over Wallet
  3. Click on Wallet (to open)
  4. See hoover-over popup ''hot wallet''
  5. Click popup
  6. See crash message

Screenshots

image

image

Operating System

Windows 10
Version 10.0.18363 Build 18363

Logs

2020-07-14 12:56:01 INFO WalletManager (194) Wallet started.
2020-07-14 13:05:43 CRITICAL Program (58) System.InvalidOperationException: Attempted to open a popup not attached to a TopLevel
at Avalonia.Controls.Primitives.Popup.Open()
at Avalonia.Controls.Primitives.Popup.IsOpenChanged(AvaloniaPropertyChangedEventArgs e)
at Avalonia.Controls.Primitives.Popup.<>c.<.cctor>b__16_1(Popup x, AvaloniaPropertyChangedEventArgs e)
at System.Reactive.Subjects.Subject1.OnNext(T value) in D:\a\1\s\Rx.NET\Source\src\System.Reactive\Subjects\Subject.cs:line 148 at Avalonia.AvaloniaObject.RaisePropertyChanged(AvaloniaProperty property, Object oldValue, Object newValue, BindingPriority priority) at Avalonia.Utilities.DeferredSetter1.SetAndRaisePropertyChanged(AvaloniaObject source, AvaloniaProperty1 property, TSetRecord& backing, TSetRecord value) at Avalonia.Utilities.DeferredSetter1.SetAndNotify(AvaloniaObject source, AvaloniaProperty1 property, TSetRecord& backing, TSetRecord value) at Avalonia.AvaloniaObject.SetAndRaise[T](AvaloniaProperty1 property, T& field, T value)
at Avalonia.Controls.Primitives.Popup.set_IsOpen(Boolean value)
at Avalonia.Controls.ContextMenu.Open(Control control)
at Avalonia.Controls.ContextMenu.ControlPointerReleased(Object sender, PointerReleasedEventArgs e)
at Avalonia.Interactivity.Interactive.RaiseEventImpl(RoutedEventArgs e)
at Avalonia.Interactivity.Interactive.HierarchyTraverser2.Traverse(IInteractive target) at Avalonia.Interactivity.Interactive.HierarchyTraverser2.Traverse(IInteractive target)
at Avalonia.Interactivity.Interactive.HierarchyTraverser2.Traverse(IInteractive target) at Avalonia.Interactivity.Interactive.HierarchyTraverser2.Traverse(IInteractive target)
at Avalonia.Interactivity.Interactive.HierarchyTraverser2.Traverse(IInteractive target) at Avalonia.Interactivity.Interactive.HierarchyTraverser2.Traverse(IInteractive target)
at Avalonia.Interactivity.Interactive.HierarchyTraverser2.Traverse(IInteractive target) at Avalonia.Interactivity.Interactive.BubbleEvent(RoutedEventArgs e) at Avalonia.Interactivity.Interactive.RaiseEvent(RoutedEventArgs e) at Avalonia.Input.MouseDevice.MouseUp(IMouseDevice device, UInt64 timestamp, IInputRoot root, Point p, PointerPointProperties props, KeyModifiers inputModifiers) at Avalonia.Input.MouseDevice.ProcessRawEvent(RawPointerEventArgs e) at Avalonia.Input.InputManager.ProcessInput(RawInputEventArgs e) at Avalonia.Win32.WindowImpl.WndProc(IntPtr hWnd, UInt32 msg, IntPtr wParam, IntPtr lParam) at Avalonia.Win32.Interop.UnmanagedMethods.DispatchMessage(MSG& lpmsg) at Avalonia.Win32.Win32Platform.RunLoop(CancellationToken cancellationToken) at Avalonia.Threading.Dispatcher.MainLoop(CancellationToken cancellationToken) at Avalonia.Controls.ApplicationLifetimes.ClassicDesktopStyleApplicationLifetime.Start(String[] args) at Avalonia.ClassicDesktopStyleApplicationLifetimeExtensions.StartWithClassicDesktopLifetime[T](T builder, String[] args, ShutdownMode shutdownMode) at AvalonStudio.Shell.Shell.StartShellApp[TAppBuilder](TAppBuilder builder, String appName, ShellAppMainDelegate main, String[] args, IFactory layoutFactory) at WalletWasabi.Gui.Program.Main(String[] args) 2020-07-14 13:05:43 WARNING Program (160) System.InvalidOperationException: Attempted to open a popup not attached to a TopLevel at Avalonia.Controls.Primitives.Popup.Open() at Avalonia.Controls.Primitives.Popup.IsOpenChanged(AvaloniaPropertyChangedEventArgs e) at Avalonia.Controls.Primitives.Popup.<>c.<.cctor>b__16_1(Popup x, AvaloniaPropertyChangedEventArgs e) at System.Reactive.Subjects.Subject1.OnNext(T value) in D:\a\1\s\Rx.NET\Source\src\System.Reactive\Subjects\Subject.cs:line 148
at Avalonia.AvaloniaObject.RaisePropertyChanged(AvaloniaProperty property, Object oldValue, Object newValue, BindingPriority priority)
at Avalonia.Utilities.DeferredSetter1.SetAndRaisePropertyChanged(AvaloniaObject source, AvaloniaProperty1 property, TSetRecord& backing, TSetRecord value)
at Avalonia.Utilities.DeferredSetter1.SetAndNotify(AvaloniaObject source, AvaloniaProperty1 property, TSetRecord& backing, TSetRecord value)
at Avalonia.AvaloniaObject.SetAndRaise[T](AvaloniaProperty1 property, T& field, T value) at Avalonia.Controls.Primitives.Popup.set_IsOpen(Boolean value) at Avalonia.Controls.ContextMenu.Open(Control control) at Avalonia.Controls.ContextMenu.ControlPointerReleased(Object sender, PointerReleasedEventArgs e) at Avalonia.Interactivity.Interactive.RaiseEventImpl(RoutedEventArgs e) at Avalonia.Interactivity.Interactive.HierarchyTraverser2.Traverse(IInteractive target)
at Avalonia.Interactivity.Interactive.HierarchyTraverser2.Traverse(IInteractive target) at Avalonia.Interactivity.Interactive.HierarchyTraverser2.Traverse(IInteractive target)
at Avalonia.Interactivity.Interactive.HierarchyTraverser2.Traverse(IInteractive target) at Avalonia.Interactivity.Interactive.HierarchyTraverser2.Traverse(IInteractive target)
at Avalonia.Interactivity.Interactive.HierarchyTraverser2.Traverse(IInteractive target) at Avalonia.Interactivity.Interactive.HierarchyTraverser2.Traverse(IInteractive target)
at Avalonia.Interactivity.Interactive.BubbleEvent(RoutedEventArgs e)
at Avalonia.Interactivity.Interactive.RaiseEvent(RoutedEventArgs e)
at Avalonia.Input.MouseDevice.MouseUp(IMouseDevice device, UInt64 timestamp, IInputRoot root, Point p, PointerPointProperties props, KeyModifiers inputModifiers)
at Avalonia.Input.MouseDevice.ProcessRawEvent(RawPointerEventArgs e)
at Avalonia.Input.InputManager.ProcessInput(RawInputEventArgs e)
at Avalonia.Win32.WindowImpl.WndProc(IntPtr hWnd, UInt32 msg, IntPtr wParam, IntPtr lParam)
at Avalonia.Win32.Interop.UnmanagedMethods.DispatchMessage(MSG& lpmsg)
at Avalonia.Win32.Win32Platform.RunLoop(CancellationToken cancellationToken)
at Avalonia.Threading.Dispatcher.MainLoop(CancellationToken cancellationToken)
at Avalonia.Controls.ApplicationLifetimes.ClassicDesktopStyleApplicationLifetime.Start(String[] args)
at Avalonia.ClassicDesktopStyleApplicationLifetimeExtensions.StartWithClassicDesktopLifetimeT
at AvalonStudio.Shell.Shell.StartShellAppTAppBuilder
at WalletWasabi.Gui.Program.Main(String[] args)
2020-07-14 13:05:47 WARNING Global (645) Process is exiting.
2020-07-14 13:05:47 INFO WalletManager (356) KeyManager backup saved to C:\Users\kevin\AppData\Roaming\WalletWasabi\Client\WalletBackups\TestNet1.1.12.json.
2020-07-14 13:05:47 INFO Wallet (283) ChaumianClient is stopped.
2020-07-14 13:05:47 INFO WalletManager (358) Wallet is stopped.
2020-07-14 13:05:47 INFO Global (697) Disposed FeeProviders.
2020-07-14 13:05:47 INFO Global (704) CoinJoinProcessor is disposed.
2020-07-14 13:05:48 INFO Global (711) Synchronizer is stopped.
2020-07-14 13:05:48 INFO HostedServices (80) Stopped Software Update Checker.
2020-07-14 13:05:48 INFO HostedServices (130) Disposed Software Update Checker.
2020-07-14 13:05:48 INFO Global (720) Stopped background services.
2020-07-14 13:05:48 INFO Global (731) AddressManager is saved to C:\Users\kevin\AppData\Roaming\WalletWasabi\Client\AddressManager\AddressManagerTestNet.dat.
2020-07-14 13:05:48 INFO Global (744) Nodes are disposed.
2020-07-14 13:05:48 INFO Global (769) TorManager is stopped.
2020-07-14 13:05:48 INFO Global (792) AsyncMutex(es) are stopped.
2020-07-14 13:05:48 INFO Global (808) Wasabi stopped gracefully (319c7c86-563c-402a-b0ee-2b7aea52f81b).
2020-07-14 13:05:48 INFO Program (149) Wasabi GUI stopped gracefully (319c7c86-563c-402a-b0ee-2b7aea52f81b).
2020-07-14 13:05:48 INFO Global (86) .ctor finished in 3 milliseconds.

Wasabi Version

Release Candidate for 1.1.12 (https://github.com/zkSNACKs/WalletWasabi/issues/3782)

debug priority

Most helpful comment

fixed in avalonia 0.10.0 with https://github.com/AvaloniaUI/Avalonia/pull/4296

All 13 comments

I can't reproduce it

EDIT: Reproduced, but I'm not sure how I managed to have that white popup

I can't reproduce on Debian, the Hot Wallet popup disappears as soon as I load the wallet. After that, hoovering over the wallet only shows the USD tooltip.

I can repro easily. Good catch 3 points! Welcome back :)

Happens with "Hardware Wallet" popup too, for the crash to happen I had to right-mouse click once this time.
image

can reproduce.

Happens with "Hardware Wallet" popup too, for the crash to happen I had to right-mouse click once this time.
image

Exactly. In my case, it crashes only by right clicking

Proposed solution, remove tooltips until we have the newer avalonia.

Proposed solution, remove tooltips until we have the newer avalonia.

That might be best, I would find it very annoying to have multiple frozen overlay tooltips on my screen 馃檭

Proposed solution, remove tooltips until we have the newer avalonia.

ACK. It's only a GUI thing, so not important to be in the first post-hardfork release.

@danwalmsley How about programmatically closing the tooltip before switching from ClosedWalletViewModel to WalletViewModel.

we just need a behavior to make it close tooltips when control is removed from visual tree.

fixed in avalonia 0.10.0 with https://github.com/AvaloniaUI/Avalonia/pull/4296

Was this page helpful?
5 / 5 - 1 ratings

Related issues

trading2835 picture trading2835  路  3Comments

nopara73 picture nopara73  路  3Comments

davterra picture davterra  路  3Comments

nopara73 picture nopara73  路  3Comments

the-metalworker picture the-metalworker  路  3Comments