spesmilo / spesmilo/electrum

KeyError: '14pYPxswCouUGdoDYti3XJkCSK4x1gdpFs'

Open
#4,664 1 comment 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

  File "/data/user/0/org.electrum.electrum/files/app/crystax_python/site-packages/kivy/core/window/window_sdl2.py", line 727, in mainloop
    self._mainloop()
  File "/data/user/0/org.electrum.electrum/files/app/crystax_python/site-packages/kivy/core/window/window_sdl2.py", line 460, in _mainloop
    EventLoop.idle()
  File "/data/user/0/org.electrum.electrum/files/app/crystax_python/site-packages/kivy/base.py", line 337, in idle
    Clock.tick()
  File "/data/user/0/org.electrum.electrum/files/app/crystax_python/site-packages/kivy/clock.py", line 581, in tick
    self._process_events()
  File "kivy/_clock.pyx", line 384, in kivy._clock.CyClockBase._process_events
  File "kivy/_clock.pyx", line 414, in kivy._clock.CyClockBase._process_events
  File "kivy/_clock.pyx", line 412, in kivy._clock.CyClockBase._process_events
  File "kivy/_clock.pyx", line 167, in kivy._clock.ClockEvent.tick
  File "./gui/kivy/uix/dialogs/password_dialog.py", line 106, in <lambda>
    Clock.schedule_once(lambda dt: self.on_success(*args), 0.1)
  File "./gui/kivy/main_window.py", line 937, in <lambda>
    on_success = lambda pw: f(*(args + (pw,)))
  File "./gui/kivy/main_window.py", line 1015, in show_private_key
    key = str(self.wallet.export_private_key(addr, password)[0])
  File "./lib/wallet.py", line 440, in export_private_key
    index = self.get_address_index(address)
  File "./lib/wallet.py", line 2004, in get_address_index
    return self.get_public_key(address)
  File "./lib/wallet.py", line 2007, in get_public_key
    return self.addresses[address].get('pubkey')

KeyError: '14pYPxswCouUGdoDYti3XJkCSK4x1gdpFs'

Reporter

This issue was reported by 5 user(s):

Electrum Version Python Version Operating System Wallet Type Locale Stack
3.2.1 Android 7.1.1 on ZTE msm8909 (Z899VLV1.0.0B04) imported ?
3.2.1 Android 7.1.1 on ZTE msm8909 (Z899VLV1.0.0B04) imported ?
3.2.1 Android 8.0.0 on Sony G8141 (47.1.A.12.205) imported ?
3.2.3 3.6.4 (default, Mar 1 2018, 10:42:21) [GCC 5.3 20151204] Android 5.1 on ZTE ZTE_Blade_A475 (ZTE_Blade_A475_M02) imported ?
3.3.2 3.7.1 (default, Dec 13 2018, 20:06:29) [Clang 3.8.275480 ] Android 8.0.0 on HONOR HWSTF (STF-L09 8.0.0.378(C432)) imported en_US

Additional Information

not sure


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

Trace the export-private-key path from gui/kivy/main_window.py through gui/kivy/uix/dialogs/password_dialog.py and lib/wallet.py, beginning at the reported KeyError in get_public_key. Reproduce the failure with an imported wallet on the private-key export path and determine the expected behavior when the address is absent. Done means the operation no longer crashes and the relevant regression coverage passes.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
mobile-dev, security
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 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.