spesmilo / spesmilo/electrum

OSError: [Errno 98] Address '/home/boss/.electrum/daemon_rpc_socket' is already in use

Open
#7,745 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

how-to-reproduce?
Dominant language
Python
Stars
8.6k
Forks
3.5k
Avg merge
2d 8h
Merged PRs (30d)
61

Description

Crash Report

This crash report was reported through the automatic crash reporting system 🤖

Traceback

Traceback (most recent call last):
  File "/tmp/.mount_electr6BDypv/usr/lib/python3.9/site-packages/electrum/daemon.py", line 515, in _run
    await group.spawn(asyncio.Event().wait)  # run forever (until cancel)
  File "/tmp/.mount_electr6BDypv/usr/lib/python3.9/site-packages/aiorpcx/curio.py", line 297, in __aexit__
    await self.join()
  File "/tmp/.mount_electr6BDypv/usr/lib/python3.9/site-packages/electrum/util.py", line 1255, in join
    task.result()
  File "/tmp/.mount_electr6BDypv/usr/lib/python3.9/site-packages/electrum/daemon.py", line 278, in run
    await site.start()
  File "/tmp/.mount_electr6BDypv/usr/lib/python3.9/site-packages/aiohttp/web_runner.py", line 162, in start
    self._server = await loop.create_unix_server(
  File "/tmp/.mount_electr6BDypv/usr/lib/python3.9/asyncio/unix_events.py", line 303, in create_unix_server
    raise OSError(errno.EADDRINUSE, msg) from None
OSError: [Errno 98] Address '/home/boss/.electrum/daemon_rpc_socket' is already in use

OSError: [Errno 98] Address '/home/boss/.electrum/daemon_rpc_socket' is already in use

Reporter

This issue was reported by 27 user(s):

Electrum Version Python Version Operating System Wallet Type Locale Stack
4.2.0 3.9.10 (main, Jun 28 2018, 19:01:02) [GCC 7.5.0] Linux-5.13.0-37-generic-x86_64-with-glibc2.31 ru_RU
4.2.1 3.9.11 (main, Jun 28 2018, 19:01:02) [GCC 7.5.0] Linux-5.15.0-27-generic-x86_64-with-glibc2.35 standard en_US
4.2.0 3.10.4 (main, Mar 23 2022, 23:05:40) [GCC 11.2.0] Linux-5.16.18-1-MANJARO-x86_64-with-glibc2.35 standard pt_BR
4.2.0 3.10.4 (main, Mar 23 2022, 23:05:40) [GCC 11.2.0] Linux-5.16.18-1-MANJARO-x86_64-with-glibc2.35 pt_BR
4.2.1 3.9.11 (main, Jun 28 2018, 19:01:02) [GCC 7.5.0] Linux-5.13.0-40-generic-x86_64-with-glibc2.34 fr_FR
4.2.1 3.9.11 (main, Jun 28 2018, 19:01:02) [GCC 7.5.0] Linux-5.13.0-41-generic-x86_64-with-glibc2.34 standard fr_FR
4.2.0 3.10.4 (main, Mar 23 2022, 23:05:40) [GCC 11.2.0] Linux-5.17.9-1-MANJARO-x86_64-with-glibc2.35 pt_BR
4.2.1 3.9.11 (v3.9.11:2de452f8bf, Mar 16 2022, 10:34:36) [Clang 6.0 (clang-600.0.57)] macOS-10.16-x86_64-i386-64bit standard ?
4.2.1 3.8.10 (default, Mar 15 2022, 12:22:08) [GCC 9.4.0] Linux-5.4.0-117-generic-x86_64-with-glibc2.29 standard es_ES
4.2.2 3.8.10 (default, Mar 15 2022, 12:22:08) [GCC 9.4.0] Linux-5.4.0-113-generic-x86_64-with-glibc2.29 standard en_US
4.2.0 3.10.5 (main, Jun 6 2022, 18:49:26) [GCC 12.1.0] Linux-5.18.10-1-MANJARO-x86_64-with-glibc2.35 standard pt_BR
4.2.2 3.10.5 (main, Jun 6 2022, 18:49:26) [GCC 12.1.0] Linux-5.16.13-arch1-1-x86_64-with-glibc2.35 standard ru_RU
4.2.2 3.10.5 (main, Jun 6 2022, 18:49:26) [GCC 12.1.0] Linux-5.18.12-3-MANJARO-x86_64-with-glibc2.35 pt_BR
4.2.2 3.10.5 (main, Jun 6 2022, 18:49:26) [GCC 12.1.0] Linux-5.18.12-3-MANJARO-x86_64-with-glibc2.35 pt_BR
4.2.2 3.9.11 (main, Jun 28 2018, 19:01:02) [GCC 7.5.0] Linux-4.19.0-21-amd64-x86_64-with-glibc2.28 standard pt_BR
4.2.2 3.10.5 (main, Aug 1 2022, 07:53:20) [GCC 12.1.0] Linux-5.18.16-arch1-1-x86_64-with-glibc2.36 standard ru_RU
4.3.2 3.8.10 (default, Jun 22 2022, 20:18:18) [GCC 9.4.0] Linux-5.15.0-50-generic-x86_64-with-glibc2.29 ru_RU
4.2.1 3.9.11 (main, Jun 28 2018, 19:01:02) [GCC 7.5.0] Linux-5.15.0-52-generic-x86_64-with-glibc2.35 fr_FR
4.3.2 3.10.6 (main, Aug 10 2022, 11:40:04) [GCC 11.3.0] Linux-5.15.0-52-generic-x86_64-with-glibc2.35 standard fr_FR
4.2.1 3.9.11 (main, Jun 28 2018, 19:01:02) [GCC 7.5.0] Linux-5.15.0-52-generic-x86_64-with-glibc2.35 fr_FR
4.3.2 3.10.6 (main, Nov 14 2022, 16:10:14) [GCC 11.3.0] Linux-5.15.0-56-generic-x86_64-with-glibc2.35 standard fr_FR
4.3.2 3.9.9 (main, Nov 10 2011, 15:00:00) [GCC 11.3.0] Linux-5.15.0-58-generic-x86_64-with-glibc2.33 2fa en_US
4.3.2 3.9.11 (main, Jun 28 2018, 19:01:02) [GCC 8.3.0] Linux-6.1.6-200.fc37.x86_64-x86_64-with-glibc2.36 en_US
4.3.2 3.10.10 (main, Mar 5 2023, 22:26:53) [GCC 12.2.1 20230201] Linux-5.15.108-1-MANJARO-x86_64-with-glibc2.37 es_CO
4.3.2 3.11.3 (main, Apr 5 2023, 15:52:25) [GCC 12.2.1 20230201] Linux-6.3.3-arch1-1-x86_64-with-glibc2.37 standard ru_RU
4.3.2 3.10.6 (main, May 29 2023, 11:10:38) [GCC 11.3.0] Linux-5.19.0-46-generic-x86_64-with-glibc2.35 standard en_US
4.3.2 3.9.9 (main, Nov 10 2011, 15:00:00) [GCC 11.3.0] Linux-5.15.0-84-generic-x86_64-with-glibc2.33 pt_BR

Additional Information

first launch after running new version (w/o install, using run_electrum).


Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start at electrum/daemon.py, especially _run and the run method around the aiohttp Unix server startup shown in the traceback. Reproduce the first-launch scenario with run_electrum and determine how an existing daemon_rpc_socket should be handled; done means the reported startup crash is resolved and the behavior is covered by an appropriate test.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
api, backend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.