From dfee08f74f7f63e06d0bbe91ed15e0e29b264ee1 Mon Sep 17 00:00:00 2001 From: Ryan Houdek Date: Tue, 25 Nov 2025 16:48:47 -0800 Subject: [PATCH] FEXInterpreter: Fixes crash with code maps When the realpath of a program path can't be resolved, we weren't setting the config option. This was cascading to be a crashing in codemaps where it was unconditionally using the optional value (with assert checks), and causing things to crash. Pass in the path that can't be resolved to work around a crash in PV that can happen. --- Source/Tools/FEXInterpreter/FEXInterpreter.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Source/Tools/FEXInterpreter/FEXInterpreter.cpp b/Source/Tools/FEXInterpreter/FEXInterpreter.cpp index d11aff1ff..064603dff 100644 --- a/Source/Tools/FEXInterpreter/FEXInterpreter.cpp +++ b/Source/Tools/FEXInterpreter/FEXInterpreter.cpp @@ -428,6 +428,10 @@ int main(int argc, char** argv, char** const envp) { char* RealPath = realpath(Program.ProgramPath.c_str(), ExistsTempPath); if (RealPath) { FEXCore::Config::Set(FEXCore::Config::CONFIG_APP_FILENAME, fextl::string(RealPath)); + } else { + // Can happen when jumping in to pressure-vessel. + // `/usr/lib/pressure-vessel/from-host/libexec/steam-runtime-tools-0/pv-adverb` can't get resolved. + FEXCore::Config::Set(FEXCore::Config::CONFIG_APP_FILENAME, Program.ProgramPath); } } FEXCore::Config::Set(FEXCore::Config::CONFIG_APP_CONFIG_NAME, Program.ProgramName);