Electrs stuck - reading app logs (and identifying docker processes)

This info finally helped me! Thanks!!
I had maxuploadtarget=500 in bitcoin.conf, this seem to cause the same trouble, after removing that electrs runs and is syncing

Yes, it seems quite odd that there is not an external connection vs internal connection limit.

I have the same issue. Has there been any fix / update for this problem?

same problem here hmmmm

Same problem here. Don’t seem to find fixes but the number of users is adding up.

Same here

In my case after 6 hours of Electrs synchronization with the message “Waiting for Bitcoin Node to finish syncing…” the only files that are generated on disk are log files (one every minute) in app-data/electrs/data/electrs/db/bitcoin. No other files or disk space used

Hi, in my case I create the file .cookie and now is:
electrs_1 | Caused by:
electrs_1 | failed to parse bitcoind cookie - missing ‘:’ separator

So now he is trying to read the file but
I don’t know what to write inside the cookie file
Thanks.

I had this same issue of Electrs not synchronizing. I’m not sure if this is the best solution, but deleting the bitcoin.conf file worked for me.
sudo rm ~/umbrel/app-data/bitcoin/data/bitcoin/bitcoin.conf
It took 10-12 hours to sync after that.

Ok guys I finally got the Umbrel Electrum Server (Electrs Vers. 0.9.10) running on the Raspi 4 with 8GB. Who still needs support, here is my procedure …

For a fast processing I use the following software:

  • putty (portable) for the SSH connection from a PC to the Raspi
  • FileZilla (portable) for the transfer of files between PC and Raspi
    If you want you can edit the files with nano or similar via the SSH connection.

Installed apps:

  • Bitcoin Node (24.0.1)
  • Lightning Node (0.15.5-beta)
  • BlueWallet
  • Electrs (0.9.10) --> I uninstalled and installed again
  • LNDg
  • Ride the Lightning
  • ThunderHub

Quick guide:

  1. check if the bitcoin.conf file exists in the directory and comment out the following entries.
    maxconnections=X (the X stands for an arbitrary number)
    rpcuser=umbrel
    rpcpassword=[password was here]
    If not present create with a default entry e.g.
    # Load additional configuration file, relative to the data directory.

  2. error checking in app compose logs
    sudo ~/umbrel/scripts/app compose electrs logs --tail=600

  3. reboot the raspi now … important!!!

  4. check the performance with htop

  5. check again for errors in the app compose logs
    sudo ~/umbrel/scripts/app compose electrs logs --tail=600
    If there are still errors I can’t help and you can abort, sorry.

  6. search for the following entries
    app_proxy_1 | Electrs is now ready…
    app_proxy_1 | Listening on port: xxxxx
    and
    app_proxy_1 | Validating token: xxxxxxxxx …
    and
    electrs_1 | [Date INFO electrs::daemon] waiting for RPC warmup: Loading block index…
    electrs_1 | [Date INFO electrs::daemon] waiting for RPC warmup: Verifying blocks…
    and very important —>>>
    electrs_1 | [Date INFO electrs::db] starting config compaction
    electrs_1 | [Date INFO electrs::db] starting headers compaction
    electrs_1 | [Date INFO electrs::db] starting txid compaction
    electrs_1 | [Date INFO electrs::db] starting funding compaction
    electrs_1 | [date INFO electrs::db] starting spending compaction

  7. now be patient for about 5 hours.
    then error check again in app compose logs
    sudo ~/umbrel/scripts/app compose electrs logs --tail=600

now search for
electrs_1 [date INFO electrs::db] finished full compaction

  1. finished and have fun

Detailed instructions:

  1. check if the bitcoin.conf file exists in the directory
    /home/umbrel/umbrel/app-data/bitcoin/data/bitcoin

If the bitcoin.conf file exists edit it, if not create it with a default entry e.g.
# Load additional configuration file, relative to the data directory.

Explanation: for my 1.5 year old Umbrel environment this file is needed to automatically create the other important file called .cookie.
I believe that in the .cookie file the last block value of the service/app Bitcoin node is written. This block value is read and processed by the Electrum server.

  • Open bitcoin.conf file and check if this entry is present
    maxconnections=X
    (the X stands for an arbitrary number)
    Comment the entry out with #, it must look like this
    # maxconnections=X

  • open bitcoin.conf file and check if this entry is present
    rpcuser=umbrel
    rpcpassword=[password was here]
    Comment both entries out with #, it must look like this
    # rpcuser=umbrel
    # rpcpassword=[password was here]

These three changes (commenting out) were enough in my environment to stop the Elecrtum server from displaying errors like this.

Error: electrs failed
electrs_1 |
electrs_1 | Caused by:
electrs_1 | receiving on an empty and disconnected channel

or

electrs_1 | Error: electrs failed
electrs_1 |
electrs_1 | Caused by:
electrs_1 | 0: failed to open bitcoind cookie file: /data/.bitcoin/.cookie
electrs_1 | 1: No such file or directory (os error 2)

  1. error check in app compose logs
    sudo ~/umbrel/scripts/app compose electrs logs --tail=600
    If there are still errors in there no problem!!!

  2. reboot the Raspi now

  3. open a new SSH window and type htop.
    You will see the current performance consumption.
    Sorted by PERCENT_CPU
    A big consumption at electrs and tor is shown, no probelm!

  4. again error check in the app compose logs
    sudo ~/umbrel/scripts/app compose electrs logs --tail=600
    Explanation: after the reboot the bitcoin.conf file was reread and the .cookie file was created in the directory
    /home/umbrel/umbrel/app-data/bitcoin/data/bitcoin
    If there are still errors I can’t help you and you can abort, sorry.

  5. search for the following entries
    app_proxy_1 | Electrs is now ready…
    app_proxy_1 | Listening on port: xxxxx
    and
    app_proxy_1 | Validating token: xxxxxxxxx …
    and
    electrs_1 | [Date INFO electrs::daemon] waiting for RPC warmup: Loading block index…
    electrs_1 | [Date INFO electrs::daemon] waiting for RPC warmup: Loading block index…
    and
    electrs_1 | [Date INFO electrs::daemon] waiting for RPC warmup: Loading block index…
    electrs_1 | [Date INFO electrs::daemon] waiting for RPC warmup: Verifying blocks…
    and very important —>>>
    electrs_1 | [Date INFO electrs::db] starting config compaction
    electrs_1 | [Date INFO electrs::db] starting headers compaction
    electrs_1 | [Date INFO electrs::db] starting txid compaction
    electrs_1 | [Date INFO electrs::db] starting funding compaction
    electrs_1 | [date INFO electrs::db] starting spending compaction

  6. now be patient for about 5 hrs.
    then error check again in app compose logs
    sudo ~/umbrel/scripts/app compose electrs logs --tail=600

now search for
electrs_1 [date INFO electrs::db] finished full compaction

  1. thats it finished and have fun