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

Make auto-savestates not use the task queue #16061

Merged
merged 1 commit into from
Dec 31, 2023

Conversation

davidgfnet
Copy link
Contributor

Auto savestate (and its optional thumbnail) is generated on core unload (quit, netplay start, etc). This ends up using the task-queue, which in many cases deadlocks and/or causes a crash due to its asynchronous nature.

Given that this is a state that must be generated before quiting or reloading the core, it makes no sense to use the task queue, it should be a synchronous job like for instance SRAM saving.

This should fix #15248 (tested by @schmurtzm)

This issue affects many UIs that use Retroarch (since they launch and rely on the generated state and screenshot on exit).

Auto savestate (and its optional thumbnail) is generated on core unload
(quit, netplay start, etc). This ends up using the task-queue, which in
many cases deadlocks and/or causes a crash due to its asynchronous
nature.

Given that this is a state that must be generated before quiting or
reloading the core, it makes no sense to use the task queue, it should
be a synchronous job like for instance SRAM saving.

This should fix libretro#15248 (tested by @schmurtzm)
@LibretroAdmin LibretroAdmin merged commit ab376eb into libretro:master Dec 31, 2023
23 checks passed
@sonninnos sonninnos mentioned this pull request Mar 21, 2024
Sunderland93 pushed a commit to Sunderland93/RetroArch that referenced this pull request Dec 26, 2024
Auto savestate (and its optional thumbnail) is generated on core unload
(quit, netplay start, etc). This ends up using the task-queue, which in
many cases deadlocks and/or causes a crash due to its asynchronous
nature.

Given that this is a state that must be generated before quiting or
reloading the core, it makes no sense to use the task queue, it should
be a synchronous job like for instance SRAM saving.

This should fix libretro#15248 (tested by @schmurtzm)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Netplay crash Retroarch when auto savestate is enabled
2 participants