Nevermind, it was probably the Tor Browser proxyBefore the downtime with your server, this has been happening a bunch, not sure if it'll be fixed when it's back up?
15071.63 | E | asyncio | Task exception was never retrieved
future: <Task finished name='Task-2271' coro=<Interface.get_estimatefee() done, defined at /Users/Username/electrum/electrum/interface.py:1135> exception=RequestTimedOut("request timed out: ('blockchain.estimatefee', [5]) (id: 206)")>
Traceback (most recent call last):
File "/Users/Username/electrum/electrum/interface.py", line 169, in send_request
response = await util.wait_for2(
^^^^^^^^^^^^^^^^^^^^^
super().send_request(*args, **kwargs),
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
timeout)
^^^^^^^^
File "/Users/Username/electrum/electrum/util.py", line 1404, in wait_for2
return await asyncio.wait_for(fut, timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/local/Library/Frameworks/Python.framework/Versions/3.14/lib/python3.14/asyncio/tasks.py", line 488, in wait_for
return await fut
^^^^^^^^^
File "/Users/Username/Library/Python/3.14/lib/python/site-packages/aiorpcx/session.py", line 540, in send_request
return await self._send_concurrent(message, future, 1)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/Username/Library/Python/3.14/lib/python/site-packages/aiorpcx/session.py", line 511, in _send_concurrent
async with timeout_after(self.sent_request_timeout):
~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/Username/Library/Python/3.14/lib/python/site-packages/aiorpcx/curio.py", line 389, in __aexit__
raise TaskTimeout(self._secs) from None
aiorpcx.curio.TaskTimeout: task timed out after 45s
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/Users/Username/electrum/electrum/interface.py", line 1144, in get_estimatefee
res = await self.session.send_request('blockchain.estimatefee', [num_blocks])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/Username/electrum/electrum/interface.py", line 174, in send_request
raise RequestTimedOut(f'request timed out: {args} (id: {msg_id})') from e
electrum.interface.RequestTimedOut: Network request timed out.
So I asked Gemini Pro...
Is it worth telling the server owner?Yes, a brief heads-up is worth sending.
queries depend on the server querying its underlying
node via
. When that times out after 45 seconds while basic header and balance queries work fine, it usually indicates a server-side node issue:
*
Node Restart: If the
instance behind the server was recently restarted, its fee estimation algorithm loses mempool history and stalls or drops requests until enough blocks pass.
*
RPC Thread Exhaustion: The Electrum server (Fulcrum or ElectrumX) might be hitting internal timeout or queue limits when forwarding fee calls to
under heavy traffic.
Would a newer Electrum version fix this?The
traceback wall would disappear, but the
45-second network timeout would still happen until the server resolves the underlying delay.
Here is why:
*
In Electrum 4.5.8: Interface background tasks trigger
without explicit top-level exception suppression in the event loop. When a network request times out,
raises a
that floats up as an unretrieved
task exception, dumping the full stack trace to
.
*
In Newer Electrum Versions: Task management and error logging were refactored. RPC network timeouts are caught gracefully within the session layer, converting the crash wall into a clean, single-line debug log entry while falling back to local static fee estimates.
Applying your
patch gives your 4.5.8 installation the exact same resilience that newer Electrum versions have, cleanly swallowing server-side RPC timeouts without interrupting your terminal.