hrydgard / ppsspp

A PSP emulator for Android, Windows, Mac and Linux, written in C++. Want to contribute? Join us on Discord at https://discord.gg/5NJB6dD or just send pull requests / issues. For discussion use the forums at forums.ppsspp.org.
https://www.ppsspp.org
Other
11.38k stars 2.19k forks source link

Game crashes when fast forwading FMVs on Linux #12401

Open Double-0-seven7 opened 5 years ago

Double-0-seven7 commented 5 years ago

What happens?

Game will crash if you fast forward using the Tab button when the game shows one of the FMVs (the game tested was GOW Chains Of Olympus). This only happen on the Vulkan renderer using the SDL version.

What should happen?

It should work fine and fast forward correctly.

What hardware, operating system, and PPSSPP version? On desktop, GPU matters for graphical issues.

OS: Linux KDE Neon. Version : 1.9.2 GPU : AMD GPU using the RADV driver. CPU : Intel i7.

5schatten commented 5 years ago

Same happens for me when I start to skip the intro of Castlevania.

02:17:489 readThread   I[ME]: HLE/sceMpeg.cpp:354 Stream offset: 2048, Stream size: 0xE01000
02:17:489 readThread   I[ME]: HLE/sceMpeg.cpp:355 First timestamp: 90000, Last timestamp: 9270171
02:17:499 readThread   I[ME]: HW/MediaEngine.cpp:86 FF: deprecated pixel format used, make sure you did set range correctly
free(): invalid size
Aborted

Kernel 5.3.5 Mesa 19.2.0 Vulkan 1.1.124 Intel IGP HD530 commit https://github.com/hrydgard/ppsspp/commit/0b17dd04e6f2be7c7d8d317aa718ee8b1d35c06a

Logfile: https://pastebin.com/kGFvcMrc

unknownbrackets commented 5 years ago

What's the last version that worked?

Does this happen even when using the same version of FFmpeg that Android and Windows builds are built against? FFmpeg regularly makes breaking changes to their API, so if you're using a newer version, it's more or less expected that there will be random crashes. I don't recommend using shared FFmpeg.

-[Unknown]

hrydgard commented 5 years ago

Given the timing this could be related to the texture scaling changes (#10393), although can't explain it if so...

Double-0-seven7 commented 5 years ago

What's the last version that worked?

Does this happen even when using the same version of FFmpeg that Android and Windows builds are built against? FFmpeg regularly makes breaking changes to their API, so if you're using a newer version, it's more or less expected that there will be random crashes. I don't recommend using shared FFmpeg.

-[Unknown]

But how does this explain why it crashes in Vulkan and not OpenGL? Seems like a problem with the Vulkan renderer.

5schatten commented 5 years ago

Once I switch to the OpenGL backend I can skip the intro without problems so I guess this is entangled to some Vulkan changes.

Double-0-seven7 commented 5 years ago

Seems like using OpenGL skips the intro if you fast forward it now that i notice it. So it could be another problem i guess.

unknownbrackets commented 4 years ago

Well, that supports the idea that it's related to the FFmpeg version. Also, if it's memory corruption, it could behave differently on Qt, SDL, or even different OS distros.

-[Unknown]