Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AccessKit can result in a thread sleep deadlock #309

Open
lukexor opened this issue Jun 27, 2024 · 4 comments
Open

AccessKit can result in a thread sleep deadlock #309

lukexor opened this issue Jun 27, 2024 · 4 comments
Labels
blocked Something is blocking progress bug Something isn't working linux Linux specific issue tetanes

Comments

@lukexor
Copy link
Owner

lukexor commented Jun 27, 2024

When adding AccessKit support, it was discovered that (at least on linux) that the accesskit implementation puts the thread to sleep and never wakes up. This happens in side async-io waiting on a zbus response inside a block_on request.

Need to gather more data for submitting an issue upstream and test on other platforms.

macos does not seem to have this issue

@lukexor lukexor added bug Something isn't working blocked Something is blocking progress linux Linux specific issue tetanes labels Jun 27, 2024
@DataTriny
Copy link

Hello @lukexor, thanks for trying out AccessKit.

The issue you describe here might be linked to the fact that the version of accesskit_unix used by egui doesn't implement lazy initialization, which might cause troubles if you are not running any assistive technologies on your system.

I can help investigate this once egui updates the dependency.

CC emilk/egui#4702

@lukexor
Copy link
Owner Author

lukexor commented Jun 29, 2024

Hello @lukexor, thanks for trying out AccessKit.

The issue you describe here might be linked to the fact that the version of accesskit_unix used by egui doesn't implement lazy initialization, which might cause troubles if you are not running any assistive technologies on your system.

I can help investigate this once egui updates the dependency.

CC emilk/egui#4702

Thanks for the info! I'm actually working on a change to remove the egui winit and wgpu dependencies so that I can update those dependencies, which will mean implementing the access kit integration manually so I should be able to implement the required fixes as soon as that works completes

@lukexor
Copy link
Owner Author

lukexor commented Jun 30, 2024

I'll also add that it worked fine when the builtin screen reader in popOS was disabled and would read menu items as expected when it was enabled.

However, randomly but consistently when opening a menu or trying to interact with the UI besides just tabbing through widgets, the main thread would go to sleep and never wake up, freezing the main thread requiring it be killed.

@lukexor
Copy link
Owner Author

lukexor commented Jul 3, 2024

Now blocked on emilk/egui#4219

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
blocked Something is blocking progress bug Something isn't working linux Linux specific issue tetanes
Projects
None yet
Development

No branches or pull requests

2 participants