WalletWasabi: 1.1.9 "No such file or directory" warning around HWI

General Description

~When start Wasabi 1.1.9, it fails to fully load:~

Edit 2: The original title and description of this issue was wrong, the failure to learn was due to Tor issues. The remaining issue covers a warning around “No such file or directory” seen around HWI:

2019-09-17 10:47:38 INFO        Program (43)    Wasabi GUI started (10655ea5-a16e-40e5-9d52-a8f36bbd0bba).
2019-09-17 10:47:43 INFO        Global (142)    Config is successfully initialized.
2019-09-17 10:47:43 INFO        HwiProcessManager (240) Updating HWI...
2019-09-17 10:47:43 INFO        HwiProcessManager (270) Extracted /nix/store/03cdyx1srylqxx62pvf208fsyhcq71bx-wasabiwallet-1.1.9/opt/wasabiwallet/Hwi/Software/hwi-linux64.zip to `/home/user/.walletwasabi/client/hwi`.
2019-09-17 10:47:43 INFO        HwiProcessManager (282) Shell command executed: chmod -R 750 /home/user/.walletwasabi/client/hwi.
2019-09-17 10:47:43 INFO        TorProcessManager (253) Starting Tor monitor...
2019-09-17 10:47:43 INFO        Global (203)    TorProcessManager is initialized.
2019-09-17 10:47:43 INFO        TorProcessManager (66)  Tor is already running.
2019-09-17 10:47:44 INFO        Global (331)    Loaded AddressManager from `/home/user/.walletwasabi/client/AddressManager/AddressManagerMain.dat`.
2019-09-17 10:47:44 WARNING     WalletManagerViewModel (177)    System.ComponentModel.Win32Exception (2): No such file or directory
   at Interop.Sys.ForkAndExecProcess(String filename, String[] argv, String[] envp, String cwd, Boolean redirectStdin, Boolean redirectStdout, Boolean redirectStderr, Boolean setUser, UInt32 userId, UInt32 groupId, Int32& lpChildPid, Int32& stdinFd, Int32& stdoutFd, Int32& stderrFd, Boolean shouldThrow)
   at System.Diagnostics.Process.StartCore(ProcessStartInfo startInfo)
   at System.Diagnostics.Process.Start()
   at System.Diagnostics.Process.Start(ProcessStartInfo startInfo)
   at WalletWasabi.Hwi.HwiProcessManager.SendCommandAsync(String command, CancellationToken cancellationToken, Boolean isMutexPriority)
   at WalletWasabi.Hwi.HwiProcessManager.EnumerateAsync()
   at WalletWasabi.Gui.Tabs.WalletManager.WalletManagerViewModel.RefreshHardwareWalletListAsync()
2019-09-17 10:47:44 INFO        MainWindow.xaml (70)    UiConfig is successfully initialized.
2019-09-17 10:47:47 WARNING     WalletManagerViewModel (177)    System.ComponentModel.Win32Exception (2): No such file or directory
   at Interop.Sys.ForkAndExecProcess(String filename, String[] argv, String[] envp, String cwd, Boolean redirectStdin, Boolean redirectStdout, Boolean redirectStderr, Boolean setUser, UInt32 userId, UInt32 groupId, Int32& lpChildPid, Int32& stdinFd, Int32& stdoutFd, Int32& stderrFd, Boolean shouldThrow)
   at System.Diagnostics.Process.StartCore(ProcessStartInfo startInfo)
   at System.Diagnostics.Process.Start()
   at System.Diagnostics.Process.Start(ProcessStartInfo startInfo)
   at WalletWasabi.Hwi.HwiProcessManager.SendCommandAsync(String command, CancellationToken cancellationToken, Boolean isMutexPriority)
   at WalletWasabi.Hwi.HwiProcessManager.EnumerateAsync()
   at WalletWasabi.Gui.Tabs.WalletManager.WalletManagerViewModel.RefreshHardwareWalletListAsync()
2019-09-17 10:47:48 INFO        Global (280)    Start connecting to nodes...
2019-09-17 10:47:48 INFO        Global (301)    Start synchronizing filters...
2019-09-17 10:47:50 WARNING     WalletManagerViewModel (177)    System.ComponentModel.Win32Exception (2): No such file or directory
   at Interop.Sys.ForkAndExecProcess(String filename, String[] argv, String[] envp, String cwd, Boolean redirectStdin, Boolean redirectStdout, Boolean redirectStderr, Boolean setUser, UInt32 userId, UInt32 groupId, Int32& lpChildPid, Int32& stdinFd, Int32& stdoutFd, Int32& stderrFd, Boolean shouldThrow)
2019-09-17 10:47:54 INFO        Global (505)    Wallet loaded: [redacted].
2019-09-17 10:47:54 INFO        Global (435)    Start Chaumian CoinJoin service...
2019-09-17 10:47:54 INFO        Global (437)    Starting WalletService...
2019-09-17 10:47:54 INFO        CcjClient (137) CcjClient is successfully initialized.
2019-09-17 10:47:56 WARNING     WalletManagerViewModel (177)
[... "no such file or directory" stack trace repeats every 3 sec or so indefinitely ...]

~The stack trace appears as soon as Wasabi is started. In the GUI, selecting Load Wallet seems to have no effect in this state, with the “Loading…” state and spinning cog showing indefinitely, although it is accompanied by the Wallet loaded, Starting WalletService.. messages etc in the logs above.~

~The wallet files seem to exist on the filesystem, under ~.walletwasabi/client/Wallets/. With 1.1.8, the wallets seem to have loaded fine, and I recall starting Wasabi 1.1.9 successfully yesterday as well. After I restarted the app today, it seems to be in this state indefinitely. I’m not sure what changed.~

Edit: Provided more info from logs and more details. Edit 2: The speculation above was incorrect. See comments for full details.

How To Reproduce?

  1. Start wasabi 1.1.9 on NixOS
  2. See repeated error in logs

Operating System

NixOS 19.03

Logs

See above.

Wasabi Version

1.1.9

About this issue

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

Most upvoted comments

This problem exists only in NixOS because the OS works in a different way than the rest of the Linux distros. This is why it says “No such file or directory” even when the file is there. I think we are not going to fix it (in fact the problem is in HWI dependencies and not in Wasabi) so, we should close the issue.

@nopara73 @molnard seems like it’s still there in the nixos package (v1.1.9.2). Will test master if it isnt there VirtualBox_NixOS 20 09pre215947 82b54d49066 (x86_64-linux)_06_03_2020_12_45_04

@jmacato Can you take a quick look at this on ur NixOs?

The more I look at this issue the less it makes sense. It smells like a .NET Core bug. Which sucks, because it doesn’t officially support nixos, so not sure what to do about it.

There are 3 ways to go about this issue:

  • Update to .NET Core 3, that just came out today and hope for the best.
  • Fixing it in a PR to .NET Core.
  • Try to find a workaround.

Let’s ice this issue in favor of PR https://github.com/zkSNACKs/WalletWasabi/pull/1905, because I’m now fulltime on that PR and it completely refactors how we’re doing these things.