spesmilo / spesmilo/electrum

RecursionError: maximum recursion depth exceeded while calling a Python object

Open
#7,635 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 "electrum\gui\qt\address_list.py", line 261, in <lambda>
  File "electrum\gui\qt\main_window.py", line 2079, in remove_address
  File "electrum\wallet.py", line 2754, in delete_address
  File "electrum\address_synchronizer.py", line 347, in remove_transaction
  File "electrum\address_synchronizer.py", line 397, in get_depending_transactions
  File "electrum\address_synchronizer.py", line 397, in get_depending_transactions
  File "electrum\address_synchronizer.py", line 397, in get_depending_transactions
  [Previous line repeated 977 more times]
  File "electrum\address_synchronizer.py", line 394, in get_depending_transactions
  File "electrum\json_db.py", line 44, in wrapper
  File "electrum\wallet_db.py", line 986, in get_spent_outpoints
  File "electrum\json_db.py", line 44, in wrapper
  File "electrum\json_db.py", line 150, in get
  File "electrum\json_db.py", line 86, in convert_key
RecursionError: maximum recursion depth exceeded while calling a Python object

RecursionError: maximum recursion depth exceeded while calling a Python object

Reporter

This issue was reported by 1 user(s):

Electrum Version Python Version Operating System Wallet Type Locale Stack
4.1.5 3.8.8 (tags/v3.8.8:024d805, Feb 19 2021, 13:08:11) [MSC v.1928 32 bit (Intel)] Windows-10-10.0.22000-SP0 imported ru_RU

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/address_synchronizer.py at get_depending_transactions, especially the repeated calls around lines 394-397, and follow the deletion path from wallet.py delete_address through remove_transaction. Check how wallet_db.py get_spent_outpoints participates in that recursion. Done means deleting an imported address no longer produces the reported RecursionError, though the report provides no reproduction steps or test location.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
backend, database
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.