spesmilo / spesmilo/electrum

OSError: [Errno 30] Read-only file system: '/media/alexander/552E-2800/new-wallet.json'

Open
#8,475 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

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 "/home/alexander/.local/lib/python3.10/site-packages/electrum/gui/qt/main_window.py", line 2545, in closeEvent
    self.clean_up()
  File "/home/alexander/.local/lib/python3.10/site-packages/electrum/gui/qt/main_window.py", line 2576, in clean_up
    self.gui_object.close_window(self)
  File "/home/alexander/.local/lib/python3.10/site-packages/electrum/gui/qt/__init__.py", line 433, in close_window
    self.daemon.stop_wallet(window.wallet.storage.path)
  File "/home/alexander/.local/lib/python3.10/site-packages/electrum/daemon.py", line 533, in stop_wallet
    return fut.result()
  File "/usr/lib/python3.10/concurrent/futures/_base.py", line 458, in result
    return self.__get_result()
  File "/usr/lib/python3.10/concurrent/futures/_base.py", line 403, in __get_result
    raise self._exception
  File "/home/alexander/.local/lib/python3.10/site-packages/electrum/daemon.py", line 542, in _stop_wallet
    await wallet.stop()
  File "/home/alexander/.local/lib/python3.10/site-packages/electrum/wallet.py", line 463, in stop
    self.save_db()
  File "/home/alexander/.local/lib/python3.10/site-packages/electrum/wallet.py", line 397, in save_db
    self.db.write(self.storage)
  File "/home/alexander/.local/lib/python3.10/site-packages/electrum/wallet_db.py", line 1625, in write
    self._write(storage)
  File "/home/alexander/.local/lib/python3.10/site-packages/electrum/util.py", line 469, in do_profile
    o = func(*args, **kw_args)
  File "/home/alexander/.local/lib/python3.10/site-packages/electrum/wallet_db.py", line 1635, in _write
    storage.write(json_str)
  File "/home/alexander/.local/lib/python3.10/site-packages/electrum/storage.py", line 99, in write
    os_chmod(self.path, mode)
  File "/home/alexander/.local/lib/python3.10/site-packages/electrum/util.py", line 1274, in os_chmod
    os.chmod(path, mode)
OSError: [Errno 30] Read-only file system: '/media/alexander/552E-2800/new-wallet.json'

OSError: [Errno 30] Read-only file system: '/media/alexander/552E-2800/new-wallet.json'

Reporter

This issue was reported by 4 user(s):

Electrum Version Python Version Operating System Wallet Type Locale Stack
4.4.4 3.10.6 (main, Mar 10 2023, 10:55:28) [GCC 11.3.0] Linux-5.19.0-43-generic-x86_64-with-glibc2.35 standard en_US
4.4.5 3.10.11 (main, Nov 10 2011, 15:00:00) [GCC 12.2.0] Linux-5.15.0-78-generic-x86_64-with-glibc2.35 imported en_HK
4.4.5 3.10.11 (main, Nov 10 2011, 15:00:00) [GCC 12.2.0] Linux-5.15.0-78-generic-x86_64-with-glibc2.35 2of2,imported en_HK
4.4.6 3.9.13 (tags/v3.9.13:6de2ca5, May 17 2022, 16:24:45) [MSC v.1929 32 bit (Intel)] Windows-10-10.0.19045-SP0 standard en_GB

Additional Information

The reporting user(s) did not provide additional information.

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 with electrum/storage.py at write(), then follow the wallet shutdown path through electrum/wallet.py and electrum/wallet_db.py shown in the traceback. Reproduce closing a wallet stored on a read-only filesystem and determine the expected behavior; done means this condition no longer causes the reported unhandled OSError.

Written by the indexing model from the issue text.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.