RPCS3 / rpcs3

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

[BLUS31437] - Diablo III Ultimate Evil Edition - Freezing issue, detailed tracelogs. #5593

Open keem85 opened 5 years ago

keem85 commented 5 years ago

So, Diablo III Ultimate Evil Edition crashes at completely random places with "Memory Access Violation" and also just plain freezes. At the very bottom you can see a number that keeps counting non-stop. This is happening whilst the freeze is active and game still on

-------------CRASHES------------------ First crash in Tristram after about five to ten minutes.

F {RSX [0x01d4060]} RSX: class std::runtime_error thrown: Invalid location (offset=0xddd6500, location=0xa)
(in file c:\projects\rpcs3\rpcs3\emu\rsx\rsxthread.cpp:101)

Second Crash During Crypts Level 1 happened after well above one hour.

E {PPU[0x1000011] Thread (ConsoleSaveLoad) [0x00017984]} cellSaveData: cellSaveDataUserAutoSave(version=1, userId=1, dirName=“BLUS31437-AUTOSAVE”, errDialog=0, setBuf=*0xd011fc88, funcStat=*0x10352b0, funcFile=*0x10352b8, container=0xffffffff, userdata=*0x320ada50)
S {RSX Decompiler Thread} RSX: New program compiled successfully x4
E {PPU[0x1000011] Thread (ConsoleSaveLoad) [0x00017984]} cellSaveData: cellSaveDataUserAutoSave(version=1, userId=1, dirName=“BLUS31437-AUTOSAVE”, errDialog=0, setBuf=*0xd011fc88, funcStat=*0x10352b0, funcFile=*0x10352b8, container=0xffffffff, userdata=*0x3218a740)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0x4 (arg=0x0)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0x8 (arg=0x3f800000)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0xc (arg=0x200a20)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0x10 (arg=0x43c00000)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0x14 (arg=0x43c00000)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0x18 (arg=0x0)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0x1c (arg=0x2015ff00)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0x20 (arg=0x0)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0x24 (arg=0x0)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0x28 (arg=0x0)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0x2c (arg=0x0)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0x30 (arg=0x0)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0x34 (arg=0x0)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0x38 (arg=0x0)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0x3c (arg=0x0)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0x40 (arg=0x0)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0x44 (arg=0x0)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0x48 (arg=0x0)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0x4c (arg=0x0)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0x54 (arg=0x0)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0x58 (arg=0x0)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0x5c (arg=0x0)
E {RSX [0x015fee0]} RSX: nv406e::semaphore_acquire has timed out. semaphore_address=0xC0000000
E {RSX [0x015fee0]} RSX: Invalid RSX method 0x70 (arg=0x42fecc00)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0x74 (arg=0x3fd60000)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0x78 (arg=0x41fd0000)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0x7c (arg=0x141efc)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0x80 (arg=0x1d2)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0x84 (arg=0x43ad2e46)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0x88 (arg=0x43fc1909)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0x8c (arg=0x418219c3)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0x90 (arg=0x3f3fffe4)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0x94 (arg=0x641efc)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0x98 (arg=0x81)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0x9c (arg=0xbd1effab)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0xa0 (arg=0x412569de)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0xa4 (arg=0xc28ec865)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0xa8 (arg=0x0)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0xac (arg=0x3228aaae)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0xb0 (arg=0x3f4df8de)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0xb4 (arg=0x3f18064c)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0xb8 (arg=0x0)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0xbc (arg=0x3cdcd9ae)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0xc0 (arg=0x4224a6ac)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0xc4 (arg=0x0)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0xc8 (arg=0x0)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0xcc (arg=0x3ddfa488)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0xd0 (arg=0x3d9f644b)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0xd4 (arg=0x3d5e6838)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0xd8 (arg=0x0)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0xdc (arg=0x3ea01bba)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0xe0 (arg=0x3e643880)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0xe4 (arg=0x3e1f3947)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0xe8 (arg=0x0)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0xec (arg=0x400445b9)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0xf0 (arg=0x3fd1f43d)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0xf4 (arg=0x3fa31e56)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0xf8 (arg=0x0)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0xfc (arg=0x20160000)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0x108 (arg=0x41840)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0x10c (arg=0x101000)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0x114 (arg=0xa9e4)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0x118 (arg=0x20160000)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0x11c (arg=0x841efc)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0x120 (arg=0xe1)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0x124 (arg=0x3d5fe03f)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0x128 (arg=0x406cd1d8)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0x12c (arg=0xc2987269)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0x130 (arg=0x0)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0x134 (arg=0x3e21aa9c)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0x138 (arg=0x3dd3496e)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0x13c (arg=0x3e6ce5b9)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0x144 (arg=0x3e377c89)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0x148 (arg=0x3dc5225d)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0x14c (arg=0x3e63766b)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0x150 (arg=0x42ec82f6)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0x154 (arg=0x3e080d1f)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0x158 (arg=0x3d9f9fdf)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0x15c (arg=0x3dd97c71)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0x160 (arg=0x0)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0x164 (arg=0x426b1450)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0x168 (arg=0xc21e7aa0)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0x16c (arg=0xc1ff51e8)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0x170 (arg=0x0)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0x174 (arg=0x3b643e76)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0x178 (arg=0x3b9ff355)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0x17c (arg=0x3bdc2818)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0x1bc (arg=0x33baaaac)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0x1c0 (arg=0x3386e6e7)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0x1c4 (arg=0x32e1e1e3)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0x1c8 (arg=0x3daff3b9)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0x1cc (arg=0x3ff573e5)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0x1d0 (arg=0x3f9572f3)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0x1d4 (arg=0x3ef573e5)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0x1d8 (arg=0x4148ee24)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0x1dc (arg=0x3e8a6305)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0x1e0 (arg=0x3e339085)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0x1e4 (arg=0x3d36aeeb)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0x1e8 (arg=0x0)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0x1ec (arg=0x426ef680)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0x1f0 (arg=0xc29cd3a4)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0x1f4 (arg=0xc27f1b00)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0x1f8 (arg=0x0)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0x1fc (arg=0x3b5b420d)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0x250 (arg=0x3c865f3d)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0x254 (arg=0x3e9074cb)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0x258 (arg=0x3f3ddb53)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0x25c (arg=0x40030add)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0x260 (arg=0x42c582f4)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0x264 (arg=0x3e4a49f7)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0x268 (arg=0x3e50c750)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0x26c (arg=0x3e3a269f)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0x270 (arg=0x0)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0x274 (arg=0x141efc)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0x278 (arg=0x1ce)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0x27c (arg=0x40a00000)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0x290 (arg=0x1cf)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0x294 (arg=0x0)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0x298 (arg=0x0)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0x29c (arg=0x0)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0x2a0 (arg=0x0)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0x2a4 (arg=0x141efc)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0x2a8 (arg=0x1d0)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0x2ac (arg=0x3f800000)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0x2b0 (arg=0x3f800000)
E {RSX [0x015fee0]} RSX: Invalid RSX method 0x2b4 (arg=0x3f800000)
E {RSX [0x1f800000]} RSX: FIFO error: possible desync event x413822 **(THIS ONE IS COUNTING UPWARDS NON-STOP)**

-------------SPECS------------------

RPCS3 version 7739
i7 8700k@4.8 on all cores
32gb ddr4 RAM 
1080TI
Win10x64Home

-------------SETTINGS------------------ These are my current settings. I've tried different SPU Threads, ASMJIT and LLVM, loop dettection etc. None of them have any impact on this freeze problem.

Core:
  PPU Decoder: Recompiler (LLVM)
  PPU Threads: 2
  PPU Debug: false
  Save LLVM logs: false
  Use LLVM CPU: ""
  Max LLVM Compile Threads: 0
  Enable thread scheduler: true
  Set DAZ and FTZ: false
  SPU Decoder: Recompiler (ASMJIT)
  Lower SPU thread priority: false
  SPU Debug: false
  Preferred SPU Threads: 1
  SPU delay penalty: 3
  SPU loop detection: false
  SPU Shared Runtime: true
  SPU Block Size: Safe
  Accurate GETLLAR: false
  Accurate PUTLLUC: false
  SPU Verification: true
  SPU Cache: true
  Enable TSX: Enabled
  Accurate xfloat: false
  Approximate xfloat: true
  Debug Console Mode: false
  Lib Loader: Load liblv2.sprx only
  Hook static functions: false
  Load libraries:
    []
  HLE lwmutex: false
VFS:
  $(EmulatorDir): ""
  /dev_hdd0/: $(EmulatorDir)dev_hdd0/
  /dev_hdd1/: $(EmulatorDir)dev_hdd1/
  /dev_flash/: $(EmulatorDir)dev_flash/
  /dev_usb000/: $(EmulatorDir)dev_usb000/
  /dev_bdvd/: ""
  /app_home/: ""
  Enable /host_root/: false
  Initialize Directories: true
  Limit disk cache size: false
  Disk cache maximum size (MB): 5120
Video:
  Renderer: Vulkan
  Resolution: 1280x720
  Aspect ratio: 16:9
  Frame limit: 60
  Write Color Buffers: false
  Write Depth Buffer: false
  Read Color Buffers: false
  Read Depth Buffer: false
  Log shader programs: false
  VSync: false
  Debug output: false
  Debug overlay: false
  Use Legacy OpenGL Buffers: false
  Use GPU texture scaling: true
  Stretch To Display Area: false
  Force High Precision Z buffer: false
  Strict Rendering Mode: false
  Disable ZCull Occlusion Queries: false
  Disable Vertex Cache: false
  Disable FIFO Reordering: false
  Enable Frame Skip: false
  Force CPU Blit: false
  Disable On-Disk Shader Cache: false
  Disable Vulkan Memory Allocator: false
  Use full RGB output range: true
  Disable Asynchronous Shader Compiler: false
  Strict Texture Flushing: false
  Consecutive Frames To Draw: 1
  Consecutive Frames To Skip: 1
  Resolution Scale: 200
  Anisotropic Filter Override: 2
  Minimum Scalable Dimension: 16
  Driver Recovery Timeout: 1000000
  D3D12:
    Adapter: ""
  Vulkan:
    Adapter: GeForce GTX 1080 Ti
    Force FIFO present mode: false
    Force primitive restart flag: false
  Performance Overlay:
    Enabled: false
    Detail level: High
    Metrics update interval (ms): 350
    Font size (px): 10
    Position: Top Left
    Font: n023055ms.ttf
    Horizontal Margin (px): 50
    Vertical Margin (px): 50
    Center Horizontally: false
    Center Vertically: false
    Opacity (%): 70
    Body Color (hex): "#FFE138FF"
    Body Background (hex): "#002339FF"
    Title Color (hex): "#F26C24FF"
    Title Background (hex): "#00000000"
  Shader Compilation Hint:
    Position X (px): 20
    Position Y (px): 690
  Shader Loading Dialog:
    Allow custom background: true
    Darkening effect strength: 30
    Blur effect strength: 0
Audio:
  Renderer: XAudio2
  Dump to file: false
  Convert to 16 bit: false
  Downmix to Stereo: true
  Start Threshold: 1
  Master Volume: 100
  Enable Buffering: true
  Desired Audio Buffer Duration: 100
  Sampling Period Multiplier: 100
  Enable Time Stretching: false
  Time Stretching Threshold: 75
  Buffer Count: 32
Input/Output:
  Keyboard: "Null"
  Mouse: Basic
  Pad: Keyboard
  Camera: "Null"
  Camera type: Unknown
  Move: "Null"
System:
  Language: English (US)
  Enter button assignment: Enter with cross
Net:
  Connection status: Disconnected
  IP address: 192.168.1.1
Miscellaneous:
  Automatically start games after boot: true
  Exit RPCS3 when process finishes: false
  Start games in fullscreen mode: true
  Show FPS counter in window title: true
  Show trophy popups: true
  Show shader compilation hint: true
  Use native user interface: true
  Port: 2345
Log: {}
MSuih commented 5 years ago

Diablo 3 suffers from desynchronization issues. The RSX errors are most telling; those are very likely not real RSX methods but instead are caused by emulator reading some garbage data and thinking that it is RSX code. The invalid location error is very likely to have same cause behind it; some other code corrupts f.ex. stack or memory and causes the emulator to access an invalid memory location.

The errors shown in log are red herrings and fixing them would just hide the actual bug. To properly fix them would involve analyzing the code to figure out where the application goes out of sync and then applying some kind of synchronization mechanism there.

keem85 commented 5 years ago

Interesting. Is there anything more the average Joe (me) can do to dig deeper? Or should I just let the devs take care of that?

MSuih commented 5 years ago

Synchronization issues are a nightmare to debug and aren't easy even for experienced developers. I woudn't recommend looking into it, you'll probably end up wasting a lot of time without any results to speak of.

keem85 commented 5 years ago

Actually, looking at my log it doesn't seem to be a memory error like it was before. Maybe something's changed in the recent rpcs3 updates.

jobs-git commented 5 years ago

You might want to look into previous git build and check which commit it started. At least it would give some clue to dev where this issue might have started.

ruthan commented 5 years ago

I think, that one clue is that only slower not TSX CPU its happens much more often - i have 8700K and 4770S and machine and on 8700K is much more stable..

blackman91 commented 5 years ago

It works now on xenia without crashes I think.

Crispy81 commented 5 years ago

All versions and editions, including xpacs, of Diablo 3 have MEM Access Violation errors, which cause the game to freeze and crash the emulator. If it wasn't for those, the game would be fully playable. I get full 60fps constantly, no graphical issues. Sound stutters and repeats, when the voice log books are collected and there's a lot of action on the screen.

Runs beautifully, until the MEM Access violation kicks in. Log attached.

RPCS3.zip

sonying commented 5 years ago

YA , random happen "MEM Access violation"

liberodark commented 5 years ago

Yes crash for me too

elad335 commented 4 years ago

Retest with rsx wake-up delay.

MSuih commented 4 years ago

Wakeup delay doesn't help, the crashes (or at least some of them) are caused by something else.

rhysalmira commented 4 years ago

Able to finish Diablo 3 ROS with V0.0.8-9381 with 12 hours playtime. I remebered having 2 or 3 crashes but apart from that, everything was fine.

Crispy81 commented 4 years ago

Able to finish Diable 3 ROS with V0.0.8-9381 with 12 hours playtime. I remebered having 2 or 3 crashes but apart from that, everything was fine.

I'll completely remove RPCS3 and install fresh .9381 build and test.

After about 10 minutes of play: F {PPU[0x1000000] Thread (main_thread) [0x00cc5188]} MEM: Access violation reading location 0x3cf00084. RPCS3.zip

rhysalmira commented 4 years ago

Able to finish Diable 3 ROS with V0.0.8-9381 with 12 hours playtime. I remebered having 2 or 3 crashes but apart from that, everything was fine.

I'll completely remove RPCS3 and install fresh .9381 build and test.

I was able to complete the game and was now in Adventure Mode for Bounties. I locked the game in 30fps to get read of annoying sound glitches. Start rpcs3 and boot the game When the game reaches to the title screen put rpcs3.exe in Realtime priority using task manager. It is running smoothly in 30fps, without any annoying sound crackle.

Crispy81 commented 4 years ago

Able to finish Diable 3 ROS with V0.0.8-9381 with 12 hours playtime. I remebered having 2 or 3 crashes but apart from that, everything was fine.

I'll completely remove RPCS3 and install fresh .9381 build and test.

I was able to complete the game and was now in Adventure Mode for Bounties. I locked the game in 30fps to get read of annoying sound glitches. Start rpcs3 and boot the game When the game reaches to the title screen put rpcs3.exe in Realtime priority using task manager. It is running smoothly in 30fps, without any annoying sound crackle.

Tried all those things, still get the MEM access violations. Tried all the settings for Driver Wake Up Delay, still get random freezing and access violations... Do any dev's know what's going on or is it some Blizz sorcery?

RainbowCookie32 commented 4 years ago

Just a friendly reminder that you can end up locking up your computer with Real-time priority, and that you shouldn't really use it. Use High if you really want to

rhysalmira commented 4 years ago

Just a friendly reminder that you can end up locking up your computer with Real-time priority, and that you shouldn't really use it. Use High if you really want to

Never happened to me. Been playing D3 at 30fps for two weeks now. Level 53 Female Wizard. I have BLUS31437 Diablo 3 ROS Ultimate Edition I have the following settings: PPU Decoder : LLVM Recompiler SPU Decoder : LLVM Recompiler Enabled Thread Scheduler Disabled Lower SPU Thread Priority Enabled SPU Loop Detection Enabled SPU Cache Disabled Accurate xfloat SPU Block Size : Safe Preferred SPU Threads : Auto

Renderer: Vulkan Graphics Device : GTX 1070 Aspect Ration : 16:9 Framelimit : 30 Anisotropic Filter: Auto Anti-Aliasing : Auto

Default Resolution : 1280x720 Resolution Scale : 100% Resolution Scale Threshold : 16x16

Only Vsync and Multithreaded RSX Enabled and all the rest are disabled in Additional Settings

Oh and my Firmware is 4.84

rhysalmira commented 4 years ago

15800604754865122648531734807570

RainbowCookie32 commented 4 years ago

Here's the thing with Realtime priority. If you assign it to a process, and that process pins the CPU to 100%, then the CPU will focus its full attention to it. Most other things will be left aside until the process is done using the CPU fully, and that includes things like user input.

It doesn't always happen, especially with higher thread count chips, but it can happen especially on RPCS3 with lower end CPUs, and you shouldn't really use it or recommend it in most cases.

rhysalmira commented 4 years ago

Here's the thing with Realtime priority. If you assign it to a process, and that process pins the CPU to 100%, then the CPU will focus its full attention to it. Most other things will be left aside until the process is done using the CPU fully, and that includes things like user input.

It doesn't always happen, especially with higher thread count chips, but it can happen especially on RPCS3 with lower end CPUs, and you shouldn't really use it or recommend it in most cases.

Point taken but like I said, haven't really happened to me. Highest CPU Usage for rpcs3 I have is around 60%. 15800621099382731931388092718318

I really like this game and I'm happy that rpcs3 is moving in the right direction. Hopefully by this year, it'll move to the playable section and we don't need to do all this modifications on settings and task manager priority.

Crispy81 commented 4 years ago

Just a friendly reminder that you can end up locking up your computer with Real-time priority, and that you shouldn't really use it. Use High if you really want to

Never happened to me. Been playing D3 at 30fps for two weeks now. Level 53 Female Wizard. I have BLUS31437 Diablo 3 ROS Ultimate Edition I have the following settings: PPU Decoder : LLVM Recompiler SPU Decoder : LLVM Recompiler Enabled Thread Scheduler Disabled Lower SPU Thread Priority Enabled SPU Loop Detection Enabled SPU Cache Disabled Accurate xfloat SPU Block Size : Safe Preferred SPU Threads : Auto

Renderer: Vulkan Graphics Device : GTX 1070 Aspect Ration : 16:9 Framelimit : 30 Anisotropic Filter: Auto Anti-Aliasing : Auto

Default Resolution : 1280x720 Resolution Scale : 100% Resolution Scale Threshold : 16x16

Only Vsync and Multithreaded RSX Enabled and all the rest are disabled in Additional Settings

Oh and my Firmware is 4.84

I tried these settings and got MEM Access violation in 5 seconds. I'm not sure what you're doing right and the rest of us doing wrong. You're the only one who seems to not be getting MEM access violations.

·F 0:10:06.620697 {PPU[0x1000000] Thread (main_thread) [0x00c8de30]} MEM: Access violation reading location 0xbc0e81d0 ·W 0:10:06.622862 {cellAudio Thread} cellAudio: Audio backend stopped unexpectedly, likely due to a buffer underrun

RainbowCookie32 commented 4 years ago

The game is just unstable currently. The amount of crashes vary between systems, and even of the same system it can be random. I can sometimes play for half an hour without crashes, and sometimes the game will just crash after 10 minutes.

rhysalmira commented 4 years ago

Well, i just played it now for 3 hours without any issue. Like I said, I've been playing it for two weeks on 9381. This is the second game I've finished using this version, 1st one is Tales of xillia.

Crispy81 commented 4 years ago

F {SPU[0x4000100] Thread (CellSpursKernel4) [0x05d88]} VM: Access violation writing location 0xffdead00 F {SPU[0x1000100] Thread (CellSpursKernel1) [0x05d88]} VM: Access violation writing location 0xffdead00 F {SPU[0x3000100] Thread (CellSpursKernel3) [0x05d88]} VM: Access violation writing location 0xffdead00

Tried all settings and combinations. Tried the driver wakeup delay slider. If it's not mem access violations, it's random freezing.

ruthan commented 4 years ago

Its still the same for long time - im testing this for year and half or something like that, non TSX version, or simply run game on slower CPU means much more freezes..

Example of freeze, right after game start. RPCS3.zip

solarmystic commented 4 years ago

Just a quick fyi, build v0.0.8-9726 #7582 has made this worse than before.

Right after you c;lear the autosave screen and the Diablo III ROS "Press any Button" screen to the continue screen, the game will freeze reliably at this screen with the following F {RSX [0x00676e0]} RSX: class std::runtime_error thrown: Allocation failed!

Capture

The last build (v0.0.8-9724) prior to this one at least allowed some form of gameplay (continue, heading into town, killing enemies etc) before the random freezes happen.

Logfile from worse build:- RPCS3.log

Logfile from v0.0.8-9724 before it got worse, loaded successfully into town:- RPCS3.log.gz

Specs:- Intel(R) Core(TM) i7-7700 CPU @ 3.60GHz | 8 Threads | 31.96 GiB RAM | TSC: 3.60GHz | AVX+ | TSX NVIDIA GTX 1070ti

jorge0993 commented 4 years ago

I can play with build (v0.0.9-9923) These are my current settings. slow but works.

Captura1 Captura2 Captura3

Crispy81 commented 4 years ago

Just a bit of an update, for those interested.

RPCS3 v0.0.13-11218-908b2703 Alpha | HEAD | Firmware version: 4.86 Intel(R) Core(TM) i7-8700K CPU @ 3.70GHz | 12 Threads | 31.93 GiB RAM | TSC: 3.696GHz | AVX+ | FMA3 | TSX-FA Operating system: Windows, Major: 10, Minor: 0, Build: 19041, Service Pack: none, Compatibility mode: 0 RSX: Found vulkan-compatible GPU: 'GeForce GTX 1070 Ti' running on driver 457.30.0.0

E {SPU[0x4000100] Thread (CellSpursKernel4) [0x05d88]} VM: Access violation writing location 0xffdead00 (unmapped memory) [type=u32] E {SPU[0x2000100] Thread (CellSpursKernel2) [0x05d88]} VM: Access violation writing location 0xffdead00 (unmapped memory) [type=u32] F {SPU[0x3000100] Thread (CellSpursKernel3) [0x04de8]} SIG: Thread terminated due to fatal error: Unknown STOP code: 0xa (Out_MBox=empty) (in file D:\a\1\s\rpcs3\Emu\Cell\SPUThread.cpp:4422)

bor888 commented 4 years ago

Regular Diablo III (NPUB31299)

RPCS3 v0.0.13-11333-2aa5c437 Alpha | HEAD | Firmware version: 4.86 AMD Ryzen 5 3600X 6-Core Processor | 12 Threads | 15.91 GiB RAM | TSC: 3.793GHz | AVX+ | FMA3 Operating system: Windows, Major: 10, Minor: 0, Build: 19042, Service Pack: none, Compatibility mode: 0 RSX: Found vulkan-compatible GPU: 'GeForce GTX 1060 6GB' running on driver 456.55.0.0

Tweaked some setting and made game almost playable (Accurate Cache Line Stores; Accurate PPU 128 Reservations=Always Enabled)

I get this purple error:

F 0:10:08.555408 {PPU[0x1000000] Thread (main_thread) [0x00ad64b4]} VM: Access violation reading location 0x3eb64e50 (unmapped memory) [type=u0]

RPCS3.log.gz

Areas that always crash are playable adding Accurate SPU DMA, getting to the next check point and disabling Accurate SPU DMA.

bor888 commented 3 years ago

Diablo III (NPUB31299)

RPCS3 v0.0.13-11336-13a0b887 Alpha | HEAD | Firmware version: 4.86 AMD Ryzen 5 3600X 6-Core Processor | 12 Threads | 15.91 GiB RAM | TSC: 3.793GHz | AVX+ | FMA3 Operating system: Windows, Major: 10, Minor: 0, Build: 19042, Service Pack: none, Compatibility mode: 0 RSX: Found vulkan-compatible GPU: 'GeForce GTX 1060 6GB' running on driver 456.55.0.0

purple error:

F {RSX [0x01047dc]} SIG: Thread terminated due to fatal error: [attrib buffer] Working buffer not big enough, buffer_length=67108864 allocated=915456 requested=4101505036 guard=4194304 largest_pool=79616 (in file D:\a\1\s\rpcs3\Emu\RSX\Common\ring_buffer_helper.h:91)

emulator crashed so i zipped log.

RPCS3.zip

bor888 commented 3 years ago

Diablo III (NPUB31299)

RPCS3 v0.0.13-11354-062c605e Alpha | HEAD | Firmware version: 4.86 AMD Ryzen 5 3600X 6-Core Processor | 12 Threads | 15.91 GiB RAM | TSC: 3.793GHz | AVX+ | FMA3 Operating system: Windows, Major: 10, Minor: 0, Build: 19042, Service Pack: none, Compatibility mode: 0 RSX: Found vulkan-compatible GPU: 'GeForce GTX 1060 6GB' running on driver 456.55.0.0

error:

F 0:09:27.906072 {RSX [0x009748c]} SIG: Thread terminated due to fatal error: Verification failed: (in file D:\a\1\s\rpcs3\Emu\RSX\RSXThread.cpp:1770)

emulator crashed.

RPCS3.zip

bor888 commented 3 years ago

Diablo III (NPUB31299)

RPCS3 v0.0.13-11395-bfe1a867 Alpha | HEAD | Firmware version: 4.86 AMD Ryzen 5 3600X 6-Core Processor | 12 Threads | 15.91 GiB RAM | TSC: 3.793GHz | AVX+ | FMA3 Operating system: Windows, Major: 10, Minor: 0, Build: 19042, Service Pack: none, Compatibility mode: 0 RSX: Found vulkan-compatible GPU: 'GeForce GTX 1060 6GB' running on driver 456.55.0.0

error:

E 0:00:41.029170 {SPU[0x4000100] Thread (CellSpursKernel4) [0x05ce8]} VM: Access violation writing location 0xffdead00 (unmapped memory) [type=u32]

I can reproduce error. I opened debugger and selected CellSpursKernel4. It is always same [00005ce8 7f 00 10 80: heqi lr,r33,0]:

dbg

RPCS3.zip

bor888 commented 3 years ago

Diablo III (NPUB31299)

RPCS3 v0.0.13-11444-e449111c Alpha | HEAD | Firmware version: 4.86 AMD Ryzen 5 3600X 6-Core Processor | 12 Threads | 15.91 GiB RAM | TSC: 3.793GHz | AVX+ | FMA3 Operating system: Windows, Major: 10, Minor: 0, Build: 19042, Service Pack: none, Compatibility mode: 0 RSX: Found vulkan-compatible GPU: 'GeForce GTX 1060 6GB' running on driver 456.55.0.0

F {SPU[0x5000100] Thread (CellSpursKernel5) [0x05d04]} SIG: Thread terminated due to fatal error: Unknown command (cmd=PUT, lsa=0xfc00, ea=0x80, tag=0x0, size=0x7600) (in file D:\a\1\s\rpcs3\Emu\Cell\SPUThread.cpp:3372[:22], in function process_mfc_cmd)

RPCS3.log.gz

bor888 commented 3 years ago

Diablo III (NPUB31299)

RPCS3 v0.0.13-11478-92e5bb88 Alpha | HEAD | Firmware version: 4.86 AMD Ryzen 5 3600X 6-Core Processor | 12 Threads | 15.91 GiB RAM | TSC: 3.793GHz | AVX+ | FMA3 Operating system: Windows, Major: 10, Minor: 0, Build: 19042, Service Pack: none, Compatibility mode: 0 RSX: Found vulkan-compatible GPU: 'GeForce GTX 1060 6GB' running on driver 456.55.0.0

E {RSX [0x41efb84]} RSX: FIFO error: possible desync event (last cmd = 0xca2ae33) E {RSX [0x00bb260]} RSX: Invalid NV4097_SET_INDEX_ARRAY_DMA value: 0x3e65aaf0 F {SPU[0x2000100] Thread (CellSpursKernel2) [0x0b3f0]} SIG: Thread terminated due to fatal error: Unknown STOP code: 0x3fff (op=0x3fff, Out_MBox=empty) (in file D:\a\1\s\rpcs3\Emu\Cell\SPUThread.cpp:4544[:22], in function stop_and_signal) E {SPU[0x1000100] Thread (CellSpursKernel1) [0x05ce8]} VM: Access violation writing location 0xffdead00 (unmapped memory) [type=u32]

RPCS3.log.gz

Crispy81 commented 3 years ago

RPCS3 v0.0.13-11478-92e5bb88 Alpha | HEAD | Firmware version: 4.86 Intel(R) Core(TM) i7-8700K CPU @ 3.70GHz | 12 Threads | 31.93 GiB RAM | TSC: 3.696GHz | AVX+ | FMA3 | TSX-FA Operating system: Windows, Major: 10, Minor: 0, Build: 19042, Service Pack: none, Compatibility mode: 0 RSX: Found vulkan-compatible GPU: 'GeForce GTX 1070 Ti' running on driver 460.89.0.0

E {RSX [0x002a960]} RSX: FIFO error: possible desync event (last cmd = 0x2000000d) F {PPU[0x1000000] Thread (main_thread) [0x000a8ec4]} VM: Access violation writing location 0xfada8c (read-only memory) [type=u8]

bor888 commented 3 years ago

Diablo III (NPUB31299)

RPCS3 v0.0.13-11498-5227e658 Alpha | HEAD | Firmware version: 4.86 AMD Ryzen 5 3600X 6-Core Processor | 12 Threads | 15.91 GiB RAM | TSC: 3.793GHz | AVX+ | FMA3 Operating system: Windows, Major: 10, Minor: 0, Build: 19042, Service Pack: none, Compatibility mode: 0 RSX: Found vulkan-compatible GPU: 'GeForce GTX 1060 6GB' running on driver 456.55.0.0

E {RSX [0x01b85a0]} RSX: Invalid RSX method 0x4c0 (arg=0x0, start=0x440, count=0x80, non-inc=false) E {RSX [0x0144580]} RSX: Invalid NV4097_SET_INDEX_ARRAY_DMA value: 0x41740 E {RSX [0x00f92c0]} RSX: FIFO error: possible desync event (last cmd = 0x24001f) E {RSX [0x0040000]} RSX: Invalid NV4097_SET_INDEX_ARRAY_DMA value: 0x41764 E {SPU[0x5000100] Thread (CellSpursKernel5) [0x05ce8]} VM: Access violation writing location 0xffdead00 (unmapped memory) [type=u32]

RPCS3.log.gz

bor888 commented 3 years ago

Diablo III (NPUB31299)

RPCS3 v0.0.14-11506-2b8eb8de Alpha | HEAD | Firmware version: 4.86 AMD Ryzen 5 3600X 6-Core Processor | 12 Threads | 15.91 GiB RAM | TSC: 3.793GHz | AVX+ | FMA3 Operating system: Windows, Major: 10, Minor: 0, Build: 19042, Service Pack: none, Compatibility mode: 0 RSX: Found vulkan-compatible GPU: 'GeForce GTX 1060 6GB' running on driver 456.55.0.0

Standing in one spot for few minutes without input:

E {RSX [0x008fdc0]} RSX: Invalid NV4097_SET_INDEX_ARRAY_DMA value: 0x1d2 E {RSX [0x01cbb20]} RSX: FIFO error: possible desync event (last cmd = 0x4e004f) E {RSX [0x00d9aa0]} RSX: FIFO error: possible desync event (last cmd = 0x60403ffc) E {RSX [0x1f800000]} RSX: FIFO error: possible desync event (last cmd = 0x3f800000) E {RSX [0x11a86898]} RSX: FIFO error: possible desync event (last cmd = 0x31a86898) E {RSX [0x01550e0]} RSX: FIFO error: possible desync event (last cmd = 0xf237020) E {RSX [0x00d8e00]} RSX: FIFO error: possible desync event (last cmd = 0x451d424c) E {RSX [0x01bb820]} RSX: FIFO error: possible desync event (last cmd = 0x5d005f) E {RSX [0x00fd100]} RSX: FIFO error: possible desync event (last cmd = 0x42bd6000) E {RSX [0x1f08d90c]} RSX: FIFO error: possible desync event (last cmd = 0x3f08d90e) E {RSX [0x1f800000]} RSX: FIFO error: possible desync event (last cmd = 0x3f800000) E {RSX [0x0181bc0]} RSX: Invalid RSX method 0x1000 (arg=0x41a10, start=0x1000, count=0x4, non-inc=false) E {RSX [0x0067e00]} RSX: FIFO error: possible desync event (last cmd = 0xf780ef00) E {RSX [0x000d4e0]} RSX: FIFO error: possible desync event (last cmd = 0x2f002f) E {RSX [0x0032180]} RSX: Invalid NV4097_SET_INDEX_ARRAY_DMA value: 0x60403ffc E {RSX [0x0048fa0]} RSX: FIFO error: possible desync event (last cmd = 0x186c083) E {RSX [0x00a9060]} RSX: FIFO error: possible desync event (last cmd = 0xe23002fc) E {RSX [0x00e75c0]} RSX: Invalid RSX method 0x65c0 (arg=0xc3134afc, start=0x65c0, count=0xf1, non-inc=true) E {RSX [0x1b7ffffc]} RSX: FIFO error: possible desync event (last cmd = 0xbb7ffffe) E {RSX [0x0200000]} RSX: FIFO error: possible desync event (last cmd = 0xd99628) E {RSX [0x0138b44]} RSX: FIFO error: possible desync event (last cmd = 0x1c47) E {RSX [0x0123d40]} RSX: FIFO error: possible desync event (last cmd = 0xbfa17c6d) E {RSX [0x0116060]} RSX: FIFO error: possible desync event (last cmd = 0x401f9c6c) E {RSX [0x0165dc0]} RSX: FIFO error: possible desync event (last cmd = 0x186c083)

RPCS3.log.gz

Asinin3 commented 3 years ago

Please, less spam. Thanks.

bor888 commented 3 years ago

So this is spam to you?

Asinin3 commented 3 years ago

Just use GitHub's edit feature. Won't need to have system specs listed a dozen times, and can just add any errors you think are relevant with logs.

MSuih commented 3 years ago

I know you're really enthusiastic about this game and want to do everything you can to make it playable, but these log files aren't useful. The synchronisation issue causing crashes is far too complex to figure out by just staring at a log file.

LightAcolyte commented 3 years ago

Works fine in single player, but in multi-player it will crash right at the start of Tristram.

lostinforever commented 2 years ago

I have the same issue with a ryzen 7 1700 with a rtx 2070s and an hp envy with 940m. I got it to LAN cross platform for a bit with both the ps3 freeze when going into a different cell. It lasted the usual 10 mins. The longest played single player was an hour then slowly faded to 10 mins. Wish i kept my logs but its possible to run around in tristram and maybe 1 cave before either the emu or the ps3 crashes or load loops.

lostinforever commented 2 years ago

I have the same issue with a ryzen 7 1700 with a rtx 2070s and an hp envy with 940m. I got it to LAN cross platform for a bit with both the ps3 freeze when going into a different cell. It lasted the usual 10 mins. The longest played single player was an hour then slowly faded to 10 mins. Wish i kept my logs but its possible to run around in tristram and maybe 1 cave before either the emu or the ps3 crashes or load loops.

PS I tried all these other fixes and some helped but some didnt do much.

tech2c commented 2 years ago

Freeze/crash still present with latest build using PPU LLVM. Seems to work ok if using PPU Interpreter, but FPS is poor.

RPCS3.log.gz

{PPU[0x1000000] Thread (main_thread) [0x00c9d200]} VM: Access violation reading location 0xbd9c00d0 (unmapped memory) [type=u0]

LightAcolyte commented 2 years ago

Still crashes like crazy in the area outside Tristram trying to play Multiplayer, even with PPU Interpreter, but FPS seems fine up until the crash.

elad335 commented 2 years ago

Retest with atomic RSX FIFO Accuracy.

tech2c commented 2 years ago

Retest with atomic RSX FIFO Accuracy.

Still freezes with atomic RSX FIFO Accuracy enabled.

{PPU[0x1000000] Thread (main_thread) [0x00c8de30]} VM: Access violation reading location 0xbf157680 (unmapped memory)

RPCS3.log.gz

trantien1997 commented 8 months ago

Hi Everyone After update new version, I encountered an error, when I play Diablo III, the rpcs3 will be crashed (after about 5-10 mins), this did not happen with previous version (rpcs3-v0.0.30-16162-df4fc947_win64). image image

Many thanks!