RPCS3 / rpcs3

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

[Regression] v0.0.33-16919 and later crashing the emulator #16091

Closed AniLeo closed 3 weeks ago

AniLeo commented 3 weeks ago

Originally submitted by tehkingvx at forums.rpcs3.net

Regressed by #16074

Description

After updating to v0.0.33-16919 the emulator has become unstable and is crashing before getting to any menus for MOTORSTORM®: PACIFIC RIFT [BCUS98155]

I should clarify that it crashed before menus on 1st attempt in 16919 but in attempt 2 it crashed before getting in game.

It isn't just motorstorm it's also happened with Killzone®3 [BCUS98234] but I didn't use it for gathering the logs.

Logs

  1. Working: v0.0.33-16918 RPCS3.log.gz
  2. Broken: v0.0.33-16930 RPCS3.log.gz
  3. Broken: attempt 1 v0.0.33-16919 RPCS3.log.gz
  4. Broken attempt 2 v0.0.33-16919 RPCS3.log.gz

System Information

RPCS3 v0.0.33-16930-d1648dd7 Alpha | master | FW 4.89 | Windows 10 22H2 AMD Ryzen 7 5800X | 16 Threads | 31.94 GiB RAM | AVX+ | FMA3 GPU: NVIDIA GeForce RTX 2080 Ti (561.09)

digant73 commented 3 weeks ago

I confirm the random issue. RPCS3 closed just loading the game (PPU, SPU loading) or crashed in game (with different kind of errors). Removing only #16074 from the current RPCS3 version fixed the issue

oltolm commented 3 weeks ago

It crashes with "vector[] index out of bounds", but only if you set "SPU Block Size" to "Mega".

* thread #176, name = 'SPU[0x4000400] xf_appli_CellSpursKernel4', stop reason = Exception 0xc0000409 encountered at address 0x7ffb27d7286e
    frame #0: 0x00007ffb27d7286e ucrtbase.dll`abort + 78
    frame #1: 0x00007ffaf69bca53 libc++.dll`std::__1::__libcpp_verbose_abort(char const*, ...) + 83
  * frame #2: 0x00000000027d13e2 rpcs3.exe`std::__1::vector<spu_recompiler_base::inst_attr, std::__1::allocator<spu_recompiler_base::inst_attr>>::operator[][abi:dn180100](this=0x0000125b38a5c8b8 size=178, __n=64896) at vector:1393:3
    frame #3: 0x000000000276f37e rpcs3.exe`spu_recompiler_base::add_pattern(this=0x0000125b38a40800, fill_all=false, attr=putllc0, start=259584, end=259584) at SPUCommonRecompiler.cpp:8256:3
    frame #4: 0x00000000027555f4 rpcs3.exe`spu_recompiler_base::analyse(this=0x0000125b38a40800, ls=0x00001274466c0000, entry_point=2560, out_target_list=0x0000000000000000) at SPUCommonRecompiler.cpp:7087:4
    frame #5: 0x000000000272b5a5 rpcs3.exe`spu_recompiler_base::dispatch(spu=0x0000127444f61840, (null)=0x00001274466c0000, rip=0x0000000000000000) at SPUCommonRecompiler.cpp:2109:46
    frame #6: 0x000000002e036fee
Bobble80 commented 3 weeks ago

I can confirm that there’s been a performance regression in WWE ‘13 and WWE ‘12 in some recent update. WWE ‘13 could go in game and play some matches with the occasional crash / freeze from time to time, but performance was slowly getting better with regular updates to RPCS3.

But now, the games are booting and freezing as soon as they boot up, sometimes gets to the title screens in both games.

AniLeo commented 3 weeks ago

We need concrete tests before and after the PR with log files for before/after for it to be helpful to the developer, as exemplified in the OP

Also, this information helps show whether the issue is related to this ticket or not at all, as possible regressions from other PRs belong in their own tickets