-
Notifications
You must be signed in to change notification settings - Fork 265
Description
After closing a dialog Robot continues as usual but in the background one additional thread is spinning at 100% CPU. Opening and closing more dialogs creates more spinning threads (one per dialog).
To reproduce, run the following minimal example, close the dialog and watch htop or similiar during the Sleep:
*** Settings ***
Library RPA.Assistant
*** Test Cases ***
Hello World Test
Add submit buttons buttons=Confirm,Failed default=Confirm
Run dialog title=Success
Sleep 300I first encountered the issue on a Debian Bookworm container running on my Fedora 42 box with forwarded XWayland. In this container we run robotframework==5.0.1, rpaframework==27.7.0 and rpaframework-assistant==3.0.6 (because for now we need the option to fall back to RPA.Dialogs). In that scenario I tracked down the spinning thread to spin at https://github.com/flet-dev/flet/blob/v0.4.2/sdk/python/packages/flet/src/flet/sync_local_socket_connection.py#L146 with py-bt in gdb showing Waiting for the GIL.
However, I can reliably reproduce it on my box (without container) using the latest versions (robotframework==7.3.2, rpaframework==31.0.0, rpaframework-assistant==5.0.0) with both, Wayland and XWayland. Only I could not get py-bt to run in gdb, but I guess it probably is the same issue...