http://bugs.winehq.org/show_bug.cgi?id=28337
Summary: The Polynomial v1.22 freezes after killing an enemy Product: Wine Version: 1.3.24 Platform: x86 OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: winegstreamer AssignedTo: wine-bugs@winehq.org ReportedBy: gyebro69@gmail.com CC: m.b.lankhorst@gmail.com Regression SHA1: 715921fea080187ec8a9513ab8b80c6e1c7ab636
Created an attachment (id=36315) --> (http://bugs.winehq.org/attachment.cgi?id=36315) plain terminal output
Description: The Polynomial is an indie space shooter with pretty nice visuals and music. The game worked flawlessly in Wine until the latest game update (v1.22 as of writing).
The problem: the game freezes when I kill an enemy.
The game utilizes Openal. Whether I use the built-in openal32.dll or the game supplied one (with override), the problem is there. The native Linux version of the game doesn't exhibit the problem. The demo version of the game is still at version 1.21, which is not affected.
I tracked down the problem to the following commit:
715921fea080187ec8a9513ab8b80c6e1c7ab636 is the first bad commit commit 715921fea080187ec8a9513ab8b80c6e1c7ab636 Author: Maarten Lankhorst m.b.lankhorst@gmail.com Date: Tue Jul 5 14:25:28 2011 +0200
winegstreamer: Fix setcaps call.
:040000 040000 a1a8a4663e247a9641323ca058d64ed7755b53f4 594e7d0771b4d7972c0e7a23334368e52a443739 M dlls
The patch can be reverted cleanly on the current, 1.3.28 version, and that fixed the issue.
Fedora 15 x86 Kernel 2.6.40.4-5.fc15.i686.PAE Alsa 1.0.24 Pulseaudio is not running Gstreamer-0.10.34 (plugins installed: base, bad-free, ffmpeg, ugly, good)
http://bugs.winehq.org/show_bug.cgi?id=28337
--- Comment #1 from GyB gyebro69@gmail.com 2011-09-10 09:37:18 CDT --- Created an attachment (id=36316) --> (http://bugs.winehq.org/attachment.cgi?id=36316) +tid,+quartz,+gstreamer debug log
http://bugs.winehq.org/show_bug.cgi?id=28337
GyB gyebro69@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |regression
http://bugs.winehq.org/show_bug.cgi?id=28337
--- Comment #2 from Maarten Lankhorst m.b.lankhorst@gmail.com 2011-09-10 09:46:03 CDT --- where in the log does it crash?
http://bugs.winehq.org/show_bug.cgi?id=28337
--- Comment #3 from GyB gyebro69@gmail.com 2011-09-10 09:48:40 CDT --- (In reply to comment #2)
where in the log does it crash?
from the line err:ole:CoGetClassObject class {187463a0-5bb7-11d3-acbe-0080c75e246e} not registered ...
http://bugs.winehq.org/show_bug.cgi?id=28337
--- Comment #4 from Maarten Lankhorst m.b.lankhorst@gmail.com 2011-09-10 10:58:40 CDT --- I don't see it crashing, I'd prefer a log with it actually crashing :p
http://bugs.winehq.org/show_bug.cgi?id=28337
--- Comment #5 from GyB gyebro69@gmail.com 2011-09-10 11:12:23 CDT --- (In reply to comment #4)
I don't see it crashing, I'd prefer a log with it actually crashing :p
I can't get the game to crash...it always hangs when the first enemy explodes. The screen freezes and spawn1.wav is the last audio file which I hear. The terminal output always ends with fixme:quartz:DSoundRender_UpdatePositions Underrun of data occurred! but nothing more is printed.
http://bugs.winehq.org/show_bug.cgi?id=28337
--- Comment #6 from Maarten Lankhorst m.b.lankhorst@gmail.com 2011-09-10 11:21:50 CDT --- Is it hanging before or after it completes?
http://bugs.winehq.org/show_bug.cgi?id=28337
--- Comment #7 from GyB gyebro69@gmail.com 2011-09-10 11:34:18 CDT --- (In reply to comment #6)
Is it hanging before or after it completes?
The audio file begins to play *after* the game became unresponsive (with ~0.5-1.0 second delay). I must rectify myself: it is chewer_death.wav which is playing last (after the game became unresponsive).
http://bugs.winehq.org/show_bug.cgi?id=28337
--- Comment #8 from GyB gyebro69@gmail.com 2011-09-10 11:51:53 CDT --- Now I tried the previous version of the game (v1.21) which is free from the problem.
Chewer_death.wav does exist in 1.21 and it is the same audio file (md5sum). The only difference is that chewer_death.wav is not playing in the former game version when an enemy explodes and Wine prints out only
err:ole:CoGetClassObject class {187463a0-5bb7-11d3-acbe-0080c75e246e} not registered err:ole:CoGetClassObject no class object {187463a0-5bb7-11d3-acbe-0080c75e246e} could be created for context 0x1
when that happens (enemy dies) and the game continues running fine.
http://bugs.winehq.org/show_bug.cgi?id=28337
--- Comment #9 from Maarten Lankhorst m.b.lankhorst@gmail.com 2011-09-10 11:53:37 CDT --- What type of file is it?
file -zsk file.wav
http://bugs.winehq.org/show_bug.cgi?id=28337
--- Comment #10 from GyB gyebro69@gmail.com 2011-09-10 11:55:06 CDT --- (In reply to comment #9)
What type of file is it?
file -zsk file.wav
chewer_death.wav: RIFF (little-endian) data, WAVE audio, Microsoft PCM, 16 bit, mono 48000 Hz
http://bugs.winehq.org/show_bug.cgi?id=28337
--- Comment #11 from GyB gyebro69@gmail.com 2011-09-10 14:02:53 CDT --- The developer of the game made the demo for v1.22 available on his website...the bad thing is that I can't reproduce the problem in the v1.22 demo so it seems to be a dead end. Both the non-Steam and Steam full versions exhibit the problem on my system.
http://bugs.winehq.org/show_bug.cgi?id=28337
--- Comment #12 from Maarten Lankhorst m.b.lankhorst@gmail.com 2011-09-13 06:30:13 CDT --- Can you get a bt all of it hanging?
http://bugs.winehq.org/show_bug.cgi?id=28337
--- Comment #13 from GyB gyebro69@gmail.com 2011-09-13 07:18:12 CDT --- Created an attachment (id=36354) --> (http://bugs.winehq.org/attachment.cgi?id=36354) bt_all log
Well...here it is. I'm afraid it won't help much. I stopped the debugger just _after_ the last audio file was played, but _before_ 'fixme:quartz:DSoundRender_UpdatePositions Underrun of data occurred!' appeared in the terminal.
With disabled winegstreamer.dll, the problem is non-existent, the game never freezes when an enemy dies (and audio is working as it should).
http://bugs.winehq.org/show_bug.cgi?id=28337
--- Comment #14 from Maarten Lankhorst m.b.lankhorst@gmail.com 2011-09-13 07:30:00 CDT --- Well it's not a regression, just gstreamer started kicking in when it should.
Can you update to latest wine and add a +tid,+quartz,+gstreamer,+strmbase,+strmbase_qc log?
http://bugs.winehq.org/show_bug.cgi?id=28337
--- Comment #15 from GyB gyebro69@gmail.com 2011-09-13 07:38:41 CDT --- Created an attachment (id=36356) --> (http://bugs.winehq.org/attachment.cgi?id=36356) +tid,+quartz,+gstreamer,+strmbase,+strmbase_qc debug log
The log was created in wine-1.3.28-86-g9b729bb. As far as I see, strmbase_qc is not producing any output.
http://bugs.winehq.org/show_bug.cgi?id=28337
--- Comment #16 from Maarten Lankhorst m.b.lankhorst@gmail.com 2011-09-13 07:48:15 CDT --- Created an attachment (id=36357) --> (http://bugs.winehq.org/attachment.cgi?id=36357) meh
Ah, looks like it's trying to connect the source .wav to some app specific filter, and wine is failing to do that, falling back to dsound renderer, which breaks the app.
Does this work?
http://bugs.winehq.org/show_bug.cgi?id=28337
--- Comment #17 from GyB gyebro69@gmail.com 2011-09-13 08:22:02 CDT --- (In reply to comment #16)
Created an attachment (id=36357)
--> (http://bugs.winehq.org/attachment.cgi?id=36357) [details]
meh
Ah, looks like it's trying to connect the source .wav to some app specific filter, and wine is failing to do that, falling back to dsound renderer, which breaks the app.
Does this work?
Yes, the patch worked marvellously...no more freezing.
http://bugs.winehq.org/show_bug.cgi?id=28337
GyB gyebro69@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution| |FIXED
--- Comment #18 from GyB gyebro69@gmail.com 2011-09-14 12:58:33 CDT --- The patch got in, fixed by http://source.winehq.org/git/wine.git/commit/6df92c11cabfd7d8c1289afe81442c7...
Thank you for taking time to fix this.
http://bugs.winehq.org/show_bug.cgi?id=28337
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #19 from Alexandre Julliard julliard@winehq.org 2011-09-23 12:59:33 CDT --- Closing bugs fixed in 1.3.29.
http://bugs.winehq.org/show_bug.cgi?id=28337
Vitaliy Margolen vitaliy-bugzilla@kievinfo.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |6df92c11cabfd7d8c1289afe814 | |42c7cb7669d03