DCC-EX / EX-Installer

A Python based cross-platform installer
GNU General Public License v3.0
1 stars 3 forks source link

Bug Report: Stale arduino-cli process stops the installer from proceeding #175

Closed peteGSX closed 2 months ago

peteGSX commented 3 months ago

Version

0.0.19 (in development)

Bug description

When clicking the Refresh CLI button, a stale arduino-cli process seems to remain running for some time which appears to be checking the version as this is logged after all other activities in the debug log. This results in all controls being locked and the progress bar continuing to move, preventing a user from proceeding forwards or backwards.

Steps to reproduce the bug

Run the installer. Navigate to the Manage the CLI window. Click the Refresh CLI button quickly after navigating to this screen.

Expected behaviour

When navigating to this screen, the controls should all be locked until the version check has completed in the background, and then all controls should be enabled.

When then clicking the refresh button, all controls should be locked and the progress bar should move until all steps have completed, with the controls then being enabled and the progress bar stopping.

Screenshots

No response

Additional context

This has only happened since adjusting the event management method in the manage_arduino_cli.py module and moving from if/elif/else to match/case to make the logic simpler to follow.

peteGSX commented 2 months ago

Additional changes made to the arduino_cli module to cater for specifying the ESP32 version introduced an additional instance of a thread being created, meaning an Arduino CLI process was returning out of order and causing this issue to occur. Reverted to original behaviour plus dealing with the ESP32 version and all is now good.