Closed GABO1423 closed 2 years ago
Backported it here on this branch - however, the zombie process on exit still remains on Windows -
https://github.com/libretro/pcsx2/tree/fastjmp
@SeventySixx @covey-j Perhaps we can revisit the previous attempts we made at fixing this that seemed to somehow work for Linux but not for Windows? Maybe in combination with this it would work?
Backported it here on this branch - however, the zombie process on exit still remains on Windows -
https://github.com/libretro/pcsx2/tree/fastjmp
@SeventySixx @covey-j Perhaps we can revisit the previous attempts we made at fixing this that seemed to somehow work for Linux but not for Windows? Maybe in combination with this it would work?
I'll see how this affects Close Content on Xbox. Thanks for this @twinaphex!
When trying to make a build, I got these errors:
iR5900-32.obj : error LNK2019: unresolved external symbol fastjmp_set referenced in function "void __cdecl recExecute(void)" (?recExecute@@YAXXZ) [C:\Users\moraz\Downloads\pcsx2\build\pcsx2\pcsx2_libretro.vcxproj]
iR5900-32.obj : error LNK2019: unresolved external symbol fastjmp_jmp referenced in function "void __cdeclrecExitExecution(void)" (?recExitExecution@@YAXXZ [C:\Users\moraz\Downloads\pcsx2\build\pcsx2\pcsx2_libretro.vcxproj]
C:\Users\moraz\Downloads\pcsx2\build\pcsx2\Release\pcsx2_libretro.dll : fatal error LNK1120: 2 unresolved externals [C:\Users\moraz\Downloads\pcsx2\build\pcsx2\pcsx2_libretro.vcxproj]
Any ideas?
EDIT: Errors were fixed by adding the FastJmp.asm file to common/src/Utilities directory.
Ah my bad, I forgot to commit it to the branch.
Anyways, with that file added in, I tested the build and it does not longer crash on Close Content.
Hmm, guess it doesn't help the zombie process issues on Windows. But I guess it can't hurt to merge it.
So I merged this, and I tried doing this again after the merge -
https://github.com/libretro/pcsx2/pull/83/commits/88f81264f256a6a058d2134a219ddcad838dd081
What happens then on Windows with a game like Tekken Tag is that it just crashes upon returning back to RetroArch (Quick Menu -> Close Content). So yeah, no zombie process but no RetroArch either anymore and a hardcrash, which is also equally as bad.
I think the Zombie process issue asks for a separate issue altogether, but since the commit was successfully backported, I think this issue can now be closed.
A recent PR by DuckStation developer Stenzek for standalone PCSX2 deals with crashes on 64 bit builds that are caused by exiting the recompliers in any way. Since the core is based on the 64 bit version, and it also crashes when using the Close Content option (which would cause the recompilers to be closed), could this potentially fix that issue? Here's the link to the PR in question: https://github.com/PCSX2/pcsx2/pull/4822
Thanks for reading.