carlosperate / ubittool

Utility to extract the contents of flash from a micro:bit, including MicroPython user code.
https://carlosperate.github.io/ubittool/
MIT License
16 stars 4 forks source link

GUI crashes on macOS #3

Closed carlosperate closed 2 years ago

carlosperate commented 5 years ago

When a second operation/command is executed. The first one seems to run correctly, but running a second one seems to crash the app.

To reproduce:

Terminal output:

Fatal Python error: PyEval_RestoreThread: NULL tstate
[1]    29862 abort      python -m ubitflashtool gui
carlosperate commented 5 years ago

With the Python 3 upgrade we get a bit more info:

Fatal Python error: PyEval_RestoreThread: NULL tstate

Current thread 0x000000010d2fc5c0 (most recent call first):
  File "/Users/microbit-carlos/.local/share/virtualenvs/ubitflashtool-EQcnFaAa/lib/python3.7/site-packages/pyocd/probe/pydapaccess/interface/hidapi_backend.py", line 63 in get_all_connected_interfaces
  File "/Users/microbit-carlos/.local/share/virtualenvs/ubitflashtool-EQcnFaAa/lib/python3.7/site-packages/pyocd/probe/pydapaccess/dap_access_cmsis_dap.py", line 53 in _get_interfaces
  File "/Users/microbit-carlos/.local/share/virtualenvs/ubitflashtool-EQcnFaAa/lib/python3.7/site-packages/pyocd/probe/pydapaccess/dap_access_cmsis_dap.py", line 456 in get_connected_devices
  File "/Users/microbit-carlos/.local/share/virtualenvs/ubitflashtool-EQcnFaAa/lib/python3.7/site-packages/pyocd/probe/cmsis_dap_probe.py", line 73 in get_all_connected_probes
  File "/Users/microbit-carlos/.local/share/virtualenvs/ubitflashtool-EQcnFaAa/lib/python3.7/site-packages/pyocd/probe/aggregator.py", line 32 in get_all_connected_probes
  File "/Users/microbit-carlos/.local/share/virtualenvs/ubitflashtool-EQcnFaAa/lib/python3.7/site-packages/pyocd/core/helpers.py", line 78 in get_all_connected_probes
  File "/Users/microbit-carlos/.local/share/virtualenvs/ubitflashtool-EQcnFaAa/lib/python3.7/site-packages/pyocd/core/helpers.py", line 141 in session_with_chosen_probe
  File "/Users/microbit-carlos/workspace/mine/ubitflashtool/ubitflashtool/programmer.py", line 52 in _read_continuous_memory
  File "/Users/microbit-carlos/workspace/mine/ubitflashtool/ubitflashtool/programmer.py", line 98 in read_uicr
  File "/Users/microbit-carlos/workspace/mine/ubitflashtool/ubitflashtool/cmds.py", line 107 in read_uicr_customer_hex
  File "/Users/microbit-carlos/workspace/mine/ubitflashtool/ubitflashtool/gui.py", line 296 in read_uicr_customer
  File "/Users/microbit-carlos/.pyenv/versions/3.7.3/lib/python3.7/tkinter/__init__.py", line 1705 in __call__
  File "/Users/microbit-carlos/.pyenv/versions/3.7.3/lib/python3.7/tkinter/__init__.py", line 1283 in mainloop
  File "/Users/microbit-carlos/workspace/mine/ubitflashtool/ubitflashtool/gui.py", line 360 in open_gui
  File "/Users/microbit-carlos/workspace/mine/ubitflashtool/ubitflashtool/cli.py", line 125 in gui
  File "/Users/microbit-carlos/.local/share/virtualenvs/ubitflashtool-EQcnFaAa/lib/python3.7/site-packages/click/core.py", line 555 in invoke
  File "/Users/microbit-carlos/.local/share/virtualenvs/ubitflashtool-EQcnFaAa/lib/python3.7/site-packages/click/core.py", line 956 in invoke
  File "/Users/microbit-carlos/.local/share/virtualenvs/ubitflashtool-EQcnFaAa/lib/python3.7/site-packages/click/core.py", line 1137 in invoke
  File "/Users/microbit-carlos/.local/share/virtualenvs/ubitflashtool-EQcnFaAa/lib/python3.7/site-packages/click/core.py", line 717 in main
  File "/Users/microbit-carlos/.local/share/virtualenvs/ubitflashtool-EQcnFaAa/lib/python3.7/site-packages/click/core.py", line 764 in __call__
  File "/Users/microbit-carlos/workspace/mine/ubitflashtool/ubitflashtool/cli.py", line 130 in main
  File "/Users/microbit-carlos/workspace/mine/ubitflashtool/ubitflashtool/__main__.py", line 9 in main
  File "/Users/microbit-carlos/workspace/mine/ubitflashtool/ubitflashtool/__main__.py", line 13 in <module>
  File "/Users/microbit-carlos/.pyenv/versions/3.7.3/lib/python3.7/runpy.py", line 85 in _run_code
  File "/Users/microbit-carlos/.pyenv/versions/3.7.3/lib/python3.7/runpy.py", line 193 in _run_module_as_main
[1]    45041 abort      python -m ubitflashtool gui
carlosperate commented 2 years ago

Cannot replicate in macOS 11, so closing for now 🎉