No warning/error when updating a core that is currently loaded
Nobody has claimed this yet.
- Dominant language
- C
- Stars
- 14.1k
- Forks
- 2.2k
- Avg merge
- 7h 35m
- Merged PRs (30d)
- 51
Description
Description
If a core is currently loaded, trying to update it will display a notification saying "✔️ Core installed", just like if it worked properly.
I know I know "why would you update a core if it's currently loaded?", well some cores are glitchy and are still loaded in the background after closing content (Citra, Dolphin and PCSX2 for example), so even if it looks like the core is note loaded anymore the update will silently fail.
Here's an example with Dolphin:
You can see the notification saying that it updated correctly while in reality the .zip is still there because the .dll couldn't be overwritten since the core is still loaded in the background.
Note that atm I only tested this on Windows 10, I will try later on my Linux Mint VM.
Expected behavior
Notification should say that the update failed.
Actual behavior
Notification seems to indicate that everything went fine.
Steps to reproduce the bug
- Load a game with any core.
- Do not close content and update the core.
or
- Load a game with a core that doesn't close properly like Citra, Dolphin or PCSX2.
- Close content.
- Update the core you were using.
Bisect Results
-
Version/Commit
You can find this information under Information/System Information
- RetroArch: 1.10.3 / a96d12e
Environment information
- OS: Windows 10
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the issue through the core update flow while a core remains loaded, following the steps in the report on Windows 10. Trace where the updater reports success after the core file cannot be overwritten, and make completion distinguish a failed update from a successful one. Verify the notification reports failure when the loaded core blocks replacement.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c
- Domain
- frontend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100