Walletwasabi: Im trying to open a wasabi walet NRE red window

Created on 10 Jan 2020  路  54Comments  路  Source: zkSNACKs/WalletWasabi

Every time i try to load my wallet ,the red window pops up and says ERROR NULLREFFERENCEEXCEPTION:object reference not set to an instance of an object

And yesterday it was opening just fine ...

debug priority

Most helpful comment

It works but there is a NRE somewhere and we should find it. We lost the opportunity to fix a bug that doesn't mean there is no problem. I will reopen it just in case this happen again in the very near future.

All 54 comments

What did you get in the log file?

Sorry im not a programmer ,where do i find a log file ?

2019-05-27 22:17:50 INFO Config: Config file did not exist. Created at path: C:\Users\Alienware\AppData\Roaming\WalletWasabi\Client\Config.json.
2019-05-27 22:17:51 INFO Config: Config file did not exist. Created at path: C:\Users\Alienware\AppData\Roaming\WalletWasabi\Client\UiConfig.json.

2019-05-27 22:17:53 ERROR CcjClient: WalletWasabi.Exceptions.ConnectionException: Couldn't connect to Tor SOCKSPort at 127.0.0.1:9050. Is Tor running? ---> System.Net.Internals.SocketExceptionFactory+ExtendedSocketException: No se puede establecer una conexi贸n ya que el equipo de destino deneg贸 expresamente dicha conexi贸n 127.0.0.1:9050
at WalletWasabi.TorSocks5.TorSocks5Client.IsConnectionRefused(Exception exc)
--- End of inner exception stack trace ---

2020-01-09 17:22:18 INFO Global (729) KeyManager backup saved to C:\Users\Alienware\AppData\Roaming\WalletWasabi\Client\WalletBackups\Wallet0.json.
2020-01-09 17:22:18 INFO Global (733) WalletService is stopped.
2020-01-09 17:22:18 INFO Global (741) ChaumianClient is stopped.
2020-01-09 17:22:43 INFO WasabiSynchronizer (256) Downloaded filter for block 612112.

Ok, the last message means that Tor is not running.

Where do you see the NullReferenceException:object reference not set to an instance of an object? Isn't that in the logs?

2020-01-09 17:22:18 ERROR LoadWalletViewModel (641) System.NullReferenceException: Object reference not set to an instance of an object.
at WalletWasabi.Gui.Controls.WalletExplorer.SendTabViewModel..ctor(WalletViewModel walletViewModel, Boolean isTransactionBuilder)
at WalletWasabi.Gui.Controls.WalletExplorer.WalletViewModel..ctor(Global global, Boolean receiveDominant)
at WalletWasabi.Gui.Controls.WalletExplorer.WalletExplorerViewModel.OpenWallet(WalletService walletService, Boolean receiveDominant)
at WalletWasabi.Gui.Tabs.WalletManager.LoadWalletViewModel.LoadWalletAsync()
2020-01-09 17:22:18 INFO Global (729) KeyManager backup saved to C:\Users\Alienware\AppData\Roaming\WalletWasabi\Client\WalletBackups\Wallet0.json.
2020-01-09 17:22:18 INFO Global (733) WalletService is stopped.
2020-01-09 17:22:18 INFO Global (741) ChaumianClient is stopped.
2020-01-09 17:22:43 INFO WasabiSynchronizer (256) Downloaded filter for block 612112.

Do you need the whole LOG the whole thing?

2020-01-09 16:36:56 INFO Global (158) Config is successfully initialized.
2020-01-09 16:36:56 INFO TransactionStore (28) MempoolStore.InitializeAsync finished in 63 milliseconds.
2020-01-09 16:36:56 INFO TorProcessManager (249) Starting Tor monitor...
2020-01-09 16:36:56 INFO Global (220) TorProcessManager is initialized.
2020-01-09 16:36:56 INFO TransactionStore (28) ConfirmedStore.InitializeAsync finished in 395 milliseconds.
2020-01-09 16:36:57 INFO AllTransactionStore (27) InitializeAsync finished in 440 milliseconds.
2020-01-09 16:36:58 INFO TorProcessManager (94) Updating Tor...
2020-01-09 16:37:00 INFO TorProcessManager (165) Extracted C:\Program Files\WasabiWallet\TorDaemonsdata-folder.zip to C:\Users\Alienware\AppData\Roaming\WalletWasabi\Client\tor.
2020-01-09 16:37:01 INFO TorProcessManager (171) Extracted C:\Program Files\WasabiWallet\TorDaemons\tor-win32.zip to C:\Users\Alienware\AppData\Roaming\WalletWasabi\Client\tor.
2020-01-09 16:37:01 INFO TorProcessManager (128) Starting Tor process with Process.Start.
2020-01-09 16:37:02 ERROR MainWindow.xaml (94) Newtonsoft.Json.JsonSerializationException: No JSON content found. Path '', line 1, position 252.
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Populate(JsonReader reader, Object target)
at Newtonsoft.Json.JsonSerializer.PopulateInternal(JsonReader reader, Object target)
at Newtonsoft.Json.JsonConvert.PopulateObject(String value, Object target, JsonSerializerSettings settings)
at Newtonsoft.Json.JsonConvert.PopulateObject(String value, Object target)
at WalletWasabi.Bases.ConfigBase.LoadFileAsync()
at WalletWasabi.Bases.ConfigBase.LoadOrCreateDefaultFileAsync()

should i reinstall wasabi wallet ?

I need to know the version you are using.

Also, could you share here the file C:\Users\Alienware\AppData\Roaming\WalletWasabi\Client\UiConfig.json? I think this can be related to the regional settings of your computer.

The version of wasabi ? i have just reinstalled it and the same error comes up ...its a last version i just installed

How do i share it??

Please somebody help i cannot open my wasabi wallet and entering in a panic mode ...

No need to panic your funds are safe.

2020-01-09 18:51:17 ERROR LoadWalletViewModel (645) System.NullReferenceException: Object reference not set to an instance of an object.
at WalletWasabi.Gui.Controls.WalletExplorer.SendTabViewModel..ctor(WalletViewModel walletViewModel, Boolean isTransactionBuilder)
at WalletWasabi.Gui.Controls.WalletExplorer.WalletViewModel..ctor(Global global, Boolean receiveDominant)
at WalletWasabi.Gui.Controls.WalletExplorer.WalletExplorerViewModel.OpenWallet(WalletService walletService, Boolean receiveDominant)
at WalletWasabi.Gui.Tabs.WalletManager.LoadWalletViewModel.LoadWalletAsync()
2020-01-09 18:51:18 INFO Global (753) KeyManager backup saved to C:\Users\Alienware\AppData\Roaming\WalletWasabi\Client\WalletBackups\Wallet0.json.
2020-01-09 18:51:18 INFO Global (757) WalletService is stopped.
2020-01-09 18:51:18 INFO Global (765) ChaumianClient is stopped.
2020-01-09 18:53:33 INFO Global (722) Wallet loaded: Wallet0.
2020-01-09 18:53:33 INFO ClientState (468) Round (13387) added.
2020-01-09 18:53:33 INFO ClientState (468) Round (13388) added.
2020-01-09 18:53:33 INFO Global (506) Start Chaumian CoinJoin service...
2020-01-09 18:53:33 INFO CoinJoinClient (141) CoinJoinClient is successfully initialized.
2020-01-09 18:53:33 INFO Global (508) Starting WalletService...
2020-01-09 18:53:43 INFO Global (510) WalletService started.
2020-01-09 18:53:43 ERROR LoadWalletViewModel (645) System.NullReferenceException: Object reference not set to an instance of an object.
at WalletWasabi.Gui.Controls.WalletExplorer.SendTabViewModel..ctor(WalletViewModel walletViewModel, Boolean isTransactionBuilder)
at WalletWasabi.Gui.Controls.WalletExplorer.WalletViewModel..ctor(Global global, Boolean receiveDominant)
at WalletWasabi.Gui.Controls.WalletExplorer.WalletExplorerViewModel.OpenWallet(WalletService walletService, Boolean receiveDominant)
at WalletWasabi.Gui.Tabs.WalletManager.LoadWalletViewModel.LoadWalletAsync()
2020-01-09 18:53:43 INFO Global (753) KeyManager backup saved to C:\Users\Alienware\AppData\Roaming\WalletWasabi\Client\WalletBackups\Wallet0.json.
2020-01-09 18:53:43 INFO Global (757) WalletService is stopped.
2020-01-09 18:53:43 INFO Global (765) ChaumianClient is stopped.

Ok but how do i open the wallet now? it doesnt let me no matter what i do

"PubKey": "0285a6752985fdbffec05f0505f8ef3bd949fb712a9c8d9f779b24c3085a0ad809",
"FullKeyPath": "84'/0'/0'/1/427",
"Label": "",
"KeyState": 0

should i change the key state ?

As @lontivero said could you share the content of the UiConfig.json file?

i restarted the wallet and just at the moment when i was ready to send you the ui.config its loaded without a problem ....i dont know what was the problem ..but i really appreciate you guys taking time with such a dumb ass like me ,who doesnt know anytihng about programing ...thank you sooooo much

Nice to hear that it works.

It works but there is a NRE somewhere and we should find it. We lost the opportunity to fix a bug that doesn't mean there is no problem. I will reopen it just in case this happen again in the very near future.

dammit i m having the same issue again ...what do i do ?

never mind i learned that i have to deleate

Hi there,
What's up with the issue? Can you point out some details? You can investigate at the logs Wasabi Main menu / File / Open / Log File

That function is a hotspot, which sucks, but it's important to catch.

@kopik777 there are 3 ways to go forward.

  1. We examine the code and throw random ideas. This probably won't work, but the benefit is that it protects your privacy and you probably don't have to go too deep yourself.
  2. We guide you through installing a development environment and help you how to debug it. This probably will work and it protects your privacy, but you need to spend time on it and learn.
  3. Send us a zipped version of your data folder after stripping out your private keys. This will work, it would waste the less time on both sides but your privacy will be jeopardized.

I got it.

image

It is the UiConfig is null when something is wrong with it (i have seen cases where it is corrupted or non-english regional settings used by users with different cultures, not 100% sure about this).


How to reproduce:

  1. Edit the UiConfig.json file
  2. Modify Height (or Width or any other value) and use the a , as decimal separator instead of the .
  3. Run Wasabi
  4. Select and open a wallet.
  5. See the error in the log file.

@kopik777 could you please share your UiConfig.json file here? It has to be in C:\Users\Alienware\AppData\Roaming\WalletWasabi\Client\UiConfig.json

I cannot reproduce the error with the same steps that I did before.

@lontivero might it be my PR to move the uiconfig initialisation out of mainwindow.xaml.cs have fixed this?

Hey guys I have the same issue. I verified my UIconfig.json in Code Writer and its empty, maybe its the reason. Not sure if that info helps.

This is what is in the log file regarding the ERROR

2020-01-24 21:56:02 INFO Global (508) Starting WalletService...
2020-01-24 21:56:20 INFO Global (510) WalletService started.
2020-01-24 21:56:43 ERROR LoadWalletViewModel (645) System.NullReferenceException: Object reference not set to an instance of an object.
at WalletWasabi.Gui.Controls.WalletExplorer.SendTabViewModel..ctor(WalletViewModel walletViewModel, Boolean isTransactionBuilder)
at WalletWasabi.Gui.Controls.WalletExplorer.WalletViewModel..ctor(Global global, Boolean receiveDominant)
at WalletWasabi.Gui.Controls.WalletExplorer.WalletExplorerViewModel.OpenWallet(WalletService walletService, Boolean receiveDominant)
at WalletWasabi.Gui.Tabs.WalletManager.LoadWalletViewModel.LoadWalletAsync()
2020-01-24 21:56:43 INFO Global (753) KeyManager backup saved to C:\Users\Labiatch\AppData\Roaming\WalletWasabi\Client\WalletBackups\Wallet0.json.
2020-01-24 21:56:43 INFO Global (757) WalletService is stopped.
2020-01-24 21:56:43 INFO Global (765) ChaumianClient is stopped.

Version 1.1.10.2 . It was working fine in version 1.1.10 until the upgrade. Windows 10

No @molnard, the problem is that UIconfig is null but I cannot make it fail as before. I tried with 1.10.2 and master but it works. Take a look at the comments:

I bet my hair that it is corrupted UiConfig.json file. The problem is that it is recreated if not found or if it cannot be parsed so, I am a bit clueless now.

Is there anything more that I can share? I can reproduce the bug at will.

Yes please! tell us exactly how to reproduce it. In that way we can fix it asap.

By reproduce, I mean that's all that asking the wallet to load will do. I wouldn't know where to look to provide more of a trail.

@lontivero it might be fixed already in the master: https://github.com/zkSNACKs/WalletWasabi/pull/2947

@johnnycapote can you try to build from the current source? https://github.com/zkSNACKs/WalletWasabi#build-from-source-code

@molnard , I'm afraid I can't do that, I was kicked out of Basic class for falling asleep way back when. :-)

@johnnycapote It's simpler than most other projects. https://github.com/zkSNACKs/WalletWasabi#build-from-source-code

I remember someone giving a feedback something like "I know jack shit about programming, but it was a piece of cake." Based on this, and that you were in a Basic class, I am fairly confident that you are more than capable of doing it, too :)

So to not deviate this thread, I downloaded the Git and the dot net sdk, along with Wasabi Master folder. Can you point me towards a thread on building it?

Do you believe I should delete the UIconfig like Kopik and re-try or can I slide something from the master folder into my existing install?

Follow these instructions: https://github.com/zkSNACKs/WalletWasabi#build-from-source-code

Your should not delete anything. Building and running from code will not touch your current installation at all.

So to not deviate this thread, I downloaded the Git and the dot net sdk, along with Wasabi Master folder. Can you point me towards a thread on building it?

I assume you installed Git, cloned the WalletWasabi repo, and you installed the dotnet sdk.
You should be in the WalletWasabi/WalletWasabi.Gui directory then do:

dotnet build
dotnet run

@molnard I tried gain today to reproduce this error in v1.1.10, v1.1.10.2 and master with no success. I tried deleting the UiConfig.json file (that's my hypothesis) and also by corrupting it.

In Reddit someone requested support because he cannot open wasabi neither: https://www.reddit.com/r/WasabiWallet/comments/ew8p6k/unable_to_open_wasabi/

These two users are Windows users so, it could be something easier to reproduce in that platform. Could you give it a try, please?

@yahiheb, I have been trying to guess how to do the last steps of building from code but no luck so far. I'm surprised I didn't fall asleep during all those attempts as well. I have Git GUI, Git CMD, Git Bash, and also the desktop version.

This has me stumped.
"You should be in the WalletWasabi/WalletWasabi.Gui directory then do:

dotnet build
dotnet run"

Like I said before, I don't wanna deviate the thread.

Be in the GUI directory

image

Write cmd + Enter

image

Write dotnet run

image

If dotnet run fails then write dotnet restore then dotnet build then dotnet run agian. In theory dotnet run calls dotnet restore and dotnet build but I noticed it isn't always the case.

@johnnycapote I had to deploy one yesterday for testing purposes. So you can use this but please be aware this is not an official release. https://github.com/molnard/WalletWasabi/releases

@nopara73, I had gotten to the dotnet stage previously, then errors. Following your instructions, -

---If dotnet run fails then write dotnet restore then dotnet build then dotnet run agian. In theory dotnet run calls dotnet restore and dotnet build but I noticed it isn't always the case.----

this is what I get.....Does this provide any clues?
dotnet runCapture

dotnetrestoredotnetbuilddotnetrunCapture

I fixed that bug 15 hours ago. It is a different bug. You can delete your UiConfig.json file and it will work.

@lontivero, I deleted the Uiconfig.json file in the wallets folder, re-launched and guess what? Everything works again. So, are we good?

I can be seen here, re-started Wasabi twice, and seems to work like before.....
1st time

2020-01-31 14:18:30 INFO ConfigBase (63) UiConfig file did not exist. Created at path: C:\Users\Labiatch\AppData\Roaming\WalletWasabi\Client\UiConfig.json.
2020-01-31 14:18:36 INFO MainWindow.xaml (74) UiConfig is successfully initialized.
2020-01-31 14:18:37 INFO Global (418) Loaded AddressManager from C:\Users\Labiatch\AppData\Roaming\WalletWasabi\Client\AddressManager\AddressManagerMain.dat.
2020-01-31 14:18:38 INFO IndexStore (43) InitializeAsync finished in 10 seconds.
2020-01-31 14:18:39 INFO BitcoinStore (39) InitializeAsync finished in 10 seconds.
2020-01-31 14:18:39 INFO HostedServices (49) Started Software Update Checker.
2020-01-31 14:18:39 INFO Global (349) Start connecting to nodes...
2020-01-31 14:18:39 INFO Global (373) Start synchronizing filters...
2020-01-31 14:18:51 INFO Global (722) Wallet loaded: Wallet0.

2nd time

2020-01-31 14:23:29 INFO MainWindow.xaml (74) UiConfig is successfully initialized.
2020-01-31 14:23:29 INFO Global (418) Loaded AddressManager from C:\Users\Labiatch\AppData\Roaming\WalletWasabi\Client\AddressManager\AddressManagerMain.dat.
2020-01-31 14:23:34 INFO IndexStore (43) InitializeAsync finished in 7 seconds.
2020-01-31 14:23:34 INFO BitcoinStore (39) InitializeAsync finished in 7 seconds.
2020-01-31 14:23:34 INFO HostedServices (49) Started Software Update Checker.
2020-01-31 14:23:34 INFO Global (349) Start connecting to nodes...
2020-01-31 14:23:34 INFO Global (373) Start synchronizing filters...
2020-01-31 14:23:54 INFO Global (722) Wallet loaded: Wallet0.

So you managed to run from the source! Congratulations! Now you can try every new feature added to the master without waiting for the next release.
As it is solved I am closing the issue, if you still have problems do not hesitate to re-open it.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

yahiheb picture yahiheb  路  3Comments

MaxHillebrand picture MaxHillebrand  路  3Comments

trading2835 picture trading2835  路  3Comments

kenny47 picture kenny47  路  3Comments

yahiheb picture yahiheb  路  3Comments