jetperch / pyjoulescope_ui

Joulescope graphical user interface
https://www.joulescope.com
Apache License 2.0
87 stars 26 forks source link

Crash on close #269

Closed mliberty1 closed 6 months ago

mliberty1 commented 6 months ago

Joulescope model

JS220

UI version

1.1.6

What OS are you seeing the problem on?

Windows 11

What happened?

The Joulescope UI is working perfectly. However, I get an crash on close. The crash is:

ERROR:2024-05-10 02:55:52,967:main.py:947:joulescope_ui.main:UI crash
Traceback (most recent call last):
  File "C:\PROGRA~1\JOULES~1\joulescope_ui\main.py", line 936, in run
  File "C:\PROGRA~1\JOULES~1\joulescope_ui\main.py", line 176, in _device_factory_finalize
  File "C:\PROGRA~1\JOULES~1\joulescope_ui\pubsub.py", line 606, in publish
  File "C:\PROGRA~1\JOULES~1\joulescope_ui\pubsub.py", line 515, in _send
  File "C:\PROGRA~1\JOULES~1\joulescope_ui\pubsub.py", line 952, in _process
  File "C:\PROGRA~1\JOULES~1\joulescope_ui\pubsub.py", line 923, in _process_inner
  File "C:\PROGRA~1\JOULES~1\joulescope_ui\pubsub_callable.py", line 54, in __call__
  File "C:\PROGRA~1\JOULES~1\joulescope_ui\devices\jsdrv\jsdrv_wrapper.py", line 135, in on_action_finalize
  File "C:\PROGRA~1\JOULES~1\joulescope_ui\devices\jsdrv\js220.py", line 552, in finalize
  File "C:\PROGRA~1\JOULES~1\joulescope_ui\devices\jsdrv\js220.py", line 586, in on_action_finalize
  File "C:\PROGRA~1\JOULES~1\joulescope_ui\devices\jsdrv\js220.py", line 577, in _close_req
  File "C:\PROGRA~1\JOULES~1\joulescope_ui\devices\jsdrv\device.py", line 106, in _ui_publish
  File "C:\PROGRA~1\JOULES~1\joulescope_ui\pubsub_proxy.py", line 41, in publish
  File "C:\PROGRA~1\JOULES~1\joulescope_ui\pubsub.py", line 606, in publish
  File "C:\PROGRA~1\JOULES~1\joulescope_ui\pubsub.py", line 515, in _send
  File "C:\PROGRA~1\JOULES~1\joulescope_ui\pubsub.py", line 952, in _process
  File "C:\PROGRA~1\JOULES~1\joulescope_ui\pubsub.py", line 947, in _process_inner
  File "C:\PROGRA~1\JOULES~1\joulescope_ui\pubsub.py", line 888, in _publish_value
  File "C:\PROGRA~1\JOULES~1\joulescope_ui\pubsub_callable.py", line 58, in __call__
  File "C:\PROGRA~1\JOULES~1\joulescope_ui\devices\jsdrv\jsdrv_stream_buffer.py", line 206, in _on_device_state
  File "C:\PROGRA~1\JOULES~1\joulescope_ui\devices\jsdrv\jsdrv_stream_buffer.py", line 228, in _on_device_close
  File "C:\PROGRA~1\JOULES~1\joulescope_ui\devices\jsdrv\jsdrv_stream_buffer.py", line 377, in on_action_remove
  File "C:\PROGRA~1\JOULES~1\joulescope_ui\devices\jsdrv\jsdrv_stream_buffer.py", line 257, in _driver_publish
  File "pyjoulescope_driver/binding.pyx", line 710, in pyjoulescope_driver.binding.Driver.publish
  File "pyjoulescope_driver/binding.pyx", line 593, in pyjoulescope_driver.binding._handle_rc
TimeoutError: jsdrv_publish timed out | m/001/a/!remove

What was expected?

The UI should not crash on close.

How to reproduce?

  1. Increase the RAM buffer size to 30 GB
  2. Wait for the RAM buffer to fill so all memory becomes physically allocated
  3. Close the Joulescope UI and observe the crash

Extra information

No response

mliberty1 commented 6 months ago

Fixed in 1.1.7.