Rpcs3: PPU: LLVM recompiler issue

Created on 8 Jul 2016  ·  61Comments  ·  Source: RPCS3/rpcs3

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

  • The Awakened Fate: Ultimatum

Not fixed yet

  • Silent Hill: Homecoming - Null function
  • Initial D - Null function
  • DBZ - Burst Limit - black screen
  • Dragon Ball Raging Blast - access violation writing location 0x0
  • J-STARS Victory VS+ - access violation writing location 0x0
  • Daytona USA - in-game flickering
  • House of Dead 3 - stuck at 642/2000 on loading LLVM 19D058
  • Naruto: Ultimate Ninja Storm
  • Naruto Shippuden: Ultimate Ninja Storm 2
  • Naruto Shippuden: Ultimate Ninja Storm 3
  • Naruto Shippuden: Ultimate Ninja Storm Generations
CPU

All 61 comments

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

@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


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

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

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

Project Diva F

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

Update: added support for them in #1918

@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

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

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

@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

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

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.

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

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.

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

Test

[Daytona USA]
-Glitch and flickering textures on LLVM
Fotoszok.pl
PPU-Fast:
PPU-LLVM:

[78ecb115]
[Update LLVM logs]

Naruto: Ultimate Ninja Storm
Log:

Naruto Shippuden: Ultimate Ninja Storm Generations
Log:

Dragon Ball Z: Burst limit
Log:

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)

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

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

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

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]

LLVM DQB

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

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)

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)

Initial D

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

Ninja Gaiden 3 [BLUS31175]

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

resistance Fall of man

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

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

Need to update issue

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.

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.

@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.

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

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

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).

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.

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.

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.

Resident Evil 5 [BLUS30491]

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

Oden Spear has the libfiber issue as well

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.

Same problem with the npub version of dragon's crown

NPUB31235

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

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

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

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

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?

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.

Kamen Rider Battride War 2 Premium TV and Movie Sound Edition [BLJS10263]

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

No more heros paradise

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

JoJo's Bizzare Adventure All Star Battle (BLUS 31405) has no video (black screen) but audio works fine. If i try to load into a battle it crashes with:

F {PPU[0x1000000] Thread (main_thread) [0x0084ddf8]} MEM: Access violation writing location 0x2c0
RPCS3.zip

Dead Nation

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

S sys_process: Process finished
please some one fix this issue

In Soul Calibur 4 with PPU LLVM, there is only a black screen, while the FPS counter and audio works properly
In Soul Calibur II HD online get the below message
F PPU: libfiber.sprx is not compatible with PPU LLVM Recompiler. Use PPU Interpreter.

Grand Theft Auto IV BLUS30127

E {PPU[0x1000000] Thread (main_thread) [0x00988bf0]} PPU: Unregistered function called (LR=0xa15f78)
F {PPU[0x1000000] Thread (main_thread) [0x00988bf0]} MEM: Access violation writing location 0x402

LOG:
RPCS3_GTAIV_22-06-2017.zip

PPU Recompiler got a major overhaul, closing this because most games got fixed and we still haven't found a game that's still broken on it.

For issues with the updated Recompiler, open a new issue.

F {PPU[0x1000010] Thread (LoopSimulation) [0x000853e4]} MEM: Access violation reading location 0xa6a97e64 - Fight Night Round 4

F {PPU[0x1000000] Thread (main_thread) [0x005a7bc0]} MEM: Access violation reading location 0xc4
Tony Hawk's Proving Ground

Golden shovel award x2...

Was this page helpful?
0 / 5 - 0 ratings

Related issues

uaqlover picture uaqlover  ·  3Comments

Xcedf picture Xcedf  ·  3Comments

On1ko picture On1ko  ·  3Comments

AniLeo picture AniLeo  ·  3Comments

xddxd picture xddxd  ·  3Comments