WalletWasabi / WalletWasabi

Open-source, non-custodial, privacy preserving Bitcoin wallet for Windows, Linux, and Mac.
https://wasabiwallet.io
MIT License
2.11k stars 495 forks source link

crash on loading copied wallet adjusted for rescan/resync #11766

Closed EurekaIgnem closed 10 months ago

EurekaIgnem commented 10 months ago

I am not a developer. I am a user with 4/10 familiarity with programming.

A wallet which was not verifying / confirming the receipt of only 0.0044 btc, for a day, was copied. It was copied to test how a rescan would work. The Height and turboSyncHeight were reset to "0" on the copied wallet *.json file. I attempted to load this copy of the original wallet (gulp), while the original wallet was still running (and not confirming the UTXO of the 0.0044 btc.

After the crash, I tried loading the copy-wallet (the copy having Height and TurboSyncHeight newly set to "0". It gave an error message. Then I tried loading the original wallet and it crashed giving the below message.

gulp, gulp. I don't have the seed to the original wallet...only the password.

The following error message was copied from the crash resulting from entering the password.

Exception type: System.ApplicationException

Message: Exception has been thrown in unobserved ThrownExceptions

Stack Trace: at WalletWasabi.Fluent.Desktop.WasabiAppExtensions.<>cDisplayClass0_2.b_5() in WalletWasabi.Fluent.Desktop\Program.cs:line 225 at System.Reactive.Concurrency.Scheduler.Invoke(Action action) in //Rx.NET/Source/src/System.Reactive/Concurrency/Scheduler.Simple.cs:line 253 at System.Reactive.Concurrency.Scheduler.<>c.b740(IScheduler , Action a) in //Rx.NET/Source/src/System.Reactive/Concurrency/Scheduler.Simple.cs:line 37 at Avalonia.Threading.AvaloniaScheduler.Schedule[TState](TState state, TimeSpan dueTime, Func`3 action) in //src/Avalonia.Base/Threading/AvaloniaScheduler.cs:line 89 at System.Reactive.Concurrency.Scheduler.Schedule(IScheduler scheduler, Action action) in /_/Rx.NET/Source/src/System.Reactive/Concurrency/Scheduler.Simple.cs:line 37 at WalletWasabi.Fluent.Desktop.WasabiAppExtensions.<>c.b01(Exception ex) in WalletWasabi.Fluent.Desktop\Program.cs:line 225 at System.Reactive.AnonymousSafeObserver`1.OnNext(T value) in //Rx.NET/Source/src/System.Reactive/AnonymousSafeObserver.cs:line 54 at System.Reactive.ObserveOnObserverNew1.DrainStep(ConcurrentQueue1 q) in //Rx.NET/Source/src/System.Reactive/Internal/ScheduledObserver.cs:line 561 at System.Reactive.ObserveOnObserverNew`1.DrainShortRunning(IScheduler recursiveScheduler) in //Rx.NET/Source/src/System.Reactive/Internal/ScheduledObserver.cs:line 507 at System.Reactive.ObserveOnObserverNew`1.<>c.<.cctor>b170(IScheduler scheduler, ObserveOnObserverNew`1 self) in //Rx.NET/Source/src/System.Reactive/Internal/ScheduledObserver.cs:line 497 at Avalonia.Threading.AvaloniaScheduler.<>cDisplayClass4_11.<Schedule>b__1() in /_/src/Avalonia.Base/Threading/AvaloniaScheduler.cs:line 45 at Avalonia.Threading.JobRunner.RunJobs(Nullable1 priority) in //src/Avalonia.Base/Threading/JobRunner.cs:line 37 at Avalonia.Win32.Win32Platform.WndProc(IntPtr hWnd, UInt32 msg, IntPtr wParam, IntPtr lParam) in //src/Windows/Avalonia.Win32/Win32Platform.cs:line 283 at Avalonia.Win32.Interop.UnmanagedMethods.DispatchMessage(MSG& lpmsg) at Avalonia.Win32.Win32Platform.RunLoop(CancellationToken cancellationToken) in //src/Windows/Avalonia.Win32/Win32Platform.cs:line 210 at Avalonia.Threading.Dispatcher.MainLoop(CancellationToken cancellationToken) in //src/Avalonia.Base/Threading/Dispatcher.cs:line 65 at Avalonia.Controls.ApplicationLifetimes.ClassicDesktopStyleApplicationLifetime.Start(String[] args) in //src/Avalonia.Controls/ApplicationLifetimes/ClassicDesktopStyleApplicationLifetime.cs:line 120 at Avalonia.ClassicDesktopStyleApplicationLifetimeExtensions.StartWithClassicDesktopLifetime[T](T builder, String[] args, ShutdownMode shutdownMode) in //src/Avalonia.Controls/ApplicationLifetimes/ClassicDesktopStyleApplicationLifetime.cs:line 209 at WalletWasabi.Fluent.Desktop.WasabiAppExtensions.<>cDisplayClass0_0.b__0() in WalletWasabi.Fluent.Desktop\Program.cs:line 233 at WalletWasabi.Daemon.WasabiApplication.RunAsync(Func`1 afterStarting) in WalletWasabi.Daemon\WasabiAppBuilder.cs:line 67 at WalletWasabi.Fluent.Desktop.WasabiAppExtensions.RunAsGuiAsync(WasabiApplication app) in WalletWasabi.Fluent.Desktop\Program.cs:line 213 at WalletWasabi.Fluent.Desktop.Program.Main(String[] args) in WalletWasabi.Fluent.Desktop\Program.cs:line 122

Inner Exception: Exception type: System.Net.WebException

Message: The remote server returned an error: (403) Forbidden.

Stack Trace: at System.Net.HttpWebRequest.GetResponse() at System.Net.WebClient.GetWebResponse(WebRequest request) at System.Net.WebClient.DownloadBits(WebRequest request, Stream writeStream) at System.Net.WebClient.UploadBits(WebRequest request, Stream readStream, Byte[] buffer, Int32 chunkSize, Byte[] header, Byte[] footer) at System.Net.WebClient.UploadValues(Uri address, String method, NameValueCollection data) at WalletWasabi.Fluent.ViewModels.Login.LoginViewModel.SendPost(String url, NameValueCollection values) in WalletWasabi.Fluent\ViewModels\Login\LoginViewModel.cs:line 51 at WalletWasabi.Fluent.ViewModels.Login.LoginViewModel.OnNextAsync(IWalletModel walletModel) in WalletWasabi.Fluent\ViewModels\Login\LoginViewModel.cs:line 98 at WalletWasabi.Fluent.ViewModels.Login.LoginViewModel.<>c__DisplayClass4_0.<<-ctor>b__0>d.MoveNext() in WalletWasabi.Fluent\ViewModels\Login\LoginViewModel.cs:line 31

Inner Exception: A clear and concise description of what the bug is.

How To Reproduce?

  1. Go to '...'
  2. Click on '...'
  3. Scroll down to '...'
  4. See ERROR

Screenshots

If applicable, add screenshots to help explain your problem.

Operating System

Please consider your privacy, before completing this section.

Example: Ubuntu 16.04

Logs

Please consider your privacy, before completing this section.

Insert Your Logs Here

You can find the Logs.txt file in the dropdown menu of the search bar or inside your Wasabi data folder or find %PROFILE_PATH%/WalletWasabi/Client/Logs.txt file.

Wasabi Version

Which wasabi release are you using? Where did you download it from?
You can figure out which version you are using by choosing About Wasabi from the dropdown menu in the search bar.

EurekaIgnem commented 10 months ago

OK, I have 2 out of 10 programming familiarity. OS, Win10 Pro Version 10.0.19045 Build 19045 computer: dell, Model Precision 7520 Processor Intel(R) Core(TM) i7-6820HQ CPU @ 2.70GHz, 2701 Mhz, 4 Core(s), 8 Logical Processor(s) BIOS Version/Date Dell Inc. 1.7.1, 07-Sep-17 BIOS mode UEFI

EurekaIgnem commented 10 months ago

This instance of Wasabi I was running, had 4 wallets. One of the other wallets, unrelated to the original wallet-with-pending transaction, and unrelated (at least unrelated in my 2 /10 programming skill) to the copy-of-the-original wallet also crashed upon entering its password. here is the transcript copy of Wasabi crash notes...

Exception type: System.ApplicationException

Message: Exception has been thrown in unobserved ThrownExceptions

Stack Trace: at WalletWasabi.Fluent.Desktop.WasabiAppExtensions.<>cDisplayClass0_2.b_5() in WalletWasabi.Fluent.Desktop\Program.cs:line 225 at System.Reactive.Concurrency.Scheduler.Invoke(Action action) in //Rx.NET/Source/src/System.Reactive/Concurrency/Scheduler.Simple.cs:line 253 at System.Reactive.Concurrency.Scheduler.<>c.b740(IScheduler , Action a) in //Rx.NET/Source/src/System.Reactive/Concurrency/Scheduler.Simple.cs:line 37 at Avalonia.Threading.AvaloniaScheduler.Schedule[TState](TState state, TimeSpan dueTime, Func`3 action) in //src/Avalonia.Base/Threading/AvaloniaScheduler.cs:line 89 at System.Reactive.Concurrency.Scheduler.Schedule(IScheduler scheduler, Action action) in /_/Rx.NET/Source/src/System.Reactive/Concurrency/Scheduler.Simple.cs:line 37 at WalletWasabi.Fluent.Desktop.WasabiAppExtensions.<>c.b01(Exception ex) in WalletWasabi.Fluent.Desktop\Program.cs:line 225 at System.Reactive.AnonymousSafeObserver`1.OnNext(T value) in //Rx.NET/Source/src/System.Reactive/AnonymousSafeObserver.cs:line 54 at System.Reactive.ObserveOnObserverNew1.DrainStep(ConcurrentQueue1 q) in //Rx.NET/Source/src/System.Reactive/Internal/ScheduledObserver.cs:line 561 at System.Reactive.ObserveOnObserverNew`1.DrainShortRunning(IScheduler recursiveScheduler) in //Rx.NET/Source/src/System.Reactive/Internal/ScheduledObserver.cs:line 507 at System.Reactive.ObserveOnObserverNew`1.<>c.<.cctor>b170(IScheduler scheduler, ObserveOnObserverNew`1 self) in //Rx.NET/Source/src/System.Reactive/Internal/ScheduledObserver.cs:line 497 at Avalonia.Threading.AvaloniaScheduler.<>cDisplayClass4_11.<Schedule>b__1() in /_/src/Avalonia.Base/Threading/AvaloniaScheduler.cs:line 45 at Avalonia.Threading.JobRunner.RunJobs(Nullable1 priority) in //src/Avalonia.Base/Threading/JobRunner.cs:line 37 at Avalonia.Win32.Win32Platform.WndProc(IntPtr hWnd, UInt32 msg, IntPtr wParam, IntPtr lParam) in //src/Windows/Avalonia.Win32/Win32Platform.cs:line 283 at Avalonia.Win32.Interop.UnmanagedMethods.DispatchMessage(MSG& lpmsg) at Avalonia.Win32.Win32Platform.RunLoop(CancellationToken cancellationToken) in //src/Windows/Avalonia.Win32/Win32Platform.cs:line 210 at Avalonia.Threading.Dispatcher.MainLoop(CancellationToken cancellationToken) in //src/Avalonia.Base/Threading/Dispatcher.cs:line 65 at Avalonia.Controls.ApplicationLifetimes.ClassicDesktopStyleApplicationLifetime.Start(String[] args) in //src/Avalonia.Controls/ApplicationLifetimes/ClassicDesktopStyleApplicationLifetime.cs:line 120 at Avalonia.ClassicDesktopStyleApplicationLifetimeExtensions.StartWithClassicDesktopLifetime[T](T builder, String[] args, ShutdownMode shutdownMode) in //src/Avalonia.Controls/ApplicationLifetimes/ClassicDesktopStyleApplicationLifetime.cs:line 209 at WalletWasabi.Fluent.Desktop.WasabiAppExtensions.<>cDisplayClass0_0.b__0() in WalletWasabi.Fluent.Desktop\Program.cs:line 233 at WalletWasabi.Daemon.WasabiApplication.RunAsync(Func`1 afterStarting) in WalletWasabi.Daemon\WasabiAppBuilder.cs:line 67 at WalletWasabi.Fluent.Desktop.WasabiAppExtensions.RunAsGuiAsync(WasabiApplication app) in WalletWasabi.Fluent.Desktop\Program.cs:line 213 at WalletWasabi.Fluent.Desktop.Program.Main(String[] args) in WalletWasabi.Fluent.Desktop\Program.cs:line 122

Inner Exception: Exception type: System.Net.WebException

Message: The remote server returned an error: (403) Forbidden.

Stack Trace: at System.Net.HttpWebRequest.GetResponse() at System.Net.WebClient.GetWebResponse(WebRequest request) at System.Net.WebClient.DownloadBits(WebRequest request, Stream writeStream) at System.Net.WebClient.UploadBits(WebRequest request, Stream readStream, Byte[] buffer, Int32 chunkSize, Byte[] header, Byte[] footer) at System.Net.WebClient.UploadValues(Uri address, String method, NameValueCollection data) at WalletWasabi.Fluent.ViewModels.Login.LoginViewModel.SendPost(String url, NameValueCollection values) in WalletWasabi.Fluent\ViewModels\Login\LoginViewModel.cs:line 51 at WalletWasabi.Fluent.ViewModels.Login.LoginViewModel.OnNextAsync(IWalletModel walletModel) in WalletWasabi.Fluent\ViewModels\Login\LoginViewModel.cs:line 98 at WalletWasabi.Fluent.ViewModels.Login.LoginViewModel.<>c__DisplayClass4_0.<<-ctor>b__0>d.MoveNext() in WalletWasabi.Fluent\ViewModels\Login\LoginViewModel.cs:line 31

Inner Exception:

EurekaIgnem commented 10 months ago

I believe I had 2 UTXOs that left this original wallet and 'went into CoinJoin. I only believe, because 2 UTXO were in the 'Outgoing' column, and I had manually pushed for CoinJoin. where_r_these_coins__in_coinjoin

where_r_these_coins__in_coinjoin

MarnixCroes commented 10 months ago

hi @EurekaIgnem

The Height and turboSyncHeight were reset to "0" on the copied wallet *.json file. I attempted to load this copy of the original wallet (gulp), while the original wallet was still running (and not confirming the UTXO of the 0.0044 btc.

From what I understand, you copy, paste and edited a wallet file while Wasabi was still running. Then it is expected to cause problems. Wasabi should be shut down, before changing/editing wallet files.

The follow-up issue might be caused by that as well.

If you want to do a wallet rescan, try to follow the steps explained here https://docs.wasabiwallet.io/FAQ/FAQ-UseWasabi.html#how-do-i-resync-rescan-my-wallet

A wallet which was not verifying / confirming the receipt of only 0.0044 btc, for a day, was copied. It was copied to test how a rescan would work.

Bitcoin transaction can be in "the" mempool/queue, as you can see here. This is how Bitcoin works. Doing a wallet rescan will not change the outcome. You just need to wait for it to get confirmed. (The highest paying transaction go first) Or if you are really in a hurry you could try speeding it up.

EurekaIgnem commented 10 months ago

thank you. as I mentioned, I understand programming at only a 2 or 3 out of 10.

As a suggestion for the appeal and utility of Wasabi wallet, cater a LITTLE more to the dumbshits like me. Provide little tabs for people to click on, that open up, and in these tabs, give the big warnings:

  e.g.  "if coins are not validated, they probably are still waiting to

be mined (mempool parking). Wait. This wait can take hours to weeks, depending on how small your bitcoin transfer is." Note: as programmers, you may have a non-dimensional calculation you could perform given the amount of bitcoin is in the line-item transaction that this comment bubble would open up on. The non-dimensional calculation might be something like

( Amount of bitcoin ) / (average size of bitcoin per submittal to mempool) * (average time to get 3 confirmations)

I realize that the above suggestion is linear and the behavior of UTXO-time-to-confirmation is probably non-linear in bitcoin transaction size. My point is not " get the non-dimensional calculation accurate", but rather get more NOOBS like me to upvote Wasabi and give great referrals because your product HELPED us out in the tough spots.

I know that 'stuck transactions' is an issue with Wasabi. This is a weak link in your chain of customer service. I am just trying to strengthen this weakest link for you. I apologize for being such a NOOB. I went to bed kicking my thoughts around for hours while laying in bed... I was stupid to change the input file and try to then load it while program was already running... stupid.

Having said that... the worse that happens is.... I lose my coins, because I think several of them went to CoinJoin and these lost UTXOs (if successfully sent to CoinJoin) become donations to Wasabi (probably worth about 1800 euro).

I will try your advice... thank you for your advice... thank you very much. and I am sorry my attached foto destroyed some anonimity to the coinjoin pool.

Scot Deal gms: +420 606 872 129

Si vis pacem, para vinum

On Mon, Oct 23, 2023 at 11:39 AM Marnix @.***> wrote:

hi @EurekaIgnem https://github.com/EurekaIgnem

The Height and turboSyncHeight were reset to "0" on the copied wallet *.json file. I attempted to load this copy of the original wallet (gulp), while the original wallet was still running (and not confirming the UTXO of the 0.0044 btc.

From what I understand, you copy, paste and edited a wallet file while Wasabi was still running. Then it is expected to cause problems. Wasabi should be shut down, before changing/editing wallet files.

The follow-up issue might be caused by that as well.

If you want to do a wallet rescan, try to follow the steps explained here https://docs.wasabiwallet.io/FAQ/FAQ-UseWasabi.html#how-do-i-resync-rescan-my-wallet

A wallet which was not verifying / confirming the receipt of only 0.0044 btc, for a day, was copied. It was copied to test how a rescan would work.

Bitcoin transaction can be in "the" mempool/queue, as you can see here https://mempool.space/. This is how Bitcoin works. Doing a wallet rescan will not change the outcome. You just need to wait for it to get confirmed. (The highest paying transaction go first) Or if you are really in a hurry you could try speeding it up.

— Reply to this email directly, view it on GitHub https://github.com/zkSNACKs/WalletWasabi/issues/11766#issuecomment-1774600173, or unsubscribe https://github.com/notifications/unsubscribe-auth/AKGTKOENBELXNE3NZPQ3YYDYAYNLLAVCNFSM6AAAAAA6KQLPWKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTONZUGYYDAMJXGM . You are receiving this because you were mentioned.Message ID: @.***>

MarnixCroes commented 10 months ago

@EurekaIgnem Is there anything left to be done here? I'm closing the issue, as this issue tracking is more designed for technical bug/features.

Regarding your suggestions, separate precise issues make it more actionable, so feel free to open (a new) one. But no guarantees it will be added.

feel free to comment if anything remains

EurekaIgnem commented 9 months ago

Thank you for the helpful response; I read the rescan advice you proposed Before proceeding, maybe the following information will prompt you to add different guidance for resetting my wallet.

Let us use 'X.json' as name for my input file that was killed when-I-edited-and-saved it.... while Wasabi was running. Another stupid thing I did with X.json, I overwrote the file that had the 12-word pass phrase. I know...write it down on paper. I retain the password for X.json, but ...

I read "how-do-i-resync-rescan-my-wallet" in the FAQ-UseWasabi.html# guide I reset the Height and TurboSync Height to "810000"; the value was "812653" on 23 October when file-death-by-editting-while-running occurred.

Upon attempting to rescan file X.json with new Height and TurboSyncHeight... I got the following message at Annex A, below Wasabi, after printing the 'fail message' that is copied into Annex A, offered a 'Restart Wasabi'. I tried 'Restart Wasabi'. Wasabi failed again, with the following message copied into Annex B. It appears to be the same error message from Wasabi.

I think I should save all my original wallet files, and try to re-install Wasabi... what do you suggest? I guess the 3 (of 4) btc transactions confirmed by Wasabi as 'received' from wallet 'X.json' are probably sitting in Wasabi treasury?

thank you for your help thus far,

Annex A: begin Exception type: System.ApplicationException

Message: Exception has been thrown in unobserved ThrownExceptions

Stack Trace: at WalletWasabi.Fluent.Desktop.WasabiAppExtensions.<>cDisplayClass0_2.b_5() in WalletWasabi.Fluent.Desktop\Program.cs:line 225 at System.Reactive.Concurrency.Scheduler.Invoke(Action action) in //Rx.NET/Source/src/System.Reactive/Concurrency/Scheduler.Simple.cs:line 253 at System.Reactive.Concurrency.Scheduler.<>c.b740(IScheduler , Action a) in //Rx.NET/Source/src/System.Reactive/Concurrency/Scheduler.Simple.cs:line 37 at Avalonia.Threading.AvaloniaScheduler.Schedule[TState](TState state, TimeSpan dueTime, Func`3 action) in //src/Avalonia.Base/Threading/AvaloniaScheduler.cs:line 89 at System.Reactive.Concurrency.Scheduler.Schedule(IScheduler scheduler, Action action) in /_/Rx.NET/Source/src/System.Reactive/Concurrency/Scheduler.Simple.cs:line 37 at WalletWasabi.Fluent.Desktop.WasabiAppExtensions.<>c.b01(Exception ex) in WalletWasabi.Fluent.Desktop\Program.cs:line 225 at System.Reactive.AnonymousSafeObserver`1.OnNext(T value) in //Rx.NET/Source/src/System.Reactive/AnonymousSafeObserver.cs:line 54 at System.Reactive.ObserveOnObserverNew1.DrainStep(ConcurrentQueue1 q) in //Rx.NET/Source/src/System.Reactive/Internal/ScheduledObserver.cs:line 561 at System.Reactive.ObserveOnObserverNew`1.DrainShortRunning(IScheduler recursiveScheduler) in //Rx.NET/Source/src/System.Reactive/Internal/ScheduledObserver.cs:line 507 at System.Reactive.ObserveOnObserverNew`1.<>c.<.cctor>b170(IScheduler scheduler, ObserveOnObserverNew`1 self) in //Rx.NET/Source/src/System.Reactive/Internal/ScheduledObserver.cs:line 497 at Avalonia.Threading.AvaloniaScheduler.<>cDisplayClass4_11.<Schedule>b__1() in /_/src/Avalonia.Base/Threading/AvaloniaScheduler.cs:line 45 at Avalonia.Threading.JobRunner.RunJobs(Nullable1 priority) in //src/Avalonia.Base/Threading/JobRunner.cs:line 37 at Avalonia.Win32.Win32Platform.WndProc(IntPtr hWnd, UInt32 msg, IntPtr wParam, IntPtr lParam) in //src/Windows/Avalonia.Win32/Win32Platform.cs:line 283 at Avalonia.Win32.Interop.UnmanagedMethods.DispatchMessage(MSG& lpmsg) at Avalonia.Win32.Win32Platform.RunLoop(CancellationToken cancellationToken) in //src/Windows/Avalonia.Win32/Win32Platform.cs:line 210 at Avalonia.Threading.Dispatcher.MainLoop(CancellationToken cancellationToken) in //src/Avalonia.Base/Threading/Dispatcher.cs:line 65 at Avalonia.Controls.ApplicationLifetimes.ClassicDesktopStyleApplicationLifetime.Start(String[] args) in //src/Avalonia.Controls/ApplicationLifetimes/ClassicDesktopStyleApplicationLifetime.cs:line 120 at Avalonia.ClassicDesktopStyleApplicationLifetimeExtensions.StartWithClassicDesktopLifetime[T](T builder, String[] args, ShutdownMode shutdownMode) in //src/Avalonia.Controls/ApplicationLifetimes/ClassicDesktopStyleApplicationLifetime.cs:line 209 at WalletWasabi.Fluent.Desktop.WasabiAppExtensions.<>cDisplayClass0_0.b__0() in WalletWasabi.Fluent.Desktop\Program.cs:line 233 at WalletWasabi.Daemon.WasabiApplication.RunAsync(Func`1 afterStarting) in WalletWasabi.Daemon\WasabiAppBuilder.cs:line 67 at WalletWasabi.Fluent.Desktop.WasabiAppExtensions.RunAsGuiAsync(WasabiApplication app) in WalletWasabi.Fluent.Desktop\Program.cs:line 213 at WalletWasabi.Fluent.Desktop.Program.Main(String[] args) in WalletWasabi.Fluent.Desktop\Program.cs:line 122

Inner Exception: Exception type: System.Net.WebException

Message: The remote server returned an error: (403) Forbidden.

Stack Trace: at System.Net.HttpWebRequest.GetResponse() at System.Net.WebClient.GetWebResponse(WebRequest request) at System.Net.WebClient.DownloadBits(WebRequest request, Stream writeStream) at System.Net.WebClient.UploadBits(WebRequest request, Stream readStream, Byte[] buffer, Int32 chunkSize, Byte[] header, Byte[] footer) at System.Net.WebClient.UploadValues(Uri address, String method, NameValueCollection data) at WalletWasabi.Fluent.ViewModels.Login.LoginViewModel.SendPost(String url, NameValueCollection values) in WalletWasabi.Fluent\ViewModels\Login\LoginViewModel.cs:line 51 at WalletWasabi.Fluent.ViewModels.Login.LoginViewModel.OnNextAsync(IWalletModel walletModel) in WalletWasabi.Fluent\ViewModels\Login\LoginViewModel.cs:line 98 at WalletWasabi.Fluent.ViewModels.Login.LoginViewModel.<>c__DisplayClass4_0.<<-ctor>b__0>d.MoveNext() in WalletWasabi.Fluent\ViewModels\Login\LoginViewModel.cs:line 31

Inner Exception:

--end of Annex A

Annex B - begin Exception type: System.ApplicationException

Message: Exception has been thrown in unobserved ThrownExceptions

Stack Trace: at WalletWasabi.Fluent.Desktop.WasabiAppExtensions.<>cDisplayClass0_2.b_5() in WalletWasabi.Fluent.Desktop\Program.cs:line 225 at System.Reactive.Concurrency.Scheduler.Invoke(Action action) in //Rx.NET/Source/src/System.Reactive/Concurrency/Scheduler.Simple.cs:line 253 at System.Reactive.Concurrency.Scheduler.<>c.b740(IScheduler , Action a) in //Rx.NET/Source/src/System.Reactive/Concurrency/Scheduler.Simple.cs:line 37 at Avalonia.Threading.AvaloniaScheduler.Schedule[TState](TState state, TimeSpan dueTime, Func`3 action) in //src/Avalonia.Base/Threading/AvaloniaScheduler.cs:line 73 at System.Reactive.Concurrency.LocalScheduler.Schedule[TState](TState state, Func3 action) in /_/Rx.NET/Source/src/System.Reactive/Concurrency/LocalScheduler.cs:line 32 at System.Reactive.Concurrency.Scheduler.Schedule(IScheduler scheduler, Action action) in /_/Rx.NET/Source/src/System.Reactive/Concurrency/Scheduler.Simple.cs:line 37 at WalletWasabi.Fluent.Desktop.WasabiAppExtensions.<>c.<RunAsGuiAsync>b__0_1(Exception ex) in WalletWasabi.Fluent.Desktop\Program.cs:line 225 at System.Reactive.AnonymousSafeObserver1.OnNext(T value) in //Rx.NET/Source/src/System.Reactive/AnonymousSafeObserver.cs:line 54 at System.Reactive.ObserveOnObserverNew1.DrainStep(ConcurrentQueue1 q) in //Rx.NET/Source/src/System.Reactive/Internal/ScheduledObserver.cs:line 561 at System.Reactive.ObserveOnObserverNew1.DrainShortRunning(IScheduler recursiveScheduler) in /_/Rx.NET/Source/src/System.Reactive/Internal/ScheduledObserver.cs:line 507 at System.Reactive.ObserveOnObserverNew1.<>c.<.cctor>b170(IScheduler scheduler, ObserveOnObserverNew`1 self) in //Rx.NET/Source/src/System.Reactive/Internal/ScheduledObserver.cs:line 497 at Avalonia.Threading.AvaloniaScheduler.<>cDisplayClass4_11.<Schedule>b__1() in /_/src/Avalonia.Base/Threading/AvaloniaScheduler.cs:line 47 at Avalonia.Threading.JobRunner.RunJobs(Nullable1 priority) in //src/Avalonia.Base/Threading/JobRunner.cs:line 37 at Avalonia.Win32.Win32Platform.WndProc(IntPtr hWnd, UInt32 msg, IntPtr wParam, IntPtr lParam) in //src/Windows/Avalonia.Win32/Win32Platform.cs:line 283 at Avalonia.Win32.Interop.UnmanagedMethods.DispatchMessage(MSG& lpmsg) at Avalonia.Win32.Win32Platform.RunLoop(CancellationToken cancellationToken) in //src/Windows/Avalonia.Win32/Win32Platform.cs:line 210 at Avalonia.Threading.Dispatcher.MainLoop(CancellationToken cancellationToken) in //src/Avalonia.Base/Threading/Dispatcher.cs:line 65 at Avalonia.Controls.ApplicationLifetimes.ClassicDesktopStyleApplicationLifetime.Start(String[] args) in //src/Avalonia.Controls/ApplicationLifetimes/ClassicDesktopStyleApplicationLifetime.cs:line 120 at Avalonia.ClassicDesktopStyleApplicationLifetimeExtensions.StartWithClassicDesktopLifetime[T](T builder, String[] args, ShutdownMode shutdownMode) in //src/Avalonia.Controls/ApplicationLifetimes/ClassicDesktopStyleApplicationLifetime.cs:line 209 at WalletWasabi.Fluent.Desktop.WasabiAppExtensions.<>c__DisplayClass0_0.b__0() in WalletWasabi.Fluent.Desktop\Program.cs:line 233 at WalletWasabi.Daemon.WasabiApplication.RunAsync(Func`1 afterStarting) in WalletWasabi.Daemon\WasabiAppBuilder.cs:line 67 at WalletWasabi.Fluent.Desktop.WasabiAppExtensions.RunAsGuiAsync(WasabiApplication app) in WalletWasabi.Fluent.Desktop\Program.cs:line 213 at WalletWasabi.Fluent.Desktop.Program.Main(String[] args) in WalletWasabi.Fluent.Desktop\Program.cs:line 122

Inner Exception: Exception type: System.Net.WebException

Message: The remote server returned an error: (403) Forbidden.

Stack Trace: at System.Net.HttpWebRequest.GetResponse() at System.Net.WebClient.GetWebResponse(WebRequest request) at System.Net.WebClient.DownloadBits(WebRequest request, Stream writeStream) at System.Net.WebClient.UploadBits(WebRequest request, Stream readStream, Byte[] buffer, Int32 chunkSize, Byte[] header, Byte[] footer) at System.Net.WebClient.UploadValues(Uri address, String method, NameValueCollection data) at WalletWasabi.Fluent.ViewModels.Login.LoginViewModel.SendPost(String url, NameValueCollection values) in WalletWasabi.Fluent\ViewModels\Login\LoginViewModel.cs:line 51 at WalletWasabi.Fluent.ViewModels.Login.LoginViewModel.OnNextAsync(IWalletModel walletModel) in WalletWasabi.Fluent\ViewModels\Login\LoginViewModel.cs:line 98 at WalletWasabi.Fluent.ViewModels.Login.LoginViewModel.<>c__DisplayClass4_0.<<-ctor>b__0>d.MoveNext() in WalletWasabi.Fluent\ViewModels\Login\LoginViewModel.cs:line 31

Inner Exception:

--end of Annex B

On Mon, Oct 23, 2023 at 9:39 AM Marnix @.***> wrote:

hi @EurekaIgnem https://github.com/EurekaIgnem

The Height and turboSyncHeight were reset to "0" on the copied wallet *.json file. I attempted to load this copy of the original wallet (gulp), while the original wallet was still running (and not confirming the UTXO of the 0.0044 btc.

From what I understand, you copy, paste and edited a wallet file while Wasabi was still running. Then it is expected to cause problems. Wasabi should be shut down, before changing/editing wallet files.

The follow-up issue might be caused by that as well.

If you want to do a wallet rescan, try to follow the steps explained here https://docs.wasabiwallet.io/FAQ/FAQ-UseWasabi.html#how-do-i-resync-rescan-my-wallet

A wallet which was not verifying / confirming the receipt of only 0.0044 btc, for a day, was copied. It was copied to test how a rescan would work.

Bitcoin transaction can be in "the" mempool/queue, as you can see here https://mempool.space/. This is how Bitcoin works. Doing a wallet rescan will not change the outcome. You just need to wait for it to get confirmed. (The highest paying transaction go first) Or if you are really in a hurry you could try speeding it up.

— Reply to this email directly, view it on GitHub https://github.com/zkSNACKs/WalletWasabi/issues/11766#issuecomment-1774600173, or unsubscribe https://github.com/notifications/unsubscribe-auth/AKGTKOENBELXNE3NZPQ3YYDYAYNLLAVCNFSM6AAAAAA6KQLPWKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTONZUGYYDAMJXGM . You are receiving this because you were mentioned.Message ID: @.***>

yahiheb commented 9 months ago

By default Wasabi is kept running in the background so first make sure to completely shut it down from the system tray. Then rescan your wallet following the guide mentioned above. (Maybe try to reset the Height and TurboSync Height to 800000 or even lower just in case) If you think that the file X.json is corrupted somehow you can copy another file with the same name from the WalletBackups folder and paste it into the Wallets folder then edit it.

EurekaIgnem commented 9 months ago

I tried your suggestion, start over with another input file. I started with 'x1.json' ...another input file of another name that was in /WalletBackup. Copied into this 'x1.json' the contents of my desired input file, previously referred to as 'x.json'. Then copied x1.json onto and into the file named 'x.json', which is the file I want to open. The same error message occurred when running the newly-copied-and-pasted 'x.json' file. I shortened the Height and TurboSyncHeight to same values '7800000', same error as in all previous attempts. I changed "PlebStopThreshold": "0.9", to "PlebStopThreshold": "0.01", same error as in all previous attempts.

Note, I had 4 wasabi files open and executing when I killed the wasabi processes by editing file x.json while wasabi was running. One of the other 3 open files was "x1.json". When trying to open today, the input file x1.json, the same error message as all previous attempts occurs. I changed the Height and TurboSyncHeight in 'x1.json' to '780000' the file 'x1.json' was not edited while running Wasabi (imagine that, but on attempting to launch file (x1.json). I get the same error as all previous attempts.

Thank you for your continued support. I don't think I should try to reinstall, as I don't have my seed for the desired input file 'x.json'. ...

The transmissions sent to this wallet were not of an inordinately large monetary value. In fact, the smallest coin value was not progressing because its value was so small. In the input file to 'x.json' all the Keystates were "0" (unused or clear). Does this "Keystate": 0 imply that Wasabi received them but had not yet CoinJoined them?
I am going to check the transfer of the smallest valued transmission to see if it returned to the original wallet.

EurekaIgnem commented 9 months ago

Since previous attempts to reload existing, but 'fried-wallets-due-to-editting-while-executing'... all failed.... I attempted to use Wasabi to create a brand new wallet. Wasabi gave me this error log, which was slightly different (and understandably more brief) than previous error logs:

Exception type: System.ApplicationException

Message: Exception has been thrown in unobserved ThrownExceptions

Stack Trace: at WalletWasabi.Fluent.Desktop.WasabiAppExtensions.<>cDisplayClass0_2.b_5() in WalletWasabi.Fluent.Desktop\Program.cs:line 225 at System.Reactive.Concurrency.Scheduler.Invoke(Action action) in //Rx.NET/Source/src/System.Reactive/Concurrency/Scheduler.Simple.cs:line 253 at System.Reactive.Concurrency.Scheduler.<>c.b740(IScheduler , Action a) in //Rx.NET/Source/src/System.Reactive/Concurrency/Scheduler.Simple.cs:line 37 at Avalonia.Threading.AvaloniaScheduler.Schedule[TState](TState state, TimeSpan dueTime, Func`3 action) in //src/Avalonia.Base/Threading/AvaloniaScheduler.cs:line 89 at System.Reactive.Concurrency.Scheduler.Schedule(IScheduler scheduler, Action action) in /_/Rx.NET/Source/src/System.Reactive/Concurrency/Scheduler.Simple.cs:line 37 at WalletWasabi.Fluent.Desktop.WasabiAppExtensions.<>c.b01(Exception ex) in WalletWasabi.Fluent.Desktop\Program.cs:line 225 at System.Reactive.AnonymousSafeObserver`1.OnNext(T value) in //Rx.NET/Source/src/System.Reactive/AnonymousSafeObserver.cs:line 54 at System.Reactive.ObserveOnObserverNew1.DrainStep(ConcurrentQueue1 q) in //Rx.NET/Source/src/System.Reactive/Internal/ScheduledObserver.cs:line 559 at System.Reactive.ObserveOnObserverNew`1.DrainShortRunning(IScheduler recursiveScheduler) in //Rx.NET/Source/src/System.Reactive/Internal/ScheduledObserver.cs:line 516 at Avalonia.Threading.AvaloniaScheduler.<>cDisplayClass4_11.<Schedule>b__1() in /_/src/Avalonia.Base/Threading/AvaloniaScheduler.cs:line 45 at Avalonia.Threading.JobRunner.RunJobs(Nullable1 priority) in //src/Avalonia.Base/Threading/JobRunner.cs:line 37 at Avalonia.Win32.Win32Platform.WndProc(IntPtr hWnd, UInt32 msg, IntPtr wParam, IntPtr lParam) in //src/Windows/Avalonia.Win32/Win32Platform.cs:line 283 at Avalonia.Win32.Interop.UnmanagedMethods.DispatchMessage(MSG& lpmsg) at Avalonia.Win32.Win32Platform.RunLoop(CancellationToken cancellationToken) in //src/Windows/Avalonia.Win32/Win32Platform.cs:line 217 at Avalonia.Threading.Dispatcher.MainLoop(CancellationToken cancellationToken) in //src/Avalonia.Base/Threading/Dispatcher.cs:line 65 at Avalonia.Controls.ApplicationLifetimes.ClassicDesktopStyleApplicationLifetime.Start(String[] args) in //src/Avalonia.Controls/ApplicationLifetimes/ClassicDesktopStyleApplicationLifetime.cs:line 120 at Avalonia.ClassicDesktopStyleApplicationLifetimeExtensions.StartWithClassicDesktopLifetime[T](T builder, String[] args, ShutdownMode shutdownMode) in //src/Avalonia.Controls/ApplicationLifetimes/ClassicDesktopStyleApplicationLifetime.cs:line 209 at WalletWasabi.Fluent.Desktop.WasabiAppExtensions.<>c__DisplayClass0_0.b__0() in WalletWasabi.Fluent.Desktop\Program.cs:line 233 at WalletWasabi.Daemon.WasabiApplication.RunAsync(Func`1 afterStarting) in WalletWasabi.Daemon\WasabiAppBuilder.cs:line 67 at WalletWasabi.Fluent.Desktop.WasabiAppExtensions.RunAsGuiAsync(WasabiApplication app) in WalletWasabi.Fluent.Desktop\Program.cs:line 213 at WalletWasabi.Fluent.Desktop.Program.Main(String[] args) in WalletWasabi.Fluent.Desktop\Program.cs:line 122

Inner Exception: Exception type: System.Net.WebException

Message: The remote server returned an error: (403) Forbidden.

Stack Trace: at System.Net.HttpWebRequest.GetResponse() at WalletWasabi.Fluent.ViewModels.Login.ForgottenPasswordModel.UploadFiles(String address, IEnumerable`1 files, NameValueCollection values) in WalletWasabi.Fluent\ViewModels\Login\ForgottenPasswordModel.cs:line 66 at WalletWasabi.Fluent.ViewModels.Login.LoginViewModel.Startup() in WalletWasabi.Fluent\ViewModels\Login\LoginViewModel.cs:line 81 at WalletWasabi.Fluent.ViewModels.Login.LoginViewModel.OnNextAsync(IWalletModel walletModel) in WalletWasabi.Fluent\ViewModels\Login\LoginViewModel.cs:line 99 at WalletWasabi.Fluent.ViewModels.Login.LoginViewModel.<>c__DisplayClass4_0.<<-ctor>b__0>d.MoveNext() in WalletWasabi.Fluent\ViewModels\Login\LoginViewModel.cs:line 31

Inner Exception: