RPCS3 / rpcs3

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

Naughty Dog games another Trap Issue #6296

Closed Xcedf closed 4 years ago

Xcedf commented 5 years ago

To investigate this issue i used a build with hack that not throws exception on Trap. Here's the few examples that i've found In Uncharted 2 i've found two of them, both look like overflow or smth, the first with temple trap screen becomes black and console spams with Traps, the second is camera disortion and also Traps Here's the video: https://youtu.be/rZEhjkeG35A In Uncharted 3 issue that looks like second in U2 camera disortion(usually) and Trap, on video it also crashes, this place keeps me from further playing through this game, until this place it more or less possible to play here's the video: https://youtu.be/Q8kNyUyosFI And The Last of Us also has issue, trap spamming and blackscreen impossible to play further here's the video: https://youtu.be/pGIgCpoNuB8 If any other info or save files required just let me know

kd-11 commented 5 years ago

A trap is usually part of an assert statement so there should be corresponding information in the TTY window.

Asinin3 commented 5 years ago

While not entirely related, since you don't seem to be in our Discord server I just wanted to let you know that you can bypass trap errors by making a patch.

You will need to put your ppu-hash from the game in and edit in the address from the trap.

PPU-<ppu-hash>:
    - [ be32, 0x<address in Trap message>, 0x60000000 ]

Edit: Seems like you've got this all sorted with your custom build, well maybe it's useful for someone.

Xcedf commented 5 years ago

@kd-11 here's the TTY's, for some reason Uncharted 3 didn't showed any assertion in tty on traps so i've got only U2 and TLoU U2.gz TLOU.gz @Asinin3 interesting method, thanks, but i guess it ain't fixes the issue itself and these games have a ton of different trap addresses so making a patch for this will take a hell of a time.

kd-11 commented 5 years ago

This are all NaN checks. assert(x == x) checks for NaN and isFinite(x) checks for inf. Looks like a CPU bug somewhere - does it occur with accurate Xfloat?

Xcedf commented 5 years ago

Yes, Accurate Xfloat not helps this.

elad335 commented 5 years ago

Have you tried #6556 with ppu precise interpreter? SPU precise interpreter also has s similar fix for DFMA family, but lets hope its only a ppu issue since its easier to test.

Xcedf commented 5 years ago

Tried now, not working, as for SPU Precise, it took me an hour t run the test with elevator scene at 0,2fps speed, and it froze at the point when you can control your cahracter after the elevator fall.

Xcedf commented 4 years ago

Catched another of these issues, but now it also gives another message except Traps F {PPU[0x1000000] Thread (main_thread) [0x007555e0]} VM: Access violation reading location 0x9ead5124 (unmapped memory) image

elad335 commented 4 years ago

This issue has 0 amount of logs...