RPCS3 / rpcs3

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

PPU: LLVM recompiler issue #1870

Closed raven02 closed 6 years ago

raven02 commented 7 years ago

All PPU LLVM issues will be consolidated here .

Please report if any and i will update the above list (make sure tested with interpreter and works okay before checkout the recompiler)

Fixed

Not fixed yet

zminhquanz commented 7 years ago

on Project Diva F , sometime it will get this error on PPU Recompiler

{PPU[0x388] Thread (2598e5c0)} HLE TODO: Unimplemented syscall syscall_988 -> CELL_OK {PPU[0x388] Thread (2598e5c0)} sys_process: Process finished

and

{PPU[0x5] Thread (main_thread) [0x006cc1b0]} struct vm::access_violation thrown: Access violation reading address 0x746c5ffc {PPU[0x5] Thread (main_thread) [0x006cc1b0]} struct vm::access_violation thrown: Access violation reading address 0x1a0

SakataGintokiYT commented 7 years ago

@raven02 @Nekotekina

*All these games work in PPU Interpreter [Fast]

Naruto: Ultimate Ninja Storm [Black screen]

LLVM: Symbol requested __chkstk -> 0x00007ff96a7c9a00

Log: https://gist.github.com/SakataGintokiYT/c3265816cea410c0b0365b12c7da8f52 LLVM.Log : https://mega.nz/#!4AwAzaoa!hBlmGYRX1OtI6_Lj20Hiybq4h3Dap9MkLqltnXLDJHg


Naruto Shippuden: Ultimate Ninja Storm 2 [Black screen]

LLVM: Symbol requested __chkstk -> 0x00007ff96a7c9a00

Log: https://gist.github.com/SakataGintokiYT/57d4d0e32f4e8c4f35fac4f7757301f0 LLVM.Log : https://mega.nz/#!sF40AIbD!gT3IX0Sx_0s9yjoriaeV3D15QbpJcoXG5oP0trwfHNA


Naruto Shippuden: Ultimate Ninja Storm 3 [Black screen]

LLVM: Symbol requested __chkstk -> 0x00007ff96a7c9a00

Log: https://gist.github.com/SakataGintokiYT/f98d7d22dcc7be3e9c7e6d4ca6ae0a4b LLVM.Log : https://mega.nz/#!4QIyCLoS!nQ7Oo5WfOS7wOD9wtVjps7BrYUnXgqyxSNLRVOJcpjM


Naruto Shippuden: Ultimate Ninja Storm Generations [Black screen]

LLVM: Linkage failed for lswi LLVM: Linkage failed for stswi LLVM: Symbol requested __chkstk -> 0x00007ff96a7c9a00

Log: https://gist.github.com/SakataGintokiYT/52ff96d10c04400e4128648f91ffc788 LLVM.Log : https://mega.nz/#!EZgyRKBT!nYxS294eFQ6xxrk5le8aCTCREBepK1Cyjqub7-_rCco


Nekotekina commented 7 years ago

Thanks. @SakataGintokiYT RPCS3.log is enough atm, LLVM.log is unnecessary

Ekaseo commented 7 years ago

King of Fighters XIII has the same issues as the other games mentioned above

zminhquanz commented 7 years ago

{PPU[0x104] Thread (200baad0)} HLE TODO: Unimplemented syscall syscall_988 -> CELL_OK {PPU[0x104] Thread (200baad0)} sys_process: Process finished

Project Diva F

Nekotekina commented 7 years ago

Some old homebrews are pure mess, it's hard to analyse them. For example, Free Heroes 2 or Freedroid Classic.

Nekotekina commented 7 years ago

Update: added support for them in #1918

Nezarn commented 7 years ago

@Nekotekina Are these implemented? (i get this in the log with LLVM)

·E PPU: [0x0062e734] 0x0062e764: Error: MTFSF ·E PPU: [0x0062e770] 0x0062e770: Error: MFFS

I get them as warning with interpreter:

·W {PPU[0x5] Thread (main_thread) [0x0062e770]} PPU: MFFS ·W {PPU[0x5] Thread (main_thread) [0x0062e764]} PPU: MTFSF

PZerua commented 7 years ago

All games crash for me after loading with this error:

b96a0a664843f2a81f83565e3ea86c68

I tried with ARKEDO 01 (seems to work for everybody) and many other games. My CPU is Intel i7-6700HQ (I think all i7s support SSSE3).

Here is the log for ARKEDO 01: RPCS3.txt

Yukikami39 commented 7 years ago

@PZerua same thing happens, every game that I run with LLVM shows this fatal error :/ and then the emulator crashes ( stopped working )

Yukikami39 commented 7 years ago

@PZerua your CPU does support SSSE3 , so does mine ( Celeron G1820 ) but still getting same error, I can use LLVM on earlier builds where rpcs3 doesn't compile before launch

raven02 commented 7 years ago

image Problem can't solve in the latest build , PPU LLVM Recompiler is having issue ( sometimes) , but PPU Interpreter 2 is normally , no issue

Two-Tone commented 7 years ago

Running latest build ( 5f15c66 ) on win7 x64

When trying to boot Katamari Forever (BLUS30336), PPU LLVM Recompiler stalls rpcs3 for several minutes. When trying to close the window, rpcs3 then stalls indefinitely and proceeds to very quickly consume all of my RAM (I have 18 gigs). This does not happen with the two interpreter options.

SakataGintokiYT commented 7 years ago

@Nekotekina LLVM 3.9 ready to merge ? https://github.com/Zangetsu38/rpcs3/tree/llvm39

Nekotekina commented 7 years ago

Last time I tested LLVM 3.9 it had absolutely terrible memory consumption or even a leak, an order of magnitude worse than current 3.8. Need to test.

SakataGintokiYT commented 7 years ago

Silent Hill: Homecoming

[Allow UE3 games to startup]-- [ b167b708 ]

@Nekotekina

*Screenshots from Rpcs3

Fotoszok.pl
.E PPU: [0x0039b978] 0x0039b9a8: Error: MTFSF
·E PPU: [0x0039bc08] 0x0039bc08: Error: MFFS
·E LLVM: Linkage failed for __stswi
·E LLVM: Symbol requested __chkstk -> 0x00007ffc68719a00
·E LLVM: Linkage failed for __lswi

·F {PPU[0x70000000] Thread (main_thread) [0x00010230]} class std::runtime_error thrown: Null function
(in file C:\rpcs3\Utilities\JIT.cpp:86)]

*[Log](https://gist.github.com/SakataGintokiYT/99d4ae3b550bb6fb8da611b72700ed85)**

Nekotekina commented 7 years ago

Test

SakataGintokiYT commented 7 years ago

[Daytona USA] -Glitch and flickering textures on LLVM

Fotoszok.pl

PPU-Fast: PPU-LLVM:

SakataGintokiYT commented 7 years ago

[78ecb115] [Update LLVM logs]

Naruto: Ultimate Ninja Storm Log:

Naruto Shippuden: Ultimate Ninja Storm Generations Log:

Dragon Ball Z: Burst limit Log:

raven02 commented 7 years ago

Tested with latest build . House of Dead 3 fail to boot up in LLVM (Interpreter fast is ok)

F {PPU[0x1000000] Thread (main_thread) [0x003b64e4]} class std::runtime_error thrown: Unreachable! (0x2c8cb4)

raven02 commented 7 years ago

Tested with latest build . Dragon Ball Raging Blast fail to boot up in LLVM (Interpreter fast is ok)

F {PPU[0x100000c] Thread (sp_job_server thread) [0x0051a110]} struct vm::access_violation thrown: Access violation writing address 0x0

raven02 commented 7 years ago

The Awakened Fate: Ultimatum hangs before 'Now Loading" and cannot proceed using LLVM while interpreter fast can proceed in-game.

ghost commented 7 years ago

Don't know if this helps, but when I used LLVM on House of the Dead 3, it froze at the same point as above, RPCS3 also consumed a lot of RAM in the process, approximately 9.5GB total before other programs on my computer started crashing.

Silent Hill Homecoming still throws an error.

F {PPU[0x1000000] Thread (main_thread) [0x00010230]} class std::runtime_error thrown: Null function
(in file C:\rpcs3\Utilities\JIT.cpp:77)

RPCS3.zip

Megamouse commented 7 years ago

Malicious [NPUA80797] gets to the adjust screen with interpreter as known. In LLVM it does not get this far. Instead I get this:

F {PPU[0x1000000] Thread (main_thread) [0x00054c88]} class std::runtime_error thrown: Unregistered PPU function [0x00054c88]

edit: now it is: F {PPU[0x1000000] Thread (main_thread) [0x004f2540]} class std::runtime_error thrown: Unregistered PPU function [0x004f2540]

Zangetsu38 commented 7 years ago

LLVM DQB

F {PPU[0x1000000] Thread (main_thread) [0x004b9bcc]} MEM: Access violation writing location 0xe329f6a8

aakh1361 commented 7 years ago

Silent Hill: Homecoming

same old result

E {PPU[0x1000000] Thread (main_thread)} PPU: [0x00030a60] 0x00030a64: Error: Unknown/illegal opcode 0x00000000 E {PPU[0x1000000] Thread (main_thread)} LLVM: Linkage failed: __stswi E {PPU[0x1000000] Thread (main_thread)} LLVM: Linkage failed: __lswi

E {PPU[0x1000000] Thread (main_thread)} PPU: [0x0039b978] 0x0039b9a8: Error: MTFSF E {PPU[0x1000000] Thread (main_thread)} PPU: [0x0039bc08] 0x0039bc08: Error: MFFS

E {PPU[0x1000000] Thread (main_thread) [0x00010230]} 'sys_lwmutex_lock' failed with 0x80010005 : CELL_ESRCH E {PPU[0x1000000] Thread (main_thread) [0x00010230]} 'sys_lwmutex_lock' failed with 0x80010005 : CELL_ESRCH F {PPU[0x1000000] Thread (main_thread) [0x00010230]} class std::runtime_error thrown: Null function (in file C:\rpcs3\Utilities\JIT.cpp:77)

Zangetsu38 commented 7 years ago

Dragon ball Raging Blast

S {PPU[0x1000000] Thread (main_thread)} PPU: LLVM: JIT initialized (znver1) S {PPU[0x1000000] Thread (main_thread)} PPU: LLVM: Loaded executable: v1-10200-CAF4E8008C584705.obj S {PPU[0x1000000] Thread (main_thread)} PPU: LLVM: Loaded executable: v1-CEFC8-4CE1D9D82A609BFA.obj S {PPU[0x1000000] Thread (main_thread)} PPU: LLVM: Loaded executable: v1-137520-D17C278F1C2A5445.obj S {PPU[0x1000000] Thread (main_thread)} PPU: LLVM: Loaded executable: v1-1C3460-0C45F3D6CE8004FE.obj S {PPU[0x1000000] Thread (main_thread)} PPU: LLVM: Loaded executable: v1-242C00-8BADF7B7D8856008.obj S {PPU[0x1000000] Thread (main_thread)} PPU: LLVM: Loaded executable: v1-2C81D8-B02484BEBFAD70CE.obj S {PPU[0x1000000] Thread (main_thread)} PPU: LLVM: Loaded executable: v1-360DB8-EFD87E88D5816DAB.obj S {PPU[0x1000000] Thread (main_thread)} PPU: LLVM: Loaded executable: v1-3E9658-5697C1A8883586BC.obj S {PPU[0x1000000] Thread (main_thread)} PPU: LLVM: Loaded executable: v1-4554C0-5FF9A99ACBDCEE15.obj S {PPU[0x1000000] Thread (main_thread)} PPU: LLVM: Loaded executable: v1-4CD088-7656756BBC7D2C28.obj S {PPU[0x1000000] Thread (main_thread)} PPU: LLVM: Loaded executable: v1-523330-2A71E053C49CF008.obj S {PPU[0x1000000] Thread (main_thread)} PPU: LLVM: Loaded executable: v1-58B180-3889F5899A2504BE.obj S {PPU[0x1000000] Thread (main_thread)} PPU: LLVM: Loaded executable: v1-libfiber.sprx-620E30D3DCB3CDA1.obj S {PPU[0x1000000] Thread (main_thread)} PPU: LLVM: Loaded executable: v1-libl10n.sprx-4FE68991EAFCB1B9.obj S {PPU[0x1000000] Thread (main_thread)} PPU: LLVM: Loaded executable: v1-librtc.sprx-CF7E15E891D42AE3.obj S {PPU[0x1000000] Thread (main_thread)} PPU: LLVM: Loaded executable: v1-libsre.sprx-B9A49A56961D104A.obj U {PPU[0x1000000] Thread (main_thread) [0x00010230]} sysPrxForUser TODO: _sys_process_atexitspawn() U {PPU[0x1000000] Thread (main_thread) [0x00010230]} sysPrxForUser TODO: _sys_process_at_Exitspawn S {Audio Thread} XAudio 2.9 initialized U {PPU[0x1000000] Thread (main_thread) [0x00010230]} sys_spu TODO: Unimplemented SPU Thread options (0x2) U {PPU[0x1000000] Thread (main_thread) [0x00010230]} sys_spu TODO: Unimplemented SPU Thread options (0x2) U {PPU[0x1000000] Thread (main_thread) [0x00010230]} sys_spu TODO: Unimplemented SPU Thread options (0x2) U {PPU[0x1000000] Thread (main_thread) [0x00010230]} sys_spu TODO: Unimplemented SPU Thread options (0x2) U {PPU[0x1000000] Thread (main_thread) [0x00010230]} sys_spu TODO: Unimplemented SPU Thread options (0x2) U {PPU[0x1000000] Thread (main_thread) [0x00010230]} sys_prx TODO: sys_prx_get_module_id_by_name(name=“cellLibprof”, flags=0, pOpt=0x0) U {PPU[0x1000000] Thread (main_thread) [0x00010230]} sys_prx TODO: sys_prx_get_module_id_by_name(name=“cellLibprof”, flags=0, pOpt=0x0) F {PPU[0x100000c] Thread (sp_job_server thread) [0x0051a848]} MEM: Access violation writing location 0x0 S {SPU[0x2000000] Thread (SP_LIB CellSpursKernel0)} SPU: SPU Database initialized... S {SPU[0x2000000] Thread (SP_LIB CellSpursKernel0)} SPU: Function detected [0x00818-0x0084c] (size=0x34) S {SPU[0x2000000] Thread (SP_LIB CellSpursKernel0)} SPU: SPU Recompiler (ASMJIT) created... S {SPU[0x2000000] Thread (SP_LIB CellSpursKernel0)} SPU: Function detected [0x006c0-0x00818] (size=0x158) S {SPU[0x2000000] Thread (SP_LIB CellSpursKernel0)} SPU: Function detected [0x00a00-0x01230] (size=0x830) S {SPU[0x2000002] Thread (SP_LIB CellSpursKernel2)} SPU: Function detected [0x01230-0x01470] (size=0x240)

Zangetsu38 commented 7 years ago

Initial D

F {PPU[0x1000000] Thread (main_thread) [0x00010230]} class std::runtime_error thrown: Null function (in file ..\Utilities\JIT.cpp:77)

Megamouse commented 7 years ago

Ninja Gaiden 3 [BLUS31175]

F {PPU[0x1000000] Thread (main_thread) [0x0001022c]} class std::runtime_error thrown: Unregistered PPU function [0x0001022c]

Zangetsu38 commented 7 years ago

resistance Fall of man

F {PPU[0x1000000] Thread (main_thread) [0x00010280]} class std::runtime_error thrown: Unregistered PPU function [0x00010280]

woody2014 commented 7 years ago

[NPUB30849]Zombie Tycoon 2 [NPEB00414]Putty Squad [NPUB30523]Far Cry 2

Nekotekina commented 7 years ago

Need to update issue

Megamouse commented 7 years ago

Ninja Gaiden 3 [BLUS31175] now throws:

F {PPU[0x1000000] Thread (main_thread) [0x0001022c]} MEM: Access violation reading location 0x0

Lair [BCUS98112] :

F {PPU[0x1000000] Thread (main_thread) [0x0076055c]} class std::runtime_error thrown: Null function (in file C:\rpcs3\Utilities\JIT.cpp:77)

Ni No Kuni [BLES01555]

F {PPU[0x100000d] Thread (LoadSprxThread) [0x003aab38]} MEM: Access violation writing location 0x10 F {PPU[0x100000d] Thread (LoadSprxThread) [0x01789be4]} MEM: Access violation writing location 0x10

EyeCreate [NPEA00022] :

F {PPU[0x1000000] Thread (main_thread) [0x00010230]} MEM: Access violation reading location 0x0

E: Malicious [NPUA80797] , Yakuza 5 [NPUB31658] , rain [NPEA00394] , Dragons Crown [BLUS30767] , Puppeteer [BCES00935] , White Knight Chronicles [BCES00225] , White Knight Chronicles 2 [BCES01085]:

F {PPU[0x1000000] Thread (main_thread)} class std::runtime_error thrown: libfiber.sprx is not compatible with PPU LLVM Recompiler.

twdarkeh commented 7 years ago

Lost Dimension [BLUS31554]:

F {PPU[0x1000000] Thread (main_thread) [0x0026d76c]} MEM: Access violation reading location 0xc

With Master: F {PPU[0x1000000] Thread (main_thread)} class std::runtime_error thrown: libfiber.sprx is not compatible with PPU LLVM Recompiler.

So yea, it uses that.

digitaldude555 commented 7 years ago

@raven02 @Nekotekina Retesting games.

Initial D Extreme Stage - [BLJM60055]

F {PPU[0x1000000] Thread (main_thread) [0x00010230]} class std::runtime_error thrown: Null function (in file C:\rpcs3\Utilities\JIT.cpp:77)

Persona 5 [NPEB02436]

F {PPU[0x1000000] Thread (main_thread)} class std::runtime_error thrown: libfiber.sprx is not compatible with PPU LLVM Recompiler.

Dragon Ball Z Burst Limit [BLUS30117]

Black screen with sound.

Dragon Ball Raging Blast [BLUS30431]

F {PPU[0x1000000] Thread (main_thread)} class std::runtime_error thrown: libfiber.sprx is not compatible with PPU LLVM Recompiler.

GUILTY GEAR XX Λ CORE PLUS [NPUB30957]

F {PPU[0x1000000] Thread (main_thread)} class std::runtime_error thrown: libfiber.sprx is not compatible with PPU LLVM Recompiler.

J-Stars Victory VS Plus [BLES02136] F {PPU[0x1000000] Thread (main_thread)} class std::runtime_error thrown: libfiber.sprx is not compatible with PPU LLVM Recompiler.

Silent Hill Homecoming [BLES00460] F {PPU[0x1000000] Thread (main_thread) [0x00010230]} class std::runtime_error thrown: Null function (in file C:\rpcs3\Utilities\JIT.cpp:77)

Malicious [NPUA80797] F {PPU[0x1000000] Thread (main_thread)} class std::runtime_error thrown: libfiber.sprx is not compatible with PPU LLVM Recompiler.

Ninja Gaiden 3 [BLES01524] F {PPU[0x1000000] Thread (main_thread)} class std::runtime_error thrown: libfiber.sprx is not compatible with PPU LLVM Recompiler.

raven02 commented 7 years ago

Retested Daytona USA and House of Dead 3 , still the same issue .

Daytona USA - in-game flickering House of Dead 3 - stuck at 642/2000 on loading LLVM 19D058

raven02 commented 7 years ago

Demon's Souls [BLES00932] freezes 100% when exiting to main menu.

isshininu commented 7 years ago

Demon's Souls [BLES00932] freezes 100% when exiting to main menu.

A-ah, finally find a consolidated thread. It's not only freezes when exiting to main menu, but also it'll do it when trying fast travel to/from Nexus, and also after any in-game video (I mean, opening cinematic and intro video before tutorial level works just fine, but it was impossible to watch/skip normally video that runs after activating gates of Boletarian Palace, level 1-1).

Xcedf commented 7 years ago

Metal Gear Risisng and Bayonetta both rquire fiber to run even with interpreter F {PPU[0x1000000] Thread (main_thread)} class std::runtime_error thrown: libfiber.sprx is not compatible with PPU LLVM Recompiler.

M9k commented 7 years ago

Same with Persona 5 NPUB31848 with LLVM F {PPU[0x1000000] Thread (main_thread)} class std::runtime_error thrown: libfiber.sprx is not compatible with PPU LLVM Recompiler.

davoodinator commented 7 years ago

Dragon's crown BLUS30767

sound thread death @ end of tutorial. was working in march. i submitted a separate issue on here related to it.

2673

RPCS3 v0.0.2-3-f0f8f50 Alpha

F PPU: libfiber.sprx is not compatible with PPU LLVM Recompiler. Use PPU Interpreter.

aakh1361 commented 7 years ago

Resident Evil 5 [BLUS30491]

F PPU: libfiber.sprx is not compatible with PPU LLVM Recompiler. Use PPU Interpreter.

Masamune3210 commented 7 years ago

Oden Spear has the libfiber issue as well

isshininu commented 7 years ago

F {PPU[0x1000005] Thread (HighGraphics) [0x00d51fc0]} PPU: libfiber.sprx is not compatible with PPU LLVM Recompiler. Use PPU Interpreter.

Dark Souls I [BLES01765] now goes ingame! But have the same issue with LLVM recompiler.

davoodinator commented 7 years ago

Same problem with the npub version of dragon's crown

NPUB31235

aakh1361 commented 7 years ago

RPCS3 v0.0.2-5182-2845617 Alpha NASCAR '15 [NPUB91029]

Thread (main_thread) [0x01a10000]} class std::runtime_error thrown: Unregistered PPU function RPCS3.zip

Grima04 commented 7 years ago

RPCS3 v0.0.2-6-184ab65 Alpha

Red Dead Redemption [BLES00680] F {PPU[0x1000000] Thread (main_thread) [0x00db5418]} MEM: Access violation reading location 0x0 RPCS3.zip

Red Dead Redemption [BLES01294] F {PPU[0x1000000] Thread (main_thread) [0x00d2ec64]} MEM: Access violation reading location 0x0 RPCS3_2.zip

aakh1361 commented 7 years ago

RPCS3 v0.0.2-5211-d24ba0d Alpha

DEAD OR ALIVE 5 Ultimate [NPEB01786]

F {PPU[0x1000000] Thread (main_thread) [0x026e5000]} class std::runtime_error thrown: Unregistered PPU function RPCS3.zip

mikzoul commented 7 years ago

RPCS3 v0.0.2-3-b9ebf59

sword art online lost song [BLAS50790]

F {PPU[0x1000034] Thread (LoadResidentData) [0x009024a4]} MEM: Access violation writing location 0x78

stuck in loading screen. can you help me?

AniLeo commented 7 years ago

That's not a PPU LLVM issue, it happens on Interpreter as well. Gets stuck on a libnet/sys_net loop when on loading screen.