JesseTG / melonds-ds

A remake of the libretro melonDS core that prioritizes standalone parity, reliability, and usability.
GNU General Public License v3.0
158 stars 19 forks source link

Random crashes upon hard reset, sometimes deleting save ram #181

Closed manakate closed 9 months ago

manakate commented 9 months ago

What version of melonDS DS are you using?

1.1.0

Does the problem happen in standalone melonDS?

No, it's a bug specific to melonDS DS.

What happened?

When resetting the emulator via a hotkey (in this case R3), MelonDS DS will sometimes freeze and crash RetroArch. Sporadically, this will also result in the .srm file associated with the game being either corrupted or erased. I've confirmed this to happen with both Castlevania: PoR and Pokemon Conquest, both games that create a system save on first boot. A log immediately following a crash is attached here.

What should've happened instead?

Core should process a reset without crashing, or if a crash happens, protect save ram in some way such that it is not corrupted.

Which platforms do you see the problem on?

Which versions of the OS?

Windows 10

Which libretro frontend are you using?

RetroArch 1.16.0, standalone distro

Terms

JesseTG commented 9 months ago

Which renderer were you using? If it was the software renderer, was threading enabled?

manakate commented 9 months ago

I think it happened with both Vulkan and d3d11, no threading enabled in either case.

JesseTG commented 9 months ago

I think it happened with both Vulkan and d3d11, no threading enabled in either case.

That's just the video driver. I'm talking about the core options; could you confirm which renderer you're using and what its settings are?

manakate commented 9 months ago

Oh, sorry about that. Currently it's set to Software rendering, with threading on.

JesseTG commented 9 months ago

Ah. I think I might have a rough idea of the cause.

JesseTG commented 9 months ago

I'm 99% sure that this is the same bug described in #178, so let's move further discussion there.