https://bugs.winehq.org/show_bug.cgi?id=39591
Bug ID: 39591 Summary: Crimzon Clover: Page fault on launch (regression) Product: Wine Version: 1.7.54 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: winehq@iooioio.orion.uberspace.de Distribution: Debian
Created attachment 52757 --> https://bugs.winehq.org/attachment.cgi?id=52757 Console output
When launching "Crimzon Clover: World Ignition" it immediately crashes due to a page fault. I am testing the GOG.com version (2.0.0.1).
Interestingly this does not happen with Wine 1.6.2.
I am attaching the console output and a backtrace.
--
Some additional info about my system (just in case):
Distro: Linux Mint 17.2 (64 bit) Kernel: 3.19.0-26-generic Graphics: Proprietary NVIDIA 352.55
https://bugs.winehq.org/show_bug.cgi?id=39591
Josh winehq@iooioio.orion.uberspace.de changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |regression CC| |winehq@iooioio.orion.ubersp | |ace.de Summary|Crimzon Clover: Page fault |Crimzon Clover: Page fault |on launch (regression) |on launch
https://bugs.winehq.org/show_bug.cgi?id=39591
--- Comment #1 from Josh winehq@iooioio.orion.uberspace.de --- Created attachment 52758 --> https://bugs.winehq.org/attachment.cgi?id=52758 backtrace
https://bugs.winehq.org/show_bug.cgi?id=39591
Josh winehq@iooioio.orion.uberspace.de changed:
What |Removed |Added ---------------------------------------------------------------------------- Distribution|Debian |Ubuntu
https://bugs.winehq.org/show_bug.cgi?id=39591
--- Comment #2 from Austin English austinenglish@gmail.com --- Please run a regression test: http://wiki.winehq.org/RegressionTesting
https://bugs.winehq.org/show_bug.cgi?id=39591
Nikolay Sivov bunglehead@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |aeikum@codeweavers.com
--- Comment #3 from Nikolay Sivov bunglehead@gmail.com --- This looks like xaudio thing:
--- err:ole:CoGetClassObject class {5a508685-a254-4fba-9b82-9a24b00306af} not registered err:ole:CoGetClassObject no class object {5a508685-a254-4fba-9b82-9a24b00306af} could be created for context 0x1 ---
that was supposed to be fixed already. Maybe you need to retest from the scratch/clean wineprefix to get this registered properly. Andrew, any idea?
https://bugs.winehq.org/show_bug.cgi?id=39591
--- Comment #4 from Andrew Eikum aeikum@codeweavers.com --- I'm not very familiar with Wine's registration code, but in my experience the DLLs to register themselves even in an existing wineprefix. Recreating the wineprefix may fix this issue, but there is a different issue with Wine's xaudio2 that can lead to crashes (Bug 39402).
Installing native xaudio2 using "winetricks xact" should work around this issue.
https://bugs.winehq.org/show_bug.cgi?id=39591
--- Comment #5 from Josh winehq@iooioio.orion.uberspace.de --- Thanks for your input. I wanted to try the suggested workaround but "winetricks xact" currently fails for me on a new wineprefix with the following final lines:
Executing wine regsvr32 xaudio2_7 regsvr32: Failed to load DLL 'xaudio2_7' ------------------------------------------------------ Note: command 'wine regsvr32 xaudio2_7' returned status 3. Aborting.
https://bugs.winehq.org/show_bug.cgi?id=39591
--- Comment #6 from Andrew Eikum aeikum@codeweavers.com --- I'm not able to reproduce that problem with winetricks.
What version of Wine are you using? Are you building it yourself, or using your OS's package manager?
https://bugs.winehq.org/show_bug.cgi?id=39591
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |austinenglish@gmail.com
--- Comment #7 from Austin English austinenglish@gmail.com --- (In reply to Andrew Eikum from comment #6)
I'm not able to reproduce that problem with winetricks.
What version of Wine are you using? Are you building it yourself, or using your OS's package manager?
Also, what winetricks version?
https://bugs.winehq.org/show_bug.cgi?id=39591
--- Comment #8 from Josh winehq@iooioio.orion.uberspace.de --- I am running winetricks version 20151110.
I use PlayOnLinux for obtaining various versions of Wine and then use my own shell scripts (which basically just set a bunch of environment variables to ensure I can run a specific version of Wine) to run stuff. I don't know where the PoL sources come from though.
https://bugs.winehq.org/show_bug.cgi?id=39591
--- Comment #9 from Josh winehq@iooioio.orion.uberspace.de --- Just to be sure we are on the same page here: All of this is with a 64bit version of wine and wine-prefix.
https://bugs.winehq.org/show_bug.cgi?id=39591
--- Comment #10 from Andrew Eikum aeikum@codeweavers.com --- I just tested "winetricks xact" with latest wine-git in a 64-bit prefix, and that worked as well. What does "wine --version" tell you? Does POL provide a mechanism for installing xact?
https://bugs.winehq.org/show_bug.cgi?id=39591
--- Comment #11 from Josh winehq@iooioio.orion.uberspace.de --- I have not tried the latest wine from git (too lazy to compile).
My output from "wine --version" is "wine-1.7.54" (though I have also tried Wine 1.7.55 on a fresh wineprefix) but I still cannot successfully install xact via winetricks (20151110).
I will attach a full winetricks log.
https://bugs.winehq.org/show_bug.cgi?id=39591
--- Comment #12 from Josh winehq@iooioio.orion.uberspace.de --- Created attachment 52818 --> https://bugs.winehq.org/attachment.cgi?id=52818 Console output of "winetricks xact"
https://bugs.winehq.org/show_bug.cgi?id=39591
--- Comment #13 from Josh winehq@iooioio.orion.uberspace.de --- (In reply to Andrew Eikum from comment #10)
Does POL provide a mechanism for installing xact?
I forgot to reply to this in my last comment.
There is a mechanism. I don't normally use PoL (except for downloading wine) but I tried installing xact with it for testing purposes. However it silently failed every time (the install window just disappeared).
https://bugs.winehq.org/show_bug.cgi?id=39591
--- Comment #14 from Austin English austinenglish@gmail.com --- (In reply to Josh from comment #12)
Created attachment 52818 [details] Console output of "winetricks xact"
You're using a 64-bit prefix, did you try with a 32-bit prefix?
It looks like xaudio2_7 registers if it's 32-bit, but not 64-bit.
https://bugs.winehq.org/show_bug.cgi?id=39591
--- Comment #15 from Josh winehq@iooioio.orion.uberspace.de --- I have not tried a 32bit prefix. I can, however, confirm that the game runs flawlessly (as far as I can tell) with Wine 1.6.2 in a 64 bit prefix.
So to some up what we know here:
* The crash described in this ticket didn't occur in an older version of Wine. * Since then, there have been changes to the xaudio-related code, which may have introduced the bug we are talking about. * It should be possible to work around the bug via winetricks but that doesn't play well with a 64bit wineprefix.
Would it help you track this down if I try everything in a 32bit prefix?
https://bugs.winehq.org/show_bug.cgi?id=39591
--- Comment #16 from Austin English austinenglish@gmail.com --- (In reply to Josh from comment #15)
I have not tried a 32bit prefix. I can, however, confirm that the game runs flawlessly (as far as I can tell) with Wine 1.6.2 in a 64 bit prefix.
So to some up what we know here:
- The crash described in this ticket didn't occur in an older version of
Wine.
- Since then, there have been changes to the xaudio-related code, which may
have introduced the bug we are talking about.
- It should be possible to work around the bug via winetricks but that
doesn't play well with a 64bit wineprefix.
Would it help you track this down if I try everything in a 32bit prefix?
Yes, it would help verify my theory.
https://bugs.winehq.org/show_bug.cgi?id=39591
--- Comment #17 from Josh winehq@iooioio.orion.uberspace.de --- Interestingly I get the exact (pun not intended) same symptoms in a 32bit prefix with a 32bit version of Wine:
* The game crashes on launch * "winetricks xact" does not successfully complete
https://bugs.winehq.org/show_bug.cgi?id=39591
--- Comment #18 from Austin English austinenglish@gmail.com --- (In reply to Josh from comment #17)
Interestingly I get the exact (pun not intended) same symptoms in a 32bit prefix with a 32bit version of Wine:
- The game crashes on launch
- "winetricks xact" does not successfully complete
Please attach terminal output (separate) for both.
https://bugs.winehq.org/show_bug.cgi?id=39591
--- Comment #19 from Josh winehq@iooioio.orion.uberspace.de --- Created attachment 52867 --> https://bugs.winehq.org/attachment.cgi?id=52867 Console output of "winetricks xact" with a 32bit version of wine in a 32bit wineprefix
https://bugs.winehq.org/show_bug.cgi?id=39591
--- Comment #20 from Josh winehq@iooioio.orion.uberspace.de --- Created attachment 52868 --> https://bugs.winehq.org/attachment.cgi?id=52868 Console output with a 32bit version of wine in a 32bit wineprefix
https://bugs.winehq.org/show_bug.cgi?id=39591
--- Comment #21 from Austin English austinenglish@gmail.com --- (In reply to Josh from comment #19)
Created attachment 52867 [details] Console output of "winetricks xact" with a 32bit version of wine in a 32bit wineprefix
Executing wine regsvr32 xaudio2_7 regsvr32: Failed to load DLL 'xaudio2_7'
The issue isn't limited to 64-bit prefixes for you, it seems.
https://bugs.winehq.org/show_bug.cgi?id=39591
kuwanger@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |kuwanger@gmail.com
--- Comment #22 from kuwanger@gmail.com --- Using POL, I was able to narrow down the issue to the 1.7.49 update. Further, guessing it was an xaudio issue, I included a native override of xaudio2_8.dll (which is actually just a stub) which seems to resolve the issue. Looking a bit related to the point, the actual <a href="https://www.winehq.org/pipermail/wine-patches/2015-July/141206.html">[PATCH] xaudio2_8: Add DLL and implement XAudio2Create</a> calls upon xaudio2.7 to function and seems related. But a native order of xaudio2_7.dll (with an actual native xaudio2_7.dll) still leads to a crash.
Anyways, hope that helps.
https://bugs.winehq.org/show_bug.cgi?id=39591
--- Comment #23 from Andrew Eikum aeikum@codeweavers.com --- kuwanger: Great analysis, thanks! I wonder if setting xaudio2_8 to Disabled in winecfg would work around this.
Probably our xaudio DLLs should use the shared source mechanism (like the msvcrt DLLs) so they don't all have to rely on built-in xaudio2_7.
https://bugs.winehq.org/show_bug.cgi?id=39591
--- Comment #24 from Andrew Eikum aeikum@codeweavers.com --- The xaudio2 DLLs are now independent of each other. It would be interesting to retest this bug with current wine-git or the next release, 1.9.2.
https://bugs.winehq.org/show_bug.cgi?id=39591
--- Comment #25 from Andrew Eikum aeikum@codeweavers.com --- I got a copy of this game. It doesn't crash on loading xaudio, but it does crash later while loading sounds. The game creates more than 500 xaudio2 source voices to load all of its sound effects. OpenAL has a limit of 256 voices, and we don't handle that error properly, so the game crashes.
https://bugs.winehq.org/show_bug.cgi?id=39591
--- Comment #26 from Andrew Eikum aeikum@codeweavers.com --- This should be working now in Wine with commit ecadabe25b11bbd, without native overrides.
However, note that the game needs over 500 voices, but openal-soft by default only allows 256. You'll need to configure openal to allow more than the game needs. You can do this by editing or creating <~/.config/alsoft.conf> with contents:
[General] sources=1024
If you do not edit this setting, then the game will work, but some music and sound effects will be missing.
commit ecadabe25b11bbd2bb41facf40dfc592e12632ad Author: Andrew Eikum aeikum@codeweavers.com Date: Tue Feb 9 10:39:23 2016 -0600
xaudio2: Handle openal source allocation failure.
https://bugs.winehq.org/show_bug.cgi?id=39591
Josh winehq@iooioio.orion.uberspace.de changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution|--- |FIXED
--- Comment #27 from Josh winehq@iooioio.orion.uberspace.de --- Thanks for fixing this. I just tested it with Wine 1.9.4 and can confirm that it works.
For some reason changing my OpenAL config didn't work via the home folder config file you mentioned (my distro is Linux Mint) but editing the global </etc/openal/alsonf.conf> did the trick.
Fun fact: The game sounded better in its broken state. I don't need to hear *every single* bullet and explosion (there's a lot of them) but wouldn't mind being able to follow the music more easily. (I'm still happy this is fixed. Thanks again!)
https://bugs.winehq.org/show_bug.cgi?id=39591
Bruno Jesus 00cpxxx@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |ecadabe25b11bbd2bb41facf40d | |fc592e12632ad
https://bugs.winehq.org/show_bug.cgi?id=39591
Bruno Jesus 00cpxxx@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Component|-unknown |xaudio2
https://bugs.winehq.org/show_bug.cgi?id=39591
--- Comment #28 from kuwanger@gmail.com --- I can confirm this fixed the problem here as well. I would note that at least for Ubuntu (and I'd presume Mint), the user alsoft.conf is ~/.alsoftrc .
Thanks for the fix.
https://bugs.winehq.org/show_bug.cgi?id=39591
Michael Stefaniuc mstefani@redhat.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |mstefani@redhat.com Target Milestone|--- |1.8.x
https://bugs.winehq.org/show_bug.cgi?id=39591
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #29 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 1.9.5.
https://bugs.winehq.org/show_bug.cgi?id=39591
Michael Stefaniuc mstefani@redhat.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|1.8.x |---
--- Comment #30 from Michael Stefaniuc mstefani@redhat.com --- Removing 1.8.x milestone from bugs included in 1.8.2.
https://bugs.winehq.org/show_bug.cgi?id=39591
--- Comment #31 from Andrew Eikum aeikum@codeweavers.com --- Very new openal-soft versions (not even in a release yet) let us request the number of sources. So, this won't require manual configuration to work around in the future.
commit 986a14f9500dd0abf598703a775e2e610594200c Author: Andrew Eikum aeikum@codeweavers.com Date: Mon Apr 17 13:14:58 2017 -0500
xaudio2: Try to increase OpenAL source limit.