WalletWasabi: Crash, when hoovering over coinjoin UTXO list.

Using very last commits. 05f889d…2e572a3

Was trying to highlight an input in Coinjoin tab soon after sorting by “Status” and many transaction confirmed at once., UI froze for at least 45sec before crash.

2019-02-06 02:12:21 INFO AliceClient: Round (3398), Alice (73f03c73-ed8b-407e-b0d5-0ae0c416e911): Confirmed connection. Phase: InputRegistration.
2019-02-06 02:12:30 INFO AliceClient: Round (3398), Alice (73f03c73-ed8b-407e-b0d5-0ae0c416e911): Confirmed connection. Phase: InputRegistration.
2019-02-06 02:12:41 INFO AliceClient: Round (3398), Alice (73f03c73-ed8b-407e-b0d5-0ae0c416e911): Confirmed connection. Phase: InputRegistration.
2019-02-06 02:12:50 CRITICAL Program: System.NullReferenceException: Object reference not set to an instance of an object.
   at Avalonia.Rendering.DeferredRenderer.Render(Boolean forceComposite) in D:\a\1\s\src\Avalonia.Visuals\Rendering\DeferredRenderer.cs:line 266
   at Avalonia.Controls.TopLevel.HandlePaint(Rect rect) in D:\a\1\s\src\Avalonia.Controls\TopLevel.cs:line 269
   at Avalonia.X11.X11Window.DoPaint() in D:\a\1\s\src\Avalonia.X11\X11Window.cs:line 611
   at Avalonia.Threading.JobRunner.RunJobs(Nullable`1 priority) in D:\a\1\s\src\Avalonia.Base\Threading\JobRunner.cs:line 40
   at Avalonia.X11.X11PlatformThreading.HandleX11(CancellationToken cancellationToken) in D:\a\1\s\src\Avalonia.X11\X11PlatformThreading.cs:line 167
   at Avalonia.X11.X11PlatformThreading.RunLoop(CancellationToken cancellationToken) in D:\a\1\s\src\Avalonia.X11\X11PlatformThreading.cs:line 240
   at Avalonia.Threading.Dispatcher.MainLoop(CancellationToken cancellationToken) in D:\a\1\s\src\Avalonia.Base\Threading\Dispatcher.cs:line 64
   at Avalonia.Application.Run(Window mainWindow) in D:\a\1\s\src\Avalonia.Controls\Application.cs:line 237
   at AvalonStudio.Shell.Shell.StartShellApp[TAppBuilder,TMainWindow](TAppBuilder builder, String appName, IDockFactory layoutFactory, Func`1 dataContextProvider) in /home/t/WalletWasabi/WalletWasabi.Dependencies/AvalonStudio.Shell/src/AvalonStudio.Shell/Shell.cs:line 14
   at WalletWasabi.Gui.Program.Main(String[] args) in /home/t/WalletWasabi/WalletWasabi.Gui/Program.cs:line 28
2019-02-06 02:12:52 INFO Global: KeyManager backup saved to /home/t/.walletwasabi/client/WalletBackups/Wallet2.json.
2019-02-06 02:12:53 INFO Global: WalletService is stopped.
2019-02-06 02:12:53 INFO CcjClientState: Coin removed from the waiting list: 43:dda3bd78a7ae67ab06cf78cc85fc037de87c012ec07d9fed517203de6e762362.
2019-02-06 02:12:53 INFO CcjClient: Coin dequeued: 43:dda3bd78a7ae67ab06cf78cc85fc037de87c012ec07d9fed517203de6e762362.
2019-02-06 02:12:53 INFO CcjClientState: Coin removed from the waiting list: 119:74e1bb38611098569767d9042508bd8f23c974cd109554a7c60f990ef89868e8.
2019-02-06 02:12:54 INFO CcjClient: Coin dequeued: 119:74e1bb38611098569767d9042508bd8f23c974cd109554a7c60f990ef89868e8.
2019-02-06 02:12:54 INFO CcjClientState: Coin removed from the waiting list: 106:f14967c6b987d37692ce083720c01b7139a5434d83662caf463ad556df6e00a7.
2019-02-06 02:12:54 INFO CcjClient: Coin dequeued: 106:f14967c6b987d37692ce083720c01b7139a5434d83662caf463ad556df6e00a7.
2019-02-06 02:12:54 INFO CcjClientState: Coin removed from the waiting list: 103:19c8890a5937d40169af3368e66040196f169cdbcbf1e249279d45e38a7065bd.
2019-02-06 02:12:54 INFO CcjClient: Coin dequeued: 103:19c8890a5937d40169af3368e66040196f169cdbcbf1e249279d45e38a7065bd.
2019-02-06 02:12:54 INFO CcjClientState: Coin removed from the waiting list: 48:e2a48a5e7d81a6dafa3dbedb5975d884e0c3608cb88870b8d4d365dd4fbc4ca1.
2019-02-06 02:12:54 INFO CcjClient: Coin dequeued: 48:e2a48a5e7d81a6dafa3dbedb5975d884e0c3608cb88870b8d4d365dd4fbc4ca1.
2019-02-06 02:12:54 INFO CcjClientState: Coin removed from the waiting list: 49:7c957cfa288820594815f6f118565e8ed2cf71af5d52139eecb8bb7030f72545.
2019-02-06 02:12:54 INFO CcjClient: Coin dequeued: 49:7c957cfa288820594815f6f118565e8ed2cf71af5d52139eecb8bb7030f72545.
2019-02-06 02:12:54 INFO CcjClientState: Coin removed from the waiting list: 101:d4d546650de35fa258aeff5d9e9e042ac22dc8039ac303593680ae0fff96f0e4.
2019-02-06 02:12:54 INFO CcjClient: Coin dequeued: 101:d4d546650de35fa258aeff5d9e9e042ac22dc8039ac303593680ae0fff96f0e4.
2019-02-06 02:12:54 INFO CcjClientState: Coin removed from the waiting list: 119:52353eb654f8cc35c2dc6153cd02b04abe6ddf77056963609ab5d0f9b6fdaf62.
2019-02-06 02:12:55 INFO CcjClient: Coin dequeued: 119:52353eb654f8cc35c2dc6153cd02b04abe6ddf77056963609ab5d0f9b6fdaf62.
2019-02-06 02:12:55 INFO CcjClientState: Coin removed from the waiting list: 58:7c957cfa288820594815f6f118565e8ed2cf71af5d52139eecb8bb7030f72545.
2019-02-06 02:12:59 INFO CcjClient: Coin dequeued: 58:7c957cfa288820594815f6f118565e8ed2cf71af5d52139eecb8bb7030f72545.
2019-02-06 02:12:59 INFO CcjClientState: Coin removed from the waiting list: 55:ea489f54fa760fb73e255e7ba5c5096d5e37434dbcb59b7ee47bafafc1c3e2bd.
2019-02-06 02:12:59 INFO CcjClient: Coin dequeued: 55:ea489f54fa760fb73e255e7ba5c5096d5e37434dbcb59b7ee47bafafc1c3e2bd.
2019-02-06 02:12:59 INFO CcjClientState: Coin removed from the waiting list: 51:c9a686dd9a268d763466584baf058dad8e31edfcfcc46d96690ce93b1e7f92c9.
2019-02-06 02:12:59 INFO CcjClient: Coin dequeued: 51:c9a686dd9a268d763466584baf058dad8e31edfcfcc46d96690ce93b1e7f92c9.
2019-02-06 02:12:59 INFO CcjClientState: Coin removed from the waiting list: 65:dda3bd78a7ae67ab06cf78cc85fc037de87c012ec07d9fed517203de6e762362.
2019-02-06 02:12:59 INFO MemPoolService: 279 transactions were cleaned from mempool...
2019-02-06 02:13:00 INFO CcjClient: Coin dequeued: 65:dda3bd78a7ae67ab06cf78cc85fc037de87c012ec07d9fed517203de6e762362.
2019-02-06 02:13:00 INFO CcjClientState: Coin removed from the waiting list: 57:c9a686dd9a268d763466584baf058dad8e31edfcfcc46d96690ce93b1e7f92c9.
2019-02-06 02:13:00 INFO CcjClient: Coin dequeued: 57:c9a686dd9a268d763466584baf058dad8e31edfcfcc46d96690ce93b1e7f92c9.
2019-02-06 02:13:00 INFO CcjClientState: Coin removed from the waiting list: 64:c9a686dd9a268d763466584baf058dad8e31edfcfcc46d96690ce93b1e7f92c9.
2019-02-06 02:13:00 INFO CcjClient: Coin dequeued: 64:c9a686dd9a268d763466584baf058dad8e31edfcfcc46d96690ce93b1e7f92c9.
2019-02-06 02:13:00 INFO CcjClientState: Coin removed from the waiting list: 65:c9a686dd9a268d763466584baf058dad8e31edfcfcc46d96690ce93b1e7f92c9.
2019-02-06 02:13:00 INFO CcjClient: Coin dequeued: 65:c9a686dd9a268d763466584baf058dad8e31edfcfcc46d96690ce93b1e7f92c9.
2019-02-06 02:13:00 INFO CcjClientState: Coin removed from the waiting list: 59:e2a48a5e7d81a6dafa3dbedb5975d884e0c3608cb88870b8d4d365dd4fbc4ca1.
2019-02-06 02:13:00 INFO CcjClient: Coin dequeued: 59:e2a48a5e7d81a6dafa3dbedb5975d884e0c3608cb88870b8d4d365dd4fbc4ca1.
2019-02-06 02:13:00 INFO CcjClientState: Coin removed from the waiting list: 84:e2a48a5e7d81a6dafa3dbedb5975d884e0c3608cb88870b8d4d365dd4fbc4ca1.
2019-02-06 02:13:01 INFO CcjClient: Coin dequeued: 84:e2a48a5e7d81a6dafa3dbedb5975d884e0c3608cb88870b8d4d365dd4fbc4ca1.
2019-02-06 02:13:01 INFO Global: ChaumianClient is stopped.
2019-02-06 02:13:01 INFO Global: UpdateChecker is stopped.
2019-02-06 02:13:01 INFO Global: Synchronizer is stopped.
2019-02-06 02:13:05 INFO Global: AddressManager is saved to `/home/t/.walletwasabi/client/AddressManager/AddressManagerMain.dat`.
2019-02-06 02:13:05 INFO Global: Nodes are disposed.
2019-02-06 02:13:05 INFO Global: TorManager is stopped.

Unhandled Exception: System.NullReferenceException: Object reference not set to an instance of an object.
   at Avalonia.Rendering.DeferredRenderer.Render(Boolean forceComposite) in D:\a\1\s\src\Avalonia.Visuals\Rendering\DeferredRenderer.cs:line 266
   at Avalonia.Controls.TopLevel.HandlePaint(Rect rect) in D:\a\1\s\src\Avalonia.Controls\TopLevel.cs:line 269
   at Avalonia.X11.X11Window.DoPaint() in D:\a\1\s\src\Avalonia.X11\X11Window.cs:line 611
   at Avalonia.Threading.JobRunner.RunJobs(Nullable`1 priority) in D:\a\1\s\src\Avalonia.Base\Threading\JobRunner.cs:line 40
   at Avalonia.X11.X11PlatformThreading.HandleX11(CancellationToken cancellationToken) in D:\a\1\s\src\Avalonia.X11\X11PlatformThreading.cs:line 167
   at Avalonia.X11.X11PlatformThreading.RunLoop(CancellationToken cancellationToken) in D:\a\1\s\src\Avalonia.X11\X11PlatformThreading.cs:line 240
   at Avalonia.Threading.Dispatcher.MainLoop(CancellationToken cancellationToken) in D:\a\1\s\src\Avalonia.Base\Threading\Dispatcher.cs:line 64
   at Avalonia.Application.Run(Window mainWindow) in D:\a\1\s\src\Avalonia.Controls\Application.cs:line 237
   at AvalonStudio.Shell.Shell.StartShellApp[TAppBuilder,TMainWindow](TAppBuilder builder, String appName, IDockFactory layoutFactory, Func`1 dataContextProvider) in /home/t/WalletWasabi/WalletWasabi.Dependencies/AvalonStudio.Shell/src/AvalonStudio.Shell/Shell.cs:line 14
   at WalletWasabi.Gui.Program.Main(String[] args) in /home/t/WalletWasabi/WalletWasabi.Gui/Program.cs:line 28
   at WalletWasabi.Gui.Program.Main(String[] args) in /home/t/WalletWasabi/WalletWasabi.Gui/Program.cs:line 63
   at WalletWasabi.Gui.Program.<Main>(String[] args)
t@t-virtual-machine:~/WalletWasabi/WalletWasabi.Gui$

About this issue

  • Original URL
  • State: closed
  • Created 5 years ago
  • Comments: 17 (3 by maintainers)

Most upvoted comments

Made some investigation with memory profiler. Looks like Avalonia.Rendering.DeferredRenderer has the highest retained bytes and holding a large amount of objects. Is it possible that after every sort the visual elements are recreated?

Just to clarify I cannot reproduce the error.

Sorting the UXTO by Anon SET seems to requires a lot of RAM access, eventually crash with a different error

@molnard Wanna chime in?