RPCS3 / rpcs3

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

Portal 2 crashes with access violation error #11695

Open ss32 opened 2 years ago

ss32 commented 2 years ago

Update: See the last post for the current status.

Quick summary

Portal 2 fails with the following errors

E SYS: '_sys_prx_load_module' failed with 0x8001113b : CELL_PRX_ERROR_LIBRARY_FOUND [1]
F {PPU[0x1000000] Thread (main_thread) [0x0041768c]} VM: Access violation writing location 0x0 (unmapped memory)

Details

Tested on both the latest release from https://rpcs3.net/download and on master built from source.

Attempted the custom yml fix per https://github.com/RPCS3/rpcs3/issues/8047#issuecomment-615564213 but got the same failure. It consistently fails when linking the last PPU module.

image

5. Please provide your system configuration:

Log

The log isn't uploading, will follow up with a link. All caches had been cleared before generating the log.

ss32 commented 2 years ago

Google drive link to RPCS3.log.gz

ss32 commented 2 years ago

Downloading the latest PS3 firmware got me past this error, but I'm met with a black screen and "compiling shaders" with ~700% CPU usage.

image

ss32 commented 2 years ago

Ok this appears to be isolated to Vulkan only. I switched to OpenGL and the game is running now. Closing this issue but it would be good to know why it fails with Vulkan.

ss32 commented 2 years ago

Commenting here for posterity in case someone finds it in a search: The game plays, to a degree. Now it repeatably fails at the same point and freezes with the same behavior noted above with Vulkan. I'm also met with this error when trying to close the program

image

This is new behavior, output in the terminal

[xcb] Unknown request in queue while appending request
[xcb] Most likely this is a multi-threaded client and XInitThreads has not been called
[xcb] Aborting, sorry about that.
ps3: ../../src/xcb_io.c:149: append_pending_request: Assertion `!xcb_xlib_unknown_req_pending' failed.
Aborted (core dumped)
kd-11 commented 2 years ago

Given the hundreds of thousands of PPU LLVM errors in the log, I'd say first give PPU interpreter a try.

ss32 commented 2 years ago

I cleared all the caches and tried again and it was able to get past the previous failure, so this doesnt seem to be entirely reproducible.

Given the hundreds of thousands of PPU LLVM errors in the log, I'd say first give PPU interpreter a try.

Performance dropped off a cliff when I tried this, <10fps just on the menu. When I tried to play it hard failed with the access violation failure

F {PPU[0x1000000] Thread (main_thread) [0x0233f548]} VM: Access violation reading location 0x30 (unmapped memory)
kd-11 commented 2 years ago

Updated title to reflect the reality of the problem. I'd first try some more aggressive debug options to narrow down the issue (WCB/WDB/RCB/RDB + CPU blit + accurate RSX reservations + PPU Java mode). Slowdown when using debug paths is normal, but it would help to figure out if there are other more serious problems other than just PPU LLVM not working with it.

FlexBy420 commented 2 weeks ago

Is this still an issue?