http://bugs.winehq.org/show_bug.cgi?id=31504
Bug #: 31504 Summary: Videos in Galactic Civilization 1 can crash game Product: Wine Version: 1.5.11 Platform: x86 OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: quartz AssignedTo: wine-bugs@winehq.org ReportedBy: maquis196@yahoo.co.uk Classification: Unclassified
Created attachment 41419 --> http://bugs.winehq.org/attachment.cgi?id=41419 Basic error log
Whilst playing Galactic Civilizations 1, the game has a tendency to crash after a video plays. It's seemingly random. You can trigger the same video on restart and the game will continue. Attached log shows console output.
http://bugs.winehq.org/show_bug.cgi?id=31504
--- Comment #1 from Christopher May maquis196@yahoo.co.uk 2012-08-19 06:33:50 CDT --- That log was my original game in 1.5.9, the exact same issue happens in 1.5.11. I'm trying to sort out a +all log now.
http://bugs.winehq.org/show_bug.cgi?id=31504
--- Comment #2 from Christopher May maquis196@yahoo.co.uk 2012-08-19 06:41:42 CDT --- Created attachment 41420 --> http://bugs.winehq.org/attachment.cgi?id=41420 +quartz,+strmbase,+gstreamer log for now (+all crashes game)
http://bugs.winehq.org/show_bug.cgi?id=31504
thanoulas thanoulas@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |thanoulas@gmail.com
http://bugs.winehq.org/show_bug.cgi?id=31504
--- Comment #3 from thanoulas thanoulas@gmail.com 2013-03-16 10:23:55 CDT --- I can confirm this with Ultimate edition and wine 1.5.26
http://bugs.winehq.org/show_bug.cgi?id=31504
Andrew Smart svor1988@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |svor1988@gmail.com
--- Comment #4 from Andrew Smart svor1988@gmail.com --- Confirmed with wine-1.7.15 I observed the same basic error log as Christopher May, specifically: fixme:quartz:parse_header Not a valid header: 00:00:00:00 GalCiv.exe: mpegsplit.c:691: MPEGSplitter_first_request: Assertion `hr == ((HRESULT)0)' failed.
However I don't see a relationship to crashing after a video plays as the bug title claims.
My impression is that an MPEG deployed with the game (the main repeating music) isn't perfect. So using winetricks I tried the native quartz dll, with great success (the ~90 second long main game music loops for ever and ever)! Though something still complains about zeroed out MPEG headers: "Warning: Big change (MPEG version, layer, rate). Frankenstein stream? Note: Illegal Audio-MPEG-Header 0x00000000 at offset 290064." http://pastebin.com/Riq79JVB
I also decided to try commenting out the relevant assertion in wine's quartz (MPEGSplitter_first_request function in ./dlls/quartz/mpegsplit.c:691) which led to different results than native quartz. The main music played great for about a minute, then got intermittently choppy, then stopped altogether (other game sounds work great I might add, adding credence to my hypothesis that the main game music occasionally has a bad header or is otherwise imperfect). No crash since the assertion was disabled, and the normal error handling took over. Here is a snipped of the output: "fixme:quartz:parse_header Not a valid header: 00:00:00:00" http://pastebin.com/fqa8qd8c (I think the fixme:quartz:parse_headers were frequently printed while the song was intermittently playing, then the later messages printed every minute or so after the song stopped altogether).
So if anyone wants to work on replicating the native quartz's error handling into wine's quartz this might be a good use case! Or just get rid of that assertion? (Game will work without the assertion but the main song will die agonizingly, which can be considered a blessing due to it's repetitiveness)
http://bugs.winehq.org/show_bug.cgi?id=31504
--- Comment #5 from Andrew Smart svor1988@gmail.com --- This line: https://github.com/mirrors/wine/blob/master/dlls/quartz/mpegsplit.c#L691 So if you want to play the game, comment that assertion out and rebuild wine. Or use winetricks to get the native quartz.
https://bugs.winehq.org/show_bug.cgi?id=31504
Rafał Mużyło galtgendo@o2.pl changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |galtgendo@o2.pl
https://bugs.winehq.org/show_bug.cgi?id=31504
Andrew Eikum aeikum@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |aeikum@codeweavers.com
https://bugs.winehq.org/show_bug.cgi?id=31504
--- Comment #6 from Bruno Jesus 00cpxxx@gmail.com --- I can't reproduce this with the GOG game version in wine 1.7.51. The main theme loops and loops forever.
https://bugs.winehq.org/show_bug.cgi?id=31504
--- Comment #7 from Rafał Mużyło galtgendo@o2.pl --- (In reply to Bruno Jesus from comment #6)
I can't reproduce this with the GOG game version in wine 1.7.51. The main theme loops and loops forever.
Chances are the trigger is far more specific than the reporter thought - probably only a very specific subset of music files triggers this problem.
After all, most mp3 files played using this specific method playback correctly in wine.
https://bugs.winehq.org/show_bug.cgi?id=31504
joaopa jeremielapuree@yahoo.fr changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |jeremielapuree@yahoo.fr
--- Comment #8 from joaopa jeremielapuree@yahoo.fr --- Does the bug still occur with wine-5.10?
https://bugs.winehq.org/show_bug.cgi?id=31504
--- Comment #9 from Christopher May-Townsend chris@maytownsend.co.uk --- Created attachment 67377 --> https://bugs.winehq.org/attachment.cgi?id=67377 galciv1 5.10vanilla error
Game crashed after selecting AI difficulty settings, attached is the basic console output, on 5.10 vanilla.
https://bugs.winehq.org/show_bug.cgi?id=31504
--- Comment #10 from joaopa jeremielapuree@yahoo.fr --- Can you test again, since you installed more libraries for gstreamer?
https://bugs.winehq.org/show_bug.cgi?id=31504
--- Comment #11 from Christopher May-Townsend chris@maytownsend.co.uk --- reinstalled on a win32 prefix, game no longer crashing after videos, just randomly now, same error as before;
ENDSBMOD0024:err:gstreamer:gstdecoder_init_gst Failed to query duration. 011c:fixme:quartz:DSoundRender_UpdatePositions Underrun of data occurred! 0024:fixme:bitmap:CreateBitmapIndirect planes = 0 wine: Unhandled page fault on write access to 000000D2 at address 005CBF0B (thread 0024), starting debugger...
https://bugs.winehq.org/show_bug.cgi?id=31504
--- Comment #12 from Rafał Mużyło galtgendo@o2.pl --- ...so, it's been awhile and I'm not sure if this is that game, but I recall that in some game the problem was that one of the files fed as mp3 actually wasn't - it was just a blob of zeroes.
Seems like in Windows that just led to a silent skip, but in wine was a problem.