Actions
Emulator Issues #13974
openHLE_OSPanic emulates returning in a noreturn function
Emulator Issues #13974:
HLE_OSPanic emulates returning in a noreturn function
Status:
New
Priority:
Normal
Assignee:
-
% Done:
0%
Operating system:
N/A
Issue type:
Bug
Milestone:
Regression:
No
Relates to usability:
No
Relates to performance:
No
Easy:
No
Relates to maintainability:
No
Regression start:
Fixed in:
Description
This issue is game-agnostic, hardware-agnostic, and is present in Dolphin versions spanning back 18 years. Here is the current implementation at the time of writing: https://github.com/dolphin-emu/dolphin/blob/a8fbe8f28f622851333538ee0a2899bc159161ba/Source/Core/Core/HLE/HLE_OS.cpp#L36
Expected behavior from OSPanic is to call PPCHalt as it's a noreturn function, but HLE instead unconditionally returns from the function after the panic alert. This leads to issues with code that uses OSPanic as assert functionality (ex: the Wii SDK's "ARCInitHandle").
Suggested solution would be to match the PPC state of PPCHalt: heavyweight sync before infinite loop.
Actions