mirror of
https://git.eden-emu.dev/archive/citron
synced 2026-04-18 02:30:45 -04:00
fix(fatal): handle unknown error module 359 gracefully
Handle error 2359-2618 (module 359, description 2618) gracefully by logging a warning instead of crashing, similar to module 56. This allows games like SSBU to continue execution when encountering this error code. Signed-off-by: Zephyron <zephyron@citron-emu.org>
This commit is contained in:
@@ -85,6 +85,14 @@ static void GenerateErrorReport(Core::System& system, Result error_code, const F
|
|||||||
"Error code: 2056-{:04d} (0x{:08X})\n"
|
"Error code: 2056-{:04d} (0x{:08X})\n"
|
||||||
"This may be related to online services or network functionality.\n\n",
|
"This may be related to online services or network functionality.\n\n",
|
||||||
description, error_code.raw);
|
description, error_code.raw);
|
||||||
|
} else if (module == 359) {
|
||||||
|
module_note = fmt::format(
|
||||||
|
"\n⚠️ WARNING: Error module 359 is undefined/unknown!\n"
|
||||||
|
"This error may be game-generated or from an unimplemented service.\n"
|
||||||
|
"Error code: 2359-{:04d} (0x{:08X})\n"
|
||||||
|
"This is commonly reported by Super Smash Bros. Ultimate during multiplayer connections.\n"
|
||||||
|
"It may be related to network connectivity or online service availability.\n\n",
|
||||||
|
description, error_code.raw);
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string crash_report = fmt::format(
|
std::string crash_report = fmt::format(
|
||||||
@@ -139,13 +147,18 @@ static void ThrowFatalError(Core::System& system, Result error_code, FatalType f
|
|||||||
GenerateErrorReport(system, error_code, info);
|
GenerateErrorReport(system, error_code, info);
|
||||||
[[fallthrough]];
|
[[fallthrough]];
|
||||||
case FatalType::ErrorScreen:
|
case FatalType::ErrorScreen:
|
||||||
// For Module 56 errors (unknown/game-generated), log and continue instead of crashing
|
// For unknown module errors (game-generated), log and continue instead of crashing
|
||||||
// These are often related to online services being unavailable
|
// These are often related to online services being unavailable or network issues
|
||||||
if (module == 56) {
|
if (module == 56) {
|
||||||
LOG_WARNING(Service_Fatal,
|
LOG_WARNING(Service_Fatal,
|
||||||
"Module 56 error detected - likely game-generated due to unavailable "
|
"Module 56 error detected - likely game-generated due to unavailable "
|
||||||
"online services. Continuing execution instead of crashing.");
|
"online services. Continuing execution instead of crashing.");
|
||||||
break;
|
break;
|
||||||
|
} else if (module == 359) {
|
||||||
|
LOG_WARNING(Service_Fatal,
|
||||||
|
"Module 359 error detected - likely game-generated by SSBU during multiplayer "
|
||||||
|
"connection attempts. Continuing execution instead of crashing.");
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
// Since we have no fatal:u error screen. We should just kill execution instead
|
// Since we have no fatal:u error screen. We should just kill execution instead
|
||||||
ASSERT(false);
|
ASSERT(false);
|
||||||
|
|||||||
Reference in New Issue
Block a user