Hi,
Electrum wallet 4.0.5 can't connect to electrs. The status of electrs:
Nov 24 15:56:48 node electrs[7891]: ERROR - [127.0.0.1:42654] connection handling failed: Error: failed to send {"id":14,"jsonrpc":"2.0","result":null}
Nov 24 15:56:48 node electrs[7891]: Caused by: Broken pipe (os error 32)
Nov 24 15:56:49 node electrs[7891]: ERROR - [127.0.0.1:42656] connection handling failed: Error: failed to send {"id":14,"jsonrpc":"2.0","result":null}
Nov 24 15:56:49 node electrs[7891]: Caused by: Broken pipe (os error 32)
Thanks for reporting this issue!
Could you please run Electrum with higher verbosity, e.g.:
electrum -s localhost:50001:t -1 -v=DEBUG
and attach the log?
BTW, which version of electrs are you running?
I am having the same issue when using the Android Electrum 4.0.5.
On my linux desktop Electrum 4.0.4 can connect just fine but 4.0.5 fails wit the same error as reported in the first comment.
It seems to be an issue with how electrs is returning fees to electrum ... apparently 4.0.5 wants them in decreasing order
Logs when running ./electrum-4.0.5-x86_64.AppImage --oneserver --server 192.168.88.252:50002:s -v=DEBUG
I/n | network | connecting to 192.168.88.252:50002:s as new interface
I/i | interface.[192.168.88.252:50002] | connection established. version: ['electrs 0.8.5', '1.4']
I/i | interface.[192.168.88.252:50002] | set blockchain with height 658475
I/i | interface.[192.168.88.252:50002] | skipping header 658475
I/n | network | switching to 192.168.88.252:50002:s
I/W | lnwatcher.LNWalletWatcher.[test_wallet-LNW] | set_up_to_date: True
I/W | lnwatcher.LNWalletWatcher.[test_wallet-LNW] | set_up_to_date: True
I/n | network | fee_estimates {25: 3899, 10: 45433, 5: 52699, 2: 59132}
E/i | interface.[192.168.88.252:50002] | Exception in wrapper_func: RequestCorrupted('fees must be in decreasing order')
Traceback (most recent call last):
File "/tmp/.mount_electr8AgOO5/usr/lib/python3.7/site-packages/electrum/util.py", line 1039, in wrapper
return await func(*args, **kwargs)
File "/tmp/.mount_electr8AgOO5/usr/lib/python3.7/site-packages/electrum/interface.py", line 480, in wrapper_func
return await func(self, *args, **kwargs)
File "/tmp/.mount_electr8AgOO5/usr/lib/python3.7/site-packages/electrum/interface.py", line 504, in run
await self.open_session(ssl_context)
File "/tmp/.mount_electr8AgOO5/usr/lib/python3.7/site-packages/electrum/interface.py", line 647, in open_session
await group.spawn(self.monitor_connection)
File "/tmp/.mount_electr8AgOO5/usr/lib/python3.7/site-packages/aiorpcx/curio.py", line 242, in __aexit__
await self.join()
File "/tmp/.mount_electr8AgOO5/usr/lib/python3.7/site-packages/aiorpcx/curio.py", line 211, in join
raise task.exception()
File "/tmp/.mount_electr8AgOO5/usr/lib/python3.7/site-packages/electrum/network.py", line 452, in _request_server_info
await group.spawn(self._request_fee_estimates(interface))
File "/tmp/.mount_electr8AgOO5/usr/lib/python3.7/site-packages/aiorpcx/curio.py", line 242, in __aexit__
await self.join()
File "/tmp/.mount_electr8AgOO5/usr/lib/python3.7/site-packages/aiorpcx/curio.py", line 211, in join
raise task.exception()
File "/tmp/.mount_electr8AgOO5/usr/lib/python3.7/site-packages/electrum/network.py", line 456, in _request_fee_estimates
histogram = await interface.get_fee_histogram()
File "/tmp/.mount_electr8AgOO5/usr/lib/python3.7/site-packages/electrum/interface.py", line 1004, in get_fee_histogram
raise RequestCorrupted(f'fees must be in decreasing order')
electrum.interface.RequestCorrupted: fees must be in decreasing order
on 4.0.4 it can connect just fine and get the right estimation from electrs
I/n | network | connecting to 192.168.88.252:50002:s as new interface
I/n | network | starting taskgroup.
I/i | interface.[192.168.88.252:50002] | connection established. version: ['electrs 0.8.5', '1.4']
I/i | interface.[192.168.88.252:50002] | set blockchain with height 658475
I/i | interface.[192.168.88.252:50002] | skipping header 658475
I/n | network | switching to 192.168.88.252:50002:s
I/n | network | fee_estimates {25: 2986, 10: 45454, 5: 53276, 2: 59746}
I/n | network | fee_histogram [[102.30208587646484, 100104], [83.89286041259766, 100183], [78.85185241699219, 100175], [76.43678283691406, 102797], [74.69340515136719, 103193], [72.60369873046875, 100314], [71.7562255859375, 101319], [69.7632064819336, 100260], [68.3849868774414, 100137],
...
...
I | gui.qt.history_list | could not import electrum.plot. This feature needs matplotlib to be installed.
Commit that introduced this issue https://github.com/spesmilo/electrum/commit/5481fd8af692b7e24b4e904b115ea6a1f80e6a0b
Thanks Roman for the quick answer, meanwhile I downgraded my electrum wallet to previous version in my case it was version 3.3.8 and everything worked again. I think the problem not with electrs but with electrum wallet version 4.0.5. Many people complain about this issue. I'm running a production server and accordingly I don鈥檛 want to experiment until the guys from spesmelo/electrum solve this problem.
Hi guys, I just wanted to add to this issue that there are several myNode users who are running electrs that have upgraded their Electrum wallets to 4.0.5 that are reporting this issue. Downgrading on desktop is easy to do but harder on users using mobile wallets.
Here are the 2 issues with logs pasted: https://github.com/mynodebtc/mynode/issues/438
Apparently this was fixed in c88a0dc331eb16163276becf98fcc020565d97eb. Just tested Electrum with electrs from master and it does not have this problem. So if you're not too hung up on versions doing emergency compile from master may be a good idea.
Hopefully this will be one more reason for a new release. (Another significant reasons are #334 and #333)
I'd almost suggest to close this but I suppose keeping it open until new release for others to see is better.
I know there are a lot of users who can't access their funds right now so personally I think it would be worth pushing out a new release to fix this fairly quickly
A new release is ready: https://crates.io/crates/electrs/0.8.6
Many thanks for reporting and investigating this issue!
@romanz Many thanks for the quick turnaround on this!
Hi Roman, dumb question, if I upgrade my electrs to 0.8.6 will electrum wallet 4.05 function with new version of electrs?
@b13v yes.