RPCS3 / rpcs3

PlayStation 3 emulator and debugger
https://rpcs3.net/
GNU General Public License v2.0
15.35k stars 1.91k forks source link

God Of War - Dead FIFO commands queue state has been detected! #12924

Closed jy95 closed 1 year ago

jy95 commented 1 year ago

Quick summary

Game freezes at random places : sometimes, it is 5 minutes - other times 30 minutes

Details

Dead FIFO commands queue state has been detected!
Try increasing "Driver Wake-Up Delay" setting or setting "RSX FIFO Accuracy" to "Atomic", both in Advanced settings. Called from 
(in file C:\Users\ContainerAdministrator\AppData\Local\Temp\cirrus-ci-build\rpcs3\Emu\RSX\RSXFIFO.cpp:684[:6], in function run_FIFO)
(in file C:\Users\ContainerAdministrator\AppData\Local\Temp\cirrus-ci-build\rpcs3\Emu\RSX\RSXThread.cpp:2921[:24], in function recover_fifo)

Attach a log file

RPCS3.log

Attach capture files for visual issues

No response

System configuration

Windows 10 21H2
Intel Core i7-8750H | 12 Threads | 15.85 GiB RAM | AVX+ | FMA3
GPU: NVIDIA GeForce GTX 1050 (526.47)

Other details

I used to play God Of War II without issues some months ago (forgot the build version) so it looks like a regression

Darkhost1999 commented 1 year ago

If this is a regression can you finish reporting the regression by finding out what build created the issue and provide 2 logs: 1 from the most recent working build and 1 from the first build to break. Ensure that there are 0 builds between the working and broken build.

As it stands this issue report is resolved if you just read the error message. I would like to see FIFO improvements but when did FIFO regress cause the game works fine with driver wake up delay of 40us or atomic FIFO accuracy.

jy95 commented 1 year ago

Is it possible to get all the first RPCS3 versions that includes changes in FIFO please ? It would help to track down the broken version.

After some researches, the oldest working date was the 23th September 2019 (I used the latest version of this date to play both God Of War I & God Of War II HD without issues). Meaning something happens between commit before that latest date & most recent changes

Following error message doesn't work in my case : it "just" delays when the error happens.

readywer commented 1 year ago

All i can help that i played through the GOW from 2021.09-2021.11 so these builds don't have the issue(or i haven't noticed it during playthrough. So it might help to narrow down where the regression happened.So there are 10 possible build where it might regressed.

kd-11 commented 1 year ago

Those builds were also a lot slower. You desync easier as performance exceeds PS3 levels. God of War always had desync issues, you need a high wakeup or atomic FIFO. You can configure this in the advanced tab as directed by the error message. Note that you do not need to change the wakeup from default if atomic FIFO mode is in use. Ask to reopen if the problem doesn't go away after enabling atomic FIFO.

comex commented 8 months ago

Can this be reopened? I'm able to reproduce this almost 100% of the time on the latest build, even with atomic FIFO mode. (This has been going on for at least a few weeks, so it's not a very recent regression.)

Game: God Of War® Collection [BCUS98229] version 01.01 Patches: 'Skip any videos with X button' enabled. (It also reproduces without the patch, but the patch makes it faster to get in-game without a save file.) Configuration: Everything at default except for RSX FIFO Accuracy set to 'Ordered & Atomic', and Framelimit set to 60 (the latter recommended by the RPCS3 Wiki). [Edit: Same results if I switch from the default Vulkan to OpenGL.] [Edit: Setting Shader Mode to Legacy (while using Vulkan) makes this harder to reproduce, or perhaps impossible.] [Edit: No, it still happens sometimes.]

Environment: RPCS3 v0.0.30-16011-3dbde04d Alpha | master AMD Ryzen Threadripper 3970X 32-Core Processor | 64 Threads | 71.87 GiB RAM | TSC: 3.700GHz | AVX+ | FMA3 Operating system: Windows, Major: 10, Minor: 0, Build: 19045, Service Pack: none, Compatibility mode: 0 GPU: NVIDIA GeForce RTX 2070 SUPER, driver version 536.23 [Edit: Same results with driver 551.23.]

Reproduction steps:

  1. Start game.
  2. After opening banners, choose God of War in the menu.
  3. After more opening banners, choose New Game -> Normal.
  4. After a few seconds, a prerendered cutscene starts. Skip that, then immediately press Start to open the pause menu.
  5. Now try to save state. After it saves and automatically loads, it might crash immediately; if not, press X then Triangle to exit the pause menu, and it will show a few frames with corrupted graphics and then crash.

Full log: RPCS3.log

Log excerpt: E cellSysutil: Tried to enqueue a DRAWING_END callback without a BEGIN callback! E RSX: FIFO: CALL found inside a subroutine (last cmd = 0x4306e51e) x2 E RSX: FIFO error: possible desync event (last cmd = 0xbf800000) x19 F {RSX [0x0a12c40]} SIG: Thread terminated due to fatal error: Dead FIFO commands queue state has been detected! Try increasing "Driver Wake-Up Delay" setting or setting "RSX FIFO Accuracy" to "Ordered & Atomic", both in Advanced settings. Called from (in file D:\a\1\s\rpcs3\Emu\RSX\RSXFIFO.cpp:647[:5], in function run_FIFO) (in file D:\a\1\s\rpcs3\Emu\RSX\RSXThread.cpp:3231[:24], in function recover_fifo)

Note: The game is fully stable when not using savestates, at least through the majority of the game (didn't finish it).