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

Bad memory access handling improvements #13092

Merged
merged 7 commits into from
Jul 12, 2020
Merged

Conversation

hrydgard
Copy link
Owner

@hrydgard hrydgard commented Jul 4, 2020

Does a few things:

  • Splits CORE_ERROR into CORE_BOOT_ERROR and CORE_RUNTIME_ERROR. The latter is intended for unrecoverable errors that happen at runtime. If recoverable, we can use CORE_STEPPING (as currently happens when hitting a bad memory access in the interpreter with bIgnoreBadMemAccess off.
  • Centralizes some of the memory access handling code in the interpreter
  • Formalizes the notion of core exceptions, adds a place to store information about them
  • Displays crash information, crash.prx from Exception handler - catch bad memory accesses by the JIT #11795 shows this in the interpreter with bIgnoreBadMemAccess off:

CRAS00921_00001

Note that this only works for interpreter right now. The JIT will get support for this later, partially for fastmem on with #11795 and later for fastmem off. I hope to also make some much improved crash reporting and ideally never have PPSSPP crash just because a game crashes.

@hrydgard hrydgard added this to the v1.11.0 milestone Jul 4, 2020
Core/HLE/sceIo.cpp Show resolved Hide resolved
Core/System.cpp Outdated Show resolved Hide resolved
Core/MemMapFunctions.cpp Show resolved Hide resolved
Core/MIPS/MIPSInt.cpp Show resolved Hide resolved
Core/Core.h Show resolved Hide resolved
@zminhquanz
Copy link
Contributor

zminhquanz commented Jul 5, 2020

#10897 Is it workaround about this @hrydgard ?

@unknownbrackets
Copy link
Collaborator

This won't directly fix any crash in any game, but it may prevent game crashes from resulting in PPSSPP crashes, so it may make it easier to fix game crashes.

-[Unknown]

@hrydgard hrydgard force-pushed the error-handling-improvements branch from 2d676ca to 7dcd708 Compare July 12, 2020 13:25
@hrydgard hrydgard merged commit daf0990 into master Jul 12, 2020
@hrydgard hrydgard deleted the error-handling-improvements branch July 12, 2020 22:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants