Skip to content

RPA.Assistant dialogs causing 100% CPU after close #1308

@kgraefe

Description

@kgraefe

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  300

I 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...

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions