After the recent Monero upgrade several users reported that they were unable to access their Monero GUI wallet. Actually they were able to open their wallets but can’t get the daemon to start. After starting; the wallet returns the following error message: “Daemon failed to start – Please check your wallet and daemon log for errors. You can also try to start monerod.exe manually”.
Even we got this error once, not with Monero wallet but with Electroneum GUI wallet. We left the wallet open to let daemon sync with the network. At some point the CPU crashed so we rebooted the system, opened the wallet again, logged in and when attempting to start the daemon it failed to connect to the network. It displayed an error message and the output returned by the wallet is “Please check your wallet and daemon log for errors. You can also try to start electroneumd.exe manually”. So what causes this error and how to fix this?
“Daemon failed to start”
This is a common issue and is similar to “no block source found” error message in Bitcoin core and other QT wallets. There are 2 reasons why daemon fails to start. 1. Your antivirus might have deleted monerod.exe file or the firewall is stopping daemon from accessing the network. or 2. Your blockchain file might be corrupted due to ungraceful shutdown.
If your wallet is not online and if the blockchain is not in sync with the network then you’ll not be able to use your wallet. But do not worry; your funds are safe and we can retrieve your wallet. Before you proceed with this guide to be on safer side we recommend you to backup your wallet first. All you need to backup is your wallet mnemonic seed. Go to your wallet settings >> Show seed & keys, enter password and it will display your wallet keys. Backup this information and if you are looking for more detailed instructions then please read this Monero wallet backup guide.
Alright! Now let’s see how to fix Daemon connection failed error in Monero and other CryptoNote based cryptocurrency wallets.
Monero GUI wallet: Daemon doesn’t start (Fix)
We know you might have done this several times. First close your GUI wallet. Then open task manager and end the following tasks: monero-wallet-gui.exe and monerod.exe. Once the process is stopped, restart your wallet, enter your password and wait for a while. Sometimes it connects but we know this is not the solution that is going to work for many. So to fix daemon failed to start error message please follow the steps below.
This error message basically tells you that your GUI wallet is unable to run monerod.exe file. More information on why it failed to start can be found on the log file. If you haven’t modified the Monero blockchain location then by default the log file can be found in the following location.
C:\ProgramData\bitmonero - bitmonero.log
Linux & Mac OS X:
Now before you check the errors in log file let’s try to run the monerod.exe manually as suggested by your GUI wallet.
Finding monerod.exe file
Go to your Monero GUI wallet installation directory and you’ll find the following exe files: monero-wallet-gui.exe & monerod.exe. Do not start monero-wallet-gui.exe file yet. Proceed to step number 2 if you find monerod.exe and if you do not find this file then probably your antivirus have quarantined it.
Open your antivirus software and add the whole wallet folder to the exclusion list. Once added, download the wallet file again and extract the GUI wallet files to the same folder location. It will put back the monerod.exe file. Once monerod.exe file is restored let’s run this file manually.
Run monerod.exe manually
Now open monerod.exe file and ensure that your firewall is not blocking any connections. It will open command window and you will see a message stating synchronization started.
It will display information on block height and how many days the sync status is behind. You can use the
status command to check the sync status. Now leave this program open and wait until the synchronization is complete. Once the sync is complete; start monero-wallet-gui.exe file and now your wallet should be able to connect. If this did not work then proceed with the next step.
Monerod.exe doesn’t start
Is monerod.exe crashes immediately after start then try running monerod.exe with –log-level 4. This is done as follows: Create a .bat file in the directory where monerod.exe file is located and enter the following line. Once done save it and then run the file. You can also use –log-level 1.
monerod.exe --log-level 4
Now the daemon file should run and if the daemon is still not fetching any new blocks then it means your blockchain file is most likely corrupt. To ensure if it is really corrupt now let’s check the bitmonero.log file.
Navigate to the following directory.
C:\ProgramData\bitmonero. In Linux & Mac OS it is
~/.bitmonero/. Once you are in this directory open bitmonero.log file.
Note: These are by default hidden directories and you need to unhide to view and access bitmonero.log file.
Open bitmonero.log file, scroll to the bottom and find if there is any error.
1. No error in log file
If there is no error reported in the log file then first ensure that you have enough disk space to store the blockchain file. If you do not have disk space then change the Monero blockchain data directory. However if this is not the case and if the log file does not show any error message then ensure that both blockchain and wallet file path contains no spaces.
Some reported that if there is space left in wallet file path then wallet won’t work properly. So make sure there are no spaces in the file path.
For example it should be like: D:\Monero\MoneroGui\monero-gui-v0.13.0.3
and not: D:\crypto wallet\monero\moneroGui\monero-gui-v0.13.0.3
Fix this and start the daemon. The wallet should work fine now.
2. Error opening database:
If your bitmonero.log file contains the following error message then it means the blockchain is corrupted.
Error opening database: Failed to query m_blocks: MDB_BAD_TXN: Transaction must abort, has a child, or is invalid
This happens usually if the system crashes or if you shutdown the wallet ungracefully. Not to worry, let’s try to fix this corrupted blockchain file.
Open the directory where monero-wallet-gui.exe and monerod.exe files are located. Now using the following command let’s try to save the corrupted file.
–db-salvage – This command try to salvage a blockchain database if it seems corrupted.
In windows create a new text document within the wallet folder and input the following command in it. Once done save the text file as monerodfix.bat and run this file.
On Mac OS X and Linux type the following in the command terminal window.
Note: If you are using custom blockchain data directory then you have to use
monerod.exe --db-salvage --data-dir path-to-blockchain-directory
./monerod --db-salvage --data-dir path-to-blockchain-directory
Run monerod.exe file using
--db-salvage and in most cases this should fix the corrupted blockchain. But even after this if you are still getting error opening database error then only way to fix your wallet is by re-downloading the blockchain again.
Close your wallet and in Windows go to C:\ProgramData\bitmonero and on Linux and Mac OS go to ~/.bitmonero/. Now delete p2pstate.bin file and lmdb folder (data.mdb & lock.mdb) and then restart your wallet.
The wallet will now start re-syncing from scratch. Once it is fully synced you are good to use your wallet.
We understand that blockchain file size is enormous and downloading it again from the start is going to take a lot of time and resources. But unfortunately this is the only way to fix your wallet.
Blockchain file can get corrupt for several reason and in future if don’t wish to go through all this then backup and have a copy of blockchain file locally. Also if you don’t wish to download the blockchain again then you can save disk space and sync time by connecting your wallet to remote nodes.
Hope it helps. If you are still having trouble using your Monero GUI wallet then please let us know in the comments below.