http://bugs.winehq.org/show_bug.cgi?id=29431
Bug #: 29431 Summary: General Dsound crash in games Product: Wine Version: 1.3.35 Platform: x86-64 OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: directx-dsound AssignedTo: wine-bugs@winehq.org ReportedBy: xvachon@gmail.com Classification: Unclassified
I tried to play some games today (namely Might and Magic 7, Deathspank and TES4 : Oblivion), and all of them crash with the same backtrace related to Dsound. All these games were working very well on my computer before Wine 1.3.30.
=>0 0x7c58c255 DSOUND_RecalcVolPan+0xa5(volpan=0x67d3068) [/wine-git/dlls/dsound/mixer.c:58] in dsound (0x0032f194) 1 0x7c57b463 IDirectSoundBufferImpl_Create+0x382(device=0x67d2848, pdsb=0x32f2a8, dsbd=0x32f360) [/wine-git/dlls/dsound/buffer.c:1004] in dsound (0x0032f1e4) 2 0x7c584d9e DirectSoundDevice_CreateSoundBuffer+0x4ad(device=0x67d2848, dsbd=0x32f360, ppdsb=0x1e718dac, lpunk=(nil), from8=0x1) [/wine-git/dlls/dsound/dsound.c:1638] in dsound (0x0032f2c4) 3 0x7c585387 IDirectSound8_IDirectSound8_CreateSoundBuffer+0x96(iface=0x6808638, dsbd=0x32f360, ppdsb=0x1e718dac, lpunk=(nil)) [/wine-git/dlls/dsound/dsound.c:855] in dsound (0x0032f314)
Could this be a bug related to the MMdevAPI rewrite? Tagging Andrew.
http://bugs.winehq.org/show_bug.cgi?id=29431
Vitaliy Margolen vitaliy-bugzilla@kievinfo.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |regression
--- Comment #1 from Vitaliy Margolen vitaliy-bugzilla@kievinfo.com 2011-12-23 19:35:18 CST --- Please attach complete terminal output of the crash. And results of the regression testing.
http://bugs.winehq.org/show_bug.cgi?id=29431
--- Comment #2 from Xavier Vachon xvachon@gmail.com 2011-12-24 06:57:10 CST --- To make the regression testing easier, it would help to know at what release the dsound rewrite was done. Vitaliy, do you know?
http://bugs.winehq.org/show_bug.cgi?id=29431
--- Comment #3 from Xavier Vachon xvachon@gmail.com 2012-01-02 16:33:00 CST --- With some help from Jörg, I did some regression testing with wine 1.3.25 as the good version and the bad one being the latest git. I got bad results the entire way, so I wonder if the problem is related to my system and not wine. The wrong commit I get is :
b56dc9a6f7ca2948fcd56ba55fd4c91cd78f08ea is the first bad commit commit b56dc9a6f7ca2948fcd56ba55fd4c91cd78f08ea Author: Alexandre Julliard julliard@winehq.org Date: Tue Aug 2 15:51:55 2011 +0200
winecrt0: Remove the clsid parameter in __wine_(un)register_resources.
:040000 040000 aefbf65e5e39e494f3782ad5fe2e6f67a8942122 1f1a502694e6ffcff4dbe9751b1cd15ca0579d8a M dlls :040000 040000 b2bc931b94a3043f944421cf77736a1790f294af 0e392a200a086b41967ba43db3ea5be663f11d3f M include
I doubt that this is related to the problem.
With wine-1.3.25, I get this backtrace.
fixme:dsalsa:IDsDriverBufferImpl_SetVolumePan (0x17ec10,0x17c088): stub wine: Unhandled page fault on read access to 0xffffffff at address 0x7df8cfe3 (thread 0009), starting debugger... Unhandled exception: page fault on read access to 0xffffffff in 32-bit code (0x7df8cfe3).
Backtrace: =>0 0x7df8cfe3 DSOUND_RecalcVolPan+0xb3(volpan=0x17f194) [/wine-git/dlls/dsound/mixer.c:58] in dsound (0x00000000) 0x7df8cfe3 DSOUND_RecalcVolPan+0xb3 [/wine-git/dlls/dsound/mixer.c:58] in dsound: 58 volpan->dwTotalLeftAmpFactor = (ULONG) (pow(2.0, temp / 600.0) * 0xffff);
I use arch linux X64 with the latest git. I use the latest alsa software available (1.0.24) and the appropriate lib32 equivalents.
Any other testing ideas?
http://bugs.winehq.org/show_bug.cgi?id=29431
--- Comment #4 from Xavier Vachon xvachon@gmail.com 2012-01-09 11:34:54 CST --- Created attachment 38310 --> http://bugs.winehq.org/attachment.cgi?id=38310 Backtrace - Wine 1.3.36-172-gb00e703
I get the following backtrace in Wine 1.3.36-172-gb00e703, after Jörg's commits last week. Any new information?
http://bugs.winehq.org/show_bug.cgi?id=29431
Michael Stefaniuc mstefani@redhat.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |mstefani@redhat.com
--- Comment #5 from Michael Stefaniuc mstefani@redhat.com 2012-01-17 04:09:29 CST --- Do any of those games have a freely downloadable demo that exhibits the same crash?
http://bugs.winehq.org/show_bug.cgi?id=29431
--- Comment #6 from Xavier Vachon xvachon@gmail.com 2012-01-17 06:06:30 CST --- (In reply to comment #5)
Do any of those games have a freely downloadable demo that exhibits the same crash?
I get this crash with pretty much every game I tested that requires sound. Therefore any demo of any game could reproduce the crash. I also wrote to wine-users, to no avail unfortunately : http://forum.winehq.org/viewtopic.php?t=14478
http://bugs.winehq.org/show_bug.cgi?id=29431
Xavier Vachon xvachon@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #38310|0 |1 is obsolete| |
--- Comment #7 from Xavier Vachon xvachon@gmail.com 2012-01-17 06:18:30 CST --- Created attachment 38394 --> http://bugs.winehq.org/attachment.cgi?id=38394 Full debug log - wine-1.3.37-66-g6d391df
Here's a full debug log (instructions from http://wiki.winehq.org/Sound) in the latest git with Might and magic 7.
http://bugs.winehq.org/show_bug.cgi?id=29431
Andrew Eikum aeikum@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |aeikum@codeweavers.com
--- Comment #8 from Andrew Eikum aeikum@codeweavers.com 2012-01-19 09:54:51 CST --- I'm also getting this crash on Arch 64bit.
I found that holding back upgrades for these 3 packages "solved" the problem: lib32-gcc-libs gcc-libs-multilib gcc-multilib I kept them at version 4.6.2-1, and everything worked great. Upgrading beyond that caused this crash.
However, recent package upgrades have made this workaround impossible, as "gcc -m32" no longer produces valid binaries without upgrading those three. So I guess this can't be avoided any longer.
http://bugs.winehq.org/show_bug.cgi?id=29431
--- Comment #9 from Xavier Vachon xvachon@gmail.com 2012-01-19 10:03:43 CST --- (In reply to comment #8)
I'm also getting this crash on Arch 64bit.
I found that holding back upgrades for these 3 packages "solved" the problem: lib32-gcc-libs gcc-libs-multilib gcc-multilib I kept them at version 4.6.2-1, and everything worked great. Upgrading beyond that caused this crash.
However, recent package upgrades have made this workaround impossible, as "gcc -m32" no longer produces valid binaries without upgrading those three. So I guess this can't be avoided any longer.
So, is this an Arch bug or a Wine bug?
http://bugs.winehq.org/show_bug.cgi?id=29431
--- Comment #10 from Andrew Eikum aeikum@codeweavers.com 2012-01-19 10:28:59 CST --- Don't know yet. Could be dsound is doing something bad and these packages expose it, or it could be the packages that are broken. Downgrading the packages to these versions and rebuilding dsound fixes it again:
binutils-multilib 2.22-4 gcc-libs-multilib 4.6.2-1 gcc-multilib 4.6.2-1 lib32-gcc-libs 4.6.2-1 lib32-glib2 2.30.2-1 libtool-multilib 2.4.2-2
http://bugs.winehq.org/show_bug.cgi?id=29431
--- Comment #11 from Xavier Vachon xvachon@gmail.com 2012-01-19 10:31:24 CST --- (In reply to comment #10)
Don't know yet. Could be dsound is doing something bad and these packages expose it, or it could be the packages that are broken. Downgrading the packages to these versions and rebuilding dsound fixes it again:
binutils-multilib 2.22-4 gcc-libs-multilib 4.6.2-1 gcc-multilib 4.6.2-1 lib32-gcc-libs 4.6.2-1 lib32-glib2 2.30.2-1 libtool-multilib 2.4.2-2
Allright. Thanks for the workaround, I will try it tonight. Let me know if you need to test anything new at some point.
http://bugs.winehq.org/show_bug.cgi?id=29431
--- Comment #12 from Xavier Vachon xvachon@gmail.com 2012-01-19 12:22:23 CST --- I filled a bug report on Arch to generate ideas on their side too : https://bugs.archlinux.org/task/28002
http://bugs.winehq.org/show_bug.cgi?id=29431
Jari Vetoniemi mailRoxas@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |mailRoxas@gmail.com
--- Comment #13 from Jari Vetoniemi mailRoxas@gmail.com 2012-01-24 01:59:53 CST --- I posted at thread: http://forum.winehq.org/viewtopic.php?t=14478
Saying that !buildflags fixes this, however this is misinformation. It seems like the build I produced then just worked for some other reason, I'm not yet sure of.
I did make clean this week and tried to build again and I get the same issue again. The work around posted here worked until latest gcc and kernel upgrades which break 32 bit binaries unless you upgrade multilib gcc and it's depencies which break wine again.
Would be great to get better idea if this is Wine or Arch packaging issue.
http://bugs.winehq.org/show_bug.cgi?id=29431
--- Comment #14 from Andrew Eikum aeikum@codeweavers.com 2012-01-26 15:34:51 CST --- It's definitely related to SSE optimizations. If you tweak CFLAGS to contain "-mfpmath=387" and rebuild dsound the crash goes away, even with all the latest packages.
http://bugs.winehq.org/show_bug.cgi?id=29431
--- Comment #15 from Xavier Vachon xvachon@gmail.com 2012-01-27 15:44:13 CST --- (In reply to comment #14)
It's definitely related to SSE optimizations. If you tweak CFLAGS to contain "-mfpmath=387" and rebuild dsound the crash goes away, even with all the latest packages.
Confirming, this worked for me. I reported it on the arch side.
Any idea if this is still related to issues in Dsound, or if it's clearly a bug in the arch packages?
http://bugs.winehq.org/show_bug.cgi?id=29431
Andrew Eikum aeikum@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution| |DUPLICATE
--- Comment #16 from Andrew Eikum aeikum@codeweavers.com 2012-02-06 10:56:17 CST --- Someone on the Arch bug pointed out that this is caused by the stack alignment problem from Wine Bug 22316 (see also https://bugs.archlinux.org/task/27560). Adding -mstackrealign to the dsound build flags fixes the problem, so it's pretty clearly the same bug.
To fix this in the meantime, make sure you build wine with -mstackrealign. See the Arch Linux PKGBUILD: http://projects.archlinux.org/svntogit/community.git/tree/trunk/PKGBUILD?h=packages/wine
*** This bug has been marked as a duplicate of bug 22316 ***
http://bugs.winehq.org/show_bug.cgi?id=29431
Jerome Leclanche adys.wh@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords|regression | CC| |adys.wh@gmail.com
http://bugs.winehq.org/show_bug.cgi?id=29431
Jerome Leclanche adys.wh@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #17 from Jerome Leclanche adys.wh@gmail.com 2012-02-24 05:30:14 CST --- Closing
http://bugs.winehq.org/show_bug.cgi?id=29431
Sylvain Petreolle spetreolle@yahoo.fr changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |spetreolle@yahoo.fr
http://bugs.winehq.org/show_bug.cgi?id=29431
--- Comment #18 from Sylvain Petreolle spetreolle@yahoo.fr 2012-03-07 06:36:29 CST --- (In reply to comment #16)
Someone on the Arch bug pointed out that this is caused by the stack alignment problem from Wine Bug 22316 (see also https://bugs.archlinux.org/task/27560). Adding -mstackrealign to the dsound build flags fixes the problem, so it's pretty clearly the same bug.
To fix this in the meantime, make sure you build wine with -mstackrealign. See the Arch Linux PKGBUILD: http://projects.archlinux.org/svntogit/community.git/tree/trunk/PKGBUILD?h=packages/wine
*** This bug has been marked as a duplicate of bug 22316 ***
Is this part of a wiki / faq ? People building wine by hand won't be aware of this otherwise.