RPCS3 / rpcs3

PS3 emulator/debugger
https://rpcs3.net/
GNU General Public License v2.0
15.19k stars 1.89k forks source link

[Regression] Lightning Returns [BLUS31164]: Crashes with Accurate PPU 128 Reservations Enabled #15373

Open Shoegzer opened 5 months ago

Shoegzer commented 5 months ago

Quick summary

This title now freezes on startup.

Details

This title freezes because Accurate PPU 128 Reservations must be set to something other than default (in this case "Always Enabled"). It is this setting that causes the crash on newer builds.

Build with regression

rpcs3-v0.0.31-16252-a6fa091a (from #15364)

Attach two log files

RPCS3_good.log RPCS3_bad.log

Attach capture files for visual issues

No response

System configuration

Other details

No response

Shoegzer commented 5 months ago

Update: After manually testing each of the above commits, here are the results:

e126af63eda8de9c4ce064e0943d1dd35ef8aa3b: Builds, freezes on startup as reported above (all builds made after this commit also exhibit freezing on startup) 750359d780f3c3ed2f7962f9ac7b7ea79426c663: Builds, and goes ingame but performance is very poor (~10fps vs. ~30fps) 8588b2b11acf390ba7bbcea33c7de8c882f6c903: Fails to build 4594c912a608f9e5e8c3ed82a14ccd3f2d216c4e: Does not exhibit the problem and can be ignored (all builds made before this commit are also fine)

elad335 commented 5 months ago

I can't reproduce, maybe send your save files?

Shoegzer commented 5 months ago

Thanks @elad335. I tried again using the latest commit e90b39932912cdc825f2a7e1ec5e29a6ba251704, but this time I removed all save and cache files. It still froze on boot. However, in my custom configuration I had resolution set to 1920x1080, and when I reset it to 1280x720, it booted just fine. Can you try with 1920x1080 too? You should be able to reproduce the issue then.

Update: nevermind the above (and sorry for the red herring), in further testing I observed it freezing randomly even at 1280x720 res. especially when not booting from a clean cache. That being the case, I looked at other custom config settings for this game. Note that it requires a high Driver Wake-Up Delay (mine's set to 600) and alternate Accurate PPU 128 Reservations (mine's set to "Always Enabled"), otherwise it frequently locks up ingame as noted in #8241. When I reset the latter to "Disabled" as per the default, it seems to boot every time (at least in the five times I tested). Is it possible that the newer commits are more sensitive to this setting? In any event, I hope that's helpful.

Shoegzer commented 5 months ago

Update: I've done some more testing with this. The freezing in the newer builds is definitely related to Accurate PPU 128 Reservations set to "Always On", and it occurs irrespective of Driver Wake-Up Delay changes. In testing this with other games, not all of them exhibit this behavior although a few do. For example, setting Gran Turismo 5 to "Always On" I observed that it too froze in 5 out 5 bootup attempts. Reverting to a "good" build before the regression as noted above and keeping that setting, it booted 5 out of 5 times with no freezing.

Zeromus24 commented 5 months ago

When Accurate PPU 128 Reservations is enabled, the game proceeds to look for files that doesn't exist upon boot. This is what causes the crash. (#15410)

elad335 commented 5 months ago

Does it also crash with PPU Static Interpreter PPU decoder setting? (CPU tab)

Zeromus24 commented 5 months ago

Does it also crash with PPU Static Interpreter PPU decoder setting? (CPU tab)

Yes. RPCS3.log

Shoegzer commented 5 months ago

Update: To be clear, rpcs3-v0.0.31-16252-a6fa091a from PR #15364 caused this regression. This has also been confirmed in #15410. I've updated the issue summary above with this information.