RPCS3 / rpcs3

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

Working buffer not big enough on several games with Vulkan #3343

Closed JohnGodgames closed 4 years ago

JohnGodgames commented 7 years ago

Tested by https://github.com/RPCS3/rpcs3/commit/818df50bb58f87489e28803dbcfe215b2290576f

Still pretty annoying.If someone get this error with other games, post them here.There are more for sure.

Apache Air Assault

F {rsx::thread} class std::runtime_error thrown: Working buffer not big enough, buffer_length=134217728 allocated=130088960 requested=4194304 guard=65536 largest_pool=4194304
(in file h:\rpcs3\rpcs3\emu\rsx\d3d12\../Common/ring_buffer_helper.h:74)

LOG

Aliens vs Predator

F {rsx::thread} class std::runtime_error thrown: Working buffer not big enough, buffer_length=268435456 allocated=3451648 requested=4294180888 guard=65536 largest_pool=452608
(in file h:\rpcs3\rpcs3\emu\rsx\d3d12\../Common/ring_buffer_helper.h:74)

LOG

Asinin3 commented 7 years ago

Red Dead Redemption ·F 0:01:36.419942 {rsx::thread} class std::runtime_error thrown: Working buffer not big enough, buffer_length=268435456 allocated=4519424 requested=4113265756 guard=65536 largest_pool=81920 (in file c:\rpcs3\rpcs3\emu\rsx\d3d12\../Common/ring_buffer_helper.h:74) Red_Dead_Redemption.log.zip

Ridge Racer 7 3D F {rsx::thread} class std::runtime_error thrown: Working buffer not big enough, buffer_length=268435456 allocated=330240 requested=4292870208 guard=65536 largest_pool=61440 (in file c:\rpcs3\rpcs3\emu\rsx\d3d12\../Common/ring_buffer_helper.h:74)

F {rsx::thread} class std::runtime_error thrown: Working buffer not big enough, buffer_length=268435456 allocated=377344 requested=4292870208 guard=65536 largest_pool=64256 (in file c:\rpcs3\rpcs3\emu\rsx\d3d12\../Common/ring_buffer_helper.h:74) RidgeRacer73D.log.gz

unk0wn-u53r commented 7 years ago

F {rsx::thread} class std::runtime_error thrown: Working buffer not big enough, buffer_length=268435456 allocated=3956992 requested=388503336 guard=4194304 largest_pool=294912 (in file c:\rpcs3\rpcs3\emu\rsx\d3d12../Common/ring_buffer_helper.h:74)

I use Vulkan in Red Dead Rdemption with RPCS3 from KD-11, v0.0.3-1030 System: i7-7700K @4,4GHz (AVX) 1x GTX 1070 (no OC) 16GB RAM 3000MHz CL15 Dual Kit (no OC)

scribam commented 6 years ago

It might be worth to test again with a recent build, kd-11 made a lot of improvements since October.

Asinin3 commented 6 years ago

Working buffer error still exists in Red Dead Redemption.

kd-11 commented 5 years ago

Retest with https://github.com/RPCS3/rpcs3/pull/5785. Some of the real memory issues should be resolved, unless the game is asking to draw negative values (when requested size is around 4GB it means we have an underflow).

KBouder commented 5 years ago

Don't know if this is related, but I got this error randomly in Sonic Unleashed, it's never happened to me before now and I've tested quite a lot with it.

F {RSX [0x00597b4]} RSX: class std::runtime_error thrown: [attrib buffer] Working buffer not big enough, buffer_length=402653184 allocated=2464000 requested=927286200 guard=4194304 largest_pool=3384576 (in file c:\projects\rpcs3\rpcs3\emu\rsx\common\ring_buffer_helper.h:78) ! {rsx::thread} Thread time: 692.890625s (2558.536241Gc); Faults: 0 [rsx:0, spu:0]; ! {RSX Decompiler Thread} Thread time: 2.187500s (22.077140Gc); Faults: 0 [rsx:0, spu:0]; W {cellAudio Thread} cellAudio: Audio backend stopped unexpectedly, likely due to a buffer underrun ! {VBlank Thread} Thread time: 0.000000s (5.238506Gc); Faults: 0 [rsx:0, spu:0];

Maybe that will mean something for you. This occurred in build 0.0.6-7972.

ghost commented 5 years ago

I've encountered this error several times while trying to beat the whole of Sonic Unleashed, the most recent time being near the end of Eggmanland.

F {RSX [0x0041fc4]} RSX: class std::runtime_error thrown: [attrib buffer] Working buffer not big enough, buffer_length=402653184 allocated=4840960 requested=3435897448 guard=4194304 largest_pool=3144192 (in file c:\projects\rpcs3\rpcs3\emu\rsx\common\ring_buffer_helper.h:78)

Relevant System Specs: CPU: i7 7700HQ GPU: GTX 1050 Ti Mobile (Driver version 419.67) OS: Windows 7 Ultimate x64

PS3 Firmware Version: 4.84 All RPCS3 settings with the exception of Resolution Scale were left on default.

Salzorian commented 5 years ago

Got this Error too.

Game: Dragon Quest Builders CPU: AMD 2600X GPU: 1080ti 430.26 OS: Ubuntu 18.04.2 - 4.18.0-25.26~18.04.1-generic 4.18.20

PS3 Firmware Version: 4.84 RPCS3 Version: rpcs3-v0.0.6-8314-43f919c0_linux64

F {RSX [0x015547c]} RSX: St13runtime_error thrown: [texture upload buffer] Working buffer not big enough, buffer_length=268435456 allocated=251657728 requested=16777224 guard=33554432 largest_pool=16777728 (in file ../rpcs3/Emu/RSX/VK/../Common/ring_buffer_helper.h:80)

KonscienceGit commented 5 years ago

Happening here too on Dragon Quest Builders

Game: Dragon Quest Builders RPCS3: 0.0.7-8677-53e7f6c5 Alpha Renderer: Vulkan Default graphisms/resolution

CPU: AMD Ryzen 5 2600 GPU: RTX 2070 8GB, drivers 436.02 OS: W10, up to date as of today

Notes: Happen after around 5 seconds in game, after (or still while) the scene loaded. Wasn't happening before, I'd say around january 2018 (with the latest version of RPCS3 at that time) but I can't be sure.

F {RSX [0x02eb224]} RSX: class std::runtime_error thrown: [texture upload buffer] Working buffer not big enough, buffer_length=268435456 allocated=251657728 requested=16777224 guard=33554432 largest_pool=16777728 (in file C:\projects\rpcs3\rpcs3\Emu\RSX\Common\ring_buffer_helper.h:80)

EDIT: Somhow resolved by reseting the configuration file of the game, can't reproduce the issue now.

Silanda commented 5 years ago

Assuming it's a related problem, I'm experiencing this with the first cutscene after the opening fight scene in Bayonetta.

F 0:01:30.895344 {RSX [0x0006c1c]} RSX: class std::runtime_error thrown: [attrib buffer] Working buffer not big enough, buffer_length=402653184 allocated=398084352 requested=2552520 guard=4194304 largest_pool=2614528 (in file I:\GitHub\rpcs3\rpcs3\Emu\RSX\Common\ring_buffer_helper.h:80)

Build: 0.0.7-9086-24fdd248

The problem seems to be alleviated by using Multithreaded RSX for some reason, though that possibly comes at the cost of unstable framerate in cutscenes. With Multithreaded RSX turned off, the framerate seems to be limited to rates that divide perfectly like double buffered VSync (60, 30, 20, 15, etc). It doesn't seem to hold to that with Multithreaded RSX turned on.

kd-11 commented 5 years ago

Test with https://github.com/RPCS3/rpcs3/pull/6972

queengooborg commented 4 years ago

Unfortunately I am still getting this issue in Sonic Unleashed randomly during gameplay:

{RSX [0x00870b4]} SIG: Thread terminated due to fatal error: [attrib buffer] Working buffer not big enough, buffer_length=201326592 allocated=37780736 requested=2208069360 guard=4194304 largest_pool=40707072 (in file d:\a\1\s\rpcs3\Emu\RSX\Common\ring_buffer_helper.h:91)

I'm running the latest RPCS3 build (0.0.9-10258-256c74de) with Vulkan rendering, Auto framelimit (had a crash when limited to 30 FPS), VSync, and Multithreaded RSX.
RPCS3_SonicUnleashed.log.zip

kd-11 commented 4 years ago

That is a separate issue, the game somehow ended up requesting 2.2GB in one attrib allocation. This is not possible and is therefore a bug in some other component.

queengooborg commented 4 years ago

Ah, gotcha! In that case, would you like me to open up a new issue?

kd-11 commented 4 years ago

Yes, although its likely just another desync issue causing corrupted commands to be sent for drawing.

max75025 commented 3 years ago

Thread terminated due to fatal error: [attrib buffer] Working buffer not big enough, buffer_length=67108864 allocated=26368 requested=1486356508 guard=4194304 largest_pool=72192 (in file D:\a\1\s\rpcs3\Emu\RSX\Common\ring_buffer_helper.h:92[:24], in function alloc) in game Shadow of collosus v1.01 rcps3 v0.0.16-12396-35a38067