https://bugs.winehq.org/show_bug.cgi?id=52268
Bug ID: 52268 Summary: In some games repeated gstreamer usage leads to allocation failure segmentation fault. Product: Wine Version: 7.0-rc2 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: minor Priority: P2 Component: quartz Assignee: wine-bugs@winehq.org Reporter: billfleming11@gmail.com Distribution: ---
In some games videos will work fine in modern wine releases but after playing multiple videos in a single game session the following error will be observed (coming from gstreamer?) then the game will segfault:
(wine:1987648): GLib-ERROR **: 11:01:31.864: ../glib/glib/gmem.c:112: failed to allocate 3145099 bytes
In one simple example launching the Trails to Zero game (after beating it to unlock the movie viewer) you can launch straight into the movie viewer and watch a short 5 second video. Then repeat until the game crashes. In this case the video file is only about 4.6MB.
On the first play as observed in some task viewer the game's memory usage will climb to about 0.8GB. Then on second play the game's memory will climb to about 0.9GB. On the third time playing the movie the first few frames will show then the game crashes at about 1.0GB.
Added attachment from almost latest builds from about yesterday. Both normal build and tkg build since it uses different gcc/mingw. It seems that building wine using tkg's scripts with his "mostlyportable-gcc" 11.2.1 doesn't make a difference on the crash. Also tried lib32-glibc-force-mmap but that didn't make a difference either. 32-bit prefix used here. ~20GB system RAM still available.
May not be our bug but going to report since maybe other games have similar crashing issues that could prevent them from being fully playable if they crash after x number of videos. This game is only fully playable if you save, quit, and re-open the game after it plays certain cutscenes, as it might crash on the next cutscene if you don't restart the game.
Note that in the games that have these video crashes I think it has always crashed in wine so it isn't necessarily a regression. At least I'm not going to take to the time to dig up 1+ year old wine to prove its a regression unless someone tells me an old log file would be useful.
Attachment is WINEDEBUG=+quartz,+gstreamer GST_DEBUG=6