RecursionError: maximum recursion depth exceeded while calling a Python object
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
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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