https://bugs.winehq.org/show_bug.cgi?id=50800
Bug ID: 50800 Summary: Heartstone doesn't work anymore. Product: Wine Version: 6.3 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: blocker Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: priit@ww.ee Distribution: ---
Heartstone doesn't work anymore. Hangs at loading screen, the big hearthstone text never appears.
Works great with wine 5.22.
Also the Battle.net launcher throws some error (about .net? failure) but then starts. nonethless with major visual glitches.
https://bugs.winehq.org/show_bug.cgi?id=50800
Priit priit@ww.ee changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|Heartstone doesn't work |Hearthstone doesn't work |anymore. |anymore.
https://bugs.winehq.org/show_bug.cgi?id=50800
joaopa jeremielapuree@yahoo.fr changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |jeremielapuree@yahoo.fr
--- Comment #1 from joaopa jeremielapuree@yahoo.fr --- Please, perform regression test: https://wiki.winehq.org/Regression_Testing
And attach the full console output. And change the severity of the bug. It is not a blocker bug. It is a normal one.
https://bugs.winehq.org/show_bug.cgi?id=50800
Olivier F. R. Dierick o.dierick@piezo-forte.be changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |o.dierick@piezo-forte.be Severity|blocker |normal
https://bugs.winehq.org/show_bug.cgi?id=50800
--- Comment #2 from Priit priit@ww.ee --- https://wiki.winehq.org/Regression_Testing is old and outdated. as I am no expert in programming nor compiling nor in wine generally (only using it to play Hearthstone) and following the steps in this guide one by one, now at "make" part... the process is using only 1 core out of my 32 cores. basically ignoring my computer default make /etc/makepkg.conf setting to use 30 out of 32 cores.
and seems to take far more time than I am willing to waste on the subject. It's a free to play game, you could do all the testing yourself... as you seem far more knowledgeable to do so. My part in this matter should have ended pretty much at saying, "it's not working anymore with this version". Asking every random bugreporter to do the bisecting is just... rude.
https://bugs.winehq.org/show_bug.cgi?id=50800
--- Comment #3 from Priit priit@ww.ee --- Some googling helped. At minimum you should update the guide to use -j<number_of_core_threads> or something.
https://bugs.winehq.org/show_bug.cgi?id=50800
--- Comment #4 from Priit priit@ww.ee --- Created attachment 69606 --> https://bugs.winehq.org/attachment.cgi?id=69606 log of bisect steps...
https://bugs.winehq.org/show_bug.cgi?id=50800
--- Comment #5 from Priit priit@ww.ee --- Created attachment 69607 --> https://bugs.winehq.org/attachment.cgi?id=69607 First bad commit run try crash log
https://bugs.winehq.org/show_bug.cgi?id=50800
--- Comment #6 from Priit priit@ww.ee --- [deemon@Zen wine-git]$ git bisect bad 8b3cc57df0b791ca6c33f383f9358e1613206b84 is the first bad commit commit 8b3cc57df0b791ca6c33f383f9358e1613206b84 Author: Henri Verbeet hverbeet@codeweavers.com Date: Fri Dec 4 18:15:33 2020 +0330
wined3d: Allocate a new bo for busy DISCARD maps.
Signed-off-by: Henri Verbeet hverbeet@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
dlls/wined3d/adapter_gl.c | 2 ++ dlls/wined3d/buffer.c | 26 --------------- dlls/wined3d/context_gl.c | 72 ++++++++++++++++++++++++++++++++++-------- dlls/wined3d/resource.c | 5 +-- dlls/wined3d/view.c | 25 ++++++++++++++- dlls/wined3d/wined3d_private.h | 9 ++++++ 6 files changed, 95 insertions(+), 44 deletions(-)
https://bugs.winehq.org/show_bug.cgi?id=50800
--- Comment #7 from joaopa jeremielapuree@yahoo.fr --- Thanks. The writer of the patch will certainly have a look at it. Can you fill the Regression SHA field with the identity of the bad commit?
https://bugs.winehq.org/show_bug.cgi?id=50800
Priit priit@ww.ee changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |priit@ww.ee Regression SHA1| |8b3cc57df0b791ca6c33f383f93 | |58e1613206b84 Distribution|--- |Other
https://bugs.winehq.org/show_bug.cgi?id=50800
Zebediah Figura z.figura12@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |hverbeet@gmail.com Component|-unknown |directx-d3d
https://bugs.winehq.org/show_bug.cgi?id=50800
--- Comment #8 from Priit priit@ww.ee --- not quite sure what is this SHA1 of the git commit... when it does say: "8b3cc57df0b791ca6c33f383f9358e1613206b84 is the first bad commit" then is this '8b3cc...' already the sha1 or I have to hash it with sha1? giving me: 0b55ee8c7e9da66b49af360432845a2ced4edc49 ?
https://bugs.winehq.org/show_bug.cgi?id=50800
Olivier F. R. Dierick o.dierick@piezo-forte.be changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |regression
--- Comment #9 from Olivier F. R. Dierick o.dierick@piezo-forte.be --- (In reply to Priit from comment #8)
not quite sure what is this SHA1 of the git commit... when it does say: "8b3cc57df0b791ca6c33f383f9358e1613206b84 is the first bad commit" then is this '8b3cc...' already the sha1 or I have to hash it with sha1? giving me: 0b55ee8c7e9da66b49af360432845a2ced4edc49 ?
Hello,
The commit number is SHA1 so you did right with 8b3cc57...
Regards.
https://bugs.winehq.org/show_bug.cgi?id=50800
--- Comment #10 from Henri Verbeet hverbeet@gmail.com --- Thanks. Which GPU and drivers are you using?
https://bugs.winehq.org/show_bug.cgi?id=50800
--- Comment #11 from Priit priit@ww.ee --- Created attachment 69608 --> https://bugs.winehq.org/attachment.cgi?id=69608 inxi -Fxxxz
https://bugs.winehq.org/show_bug.cgi?id=50800
--- Comment #12 from Priit priit@ww.ee --- $ pacman -Si xf86-video-amdgpu Repository : extra Name : xf86-video-amdgpu Version : 19.1.0-2 Description : X.org amdgpu video driver Architecture : x86_64 URL : https://xorg.freedesktop.org/ Licenses : custom Groups : xorg-drivers Provides : None Depends On : systemd-libs mesa Optional Deps : None Conflicts With : xorg-server<1.20.0 X-ABI-VIDEODRV_VERSION<24 X-ABI-VIDEODRV_VERSION>=25 Replaces : None Download Size : 71.29 KiB Installed Size : 165.72 KiB Packager : Evangelos Foutras evangelos@foutrelis.com Build Date : T 19 mai 2020 13:10:09 Validated By : MD5 Sum SHA-256 Sum Signature
https://bugs.winehq.org/show_bug.cgi?id=50800
--- Comment #13 from Henri Verbeet hverbeet@gmail.com --- Unfortunately I haven't had much luck trying to reproduce this issue. On the GPU side, my setup doesn't seem too different from yours (AMD Vega, Mesa drivers). The line that stands out from the log you attached is "malloc(): unsorted double linked list corrupted", seemingly pointing to some kind of memory corruption. Is that line only ever present after commit 8b3cc57df0b791ca6c33f383f9358e1613206b84?
Is anyone else able to reproduce this? Ideally, that would be other wined3d developers able to debug the issue, but anything that helps with reproducing the issue is welcome.
https://bugs.winehq.org/show_bug.cgi?id=50800
--- Comment #14 from Priit priit@ww.ee --- Are you also using the mesa 21.x?
Yes, malloc() only happens after this commit. Forgot to mention before, but ... also added to the same bottle several winetricks things (.NET because it's needed for Hearthstone Deck Tracker to function; others for Hearthstone itself from legacy knowledge; maybe not needed anymore, but just in case):
winetricks dotnet472 winetricks corefonts winetricks nocrashdialog winetricks settings usetakefocus=disabled
winetricks.log:
w_workaround_wine_bug-34803 remove_mono remove_mono remove_mono remove_mono remove_mono remove_mono remove_mono remove_mono remove_mono remove_mono remove_mono remove_mono remove_mono remove_mono winxp dotnet40 remove_mono remove_mono remove_mono remove_mono remove_mono remove_mono winxp dotnet40 dotnet45 dotnet46 dotnet461 dotnet462 dotnet472 andale arial comicsans courier georgia impact times trebuchet verdana webdings corefonts nocrashdialog
https://bugs.winehq.org/show_bug.cgi?id=50800
--- Comment #15 from Priit priit@ww.ee --- Alright, just to be sure. While the commit 8b3cc57df0b791ca6c33f383f9358e1613206b84 stands, I made a new pure Battle.net + Hearthstone install (without any tricks) in new bottle and the results in the same. Game crashes at the same position with the same malloc() error.
Installation process: WINEPREFIX="/home/deemon/git/.wine-test2" wine-git/wine Battle.net-Setup.exe
configure battle.net launcher: Settings > App: On Game Launch: Exit the Battle.net App completely Advanced Features: [ ] (uncheck) Use browser hardware acceleration
Install Hearthstone with the launcher.
Start HS or exit and launch it from command line: env WINEPREFIX="/home/deemon/git/.wine-test2" ~/git/wine-git/wine C:\windows\command\start.exe /Unix /home/deemon/git/.wine-test2/dosdevices/c:/users/Public/Desktop/Battle.net.lnk
https://bugs.winehq.org/show_bug.cgi?id=50800
--- Comment #16 from Priit priit@ww.ee --- Created attachment 69662 --> https://bugs.winehq.org/attachment.cgi?id=69662 new install (battle.net launcher + HS inside it), game launch hang.
and the game hangs.
https://bugs.winehq.org/show_bug.cgi?id=50800
--- Comment #17 from Priit priit@ww.ee --- ah yes when I before did say game crashes, it doesn't "crash" but it just hangs with static picture and nothing seems to happen anymore.
https://bugs.winehq.org/show_bug.cgi?id=50800
--- Comment #18 from Priit priit@ww.ee --- Created attachment 69663 --> https://bugs.winehq.org/attachment.cgi?id=69663 hang last picture that stays open...
https://bugs.winehq.org/show_bug.cgi?id=50800
--- Comment #19 from Priit priit@ww.ee --- Just in case ... how to make the git bisect thing walk back this one commit to last working and build it again, so I don't have to like do all the bisecing thing from the very start? Just to be sure there is no malloc() error?
https://bugs.winehq.org/show_bug.cgi?id=50800
--- Comment #20 from Henri Verbeet hverbeet@gmail.com --- (In reply to Priit from comment #14)
Are you also using the mesa 21.x?
No, I'm using Mesa 19.0.8. It's possible that makes a difference, yes.
Yes, malloc() only happens after this commit.
That's useful to know.
(In reply to Priit from comment #15)
configure battle.net launcher: Settings > App: On Game Launch: Exit the Battle.net App completely Advanced Features: [ ] (uncheck) Use browser hardware acceleration
Incidentally, "browser hardware acceleration" should work since wine-6.3, but that should be inconsequential for this bug.
(In reply to Priit from comment #19)
Just in case ... how to make the git bisect thing walk back this one commit to last working and build it again, so I don't have to like do all the bisecing thing from the very start? Just to be sure there is no malloc() error?
The easiest thing to do would probably be something like "git checkout -b hs_good 8b3cc57df0b^", which would create a branch "hs_good" at the commit before 8b3cc57df0b, and switch to it. (Likewise, "git checkout -b hs_bad 8b3cc57df0b" would create a branch "hs_bad" at commit 8b3cc57df0b and switch to it.)
It may be worth trying a run WINEDEBUG="warn+heap", to see if that produces more interesting output, although chances are it won't. Somewhat similarly, perhaps a log with WINEDEBUG="+d3d,+d3d11" could provide some insight.
https://bugs.winehq.org/show_bug.cgi?id=50800
--- Comment #21 from Priit priit@ww.ee --- warn+heap didn't seem to give any more additional info in the end page.
https://bugs.winehq.org/show_bug.cgi?id=50800
--- Comment #22 from Priit priit@ww.ee --- Created attachment 69670 --> https://bugs.winehq.org/attachment.cgi?id=69670 +d3d,+d3d11 log
just ridiculous amount of spam... :D
https://bugs.winehq.org/show_bug.cgi?id=50800
--- Comment #23 from Priit priit@ww.ee --- (In reply to Henri Verbeet from comment #20)
(In reply to Priit from comment #14)
Are you also using the mesa 21.x?
No, I'm using Mesa 19.0.8. It's possible that makes a difference, yes.
Try it.
(In reply to Priit from comment #19)
Just in case ... how to make the git bisect thing walk back this one commit to last working and build it again, so I don't have to like do all the bisecing thing from the very start? Just to be sure there is no malloc() error?
The easiest thing to do would probably be something like "git checkout -b hs_good 8b3cc57df0b^", which would create a branch "hs_good" at the commit before 8b3cc57df0b, and switch to it. (Likewise, "git checkout -b hs_bad 8b3cc57df0b" would create a branch "hs_bad" at commit 8b3cc57df0b and switch to it.)
alright, created those 2 branches. How can I later swap between them easily without the long hash?
https://bugs.winehq.org/show_bug.cgi?id=50800
--- Comment #24 from Priit priit@ww.ee --- Created attachment 69671 --> https://bugs.winehq.org/attachment.cgi?id=69671 git checkout -b hs_good 8b3cc57df0b791ca6c33f383f9358e1613206b84^
( [deemon@Zen wine-git]$ git checkout -b hs_good 8b3cc57df0b791ca6c33f383f9358e1613206b84^ Switched to a new branch 'hs_good' [deemon@Zen wine-git]$ ./configure --verbose && make -j30 <snip-spam> ) anyway confirmed, that there is no malloc() line thing just 1 commit before, but the following three lines are there at the same place... and game starts.
0164:fixme:winsock:server_ioctl_sock Unsupported ioctl 4004747b (device=4004 access=1 func=d1e method=3) 0164:fixme:winsock:WSAIoctl unsupported WS_IOCTL cmd (SIO_IDEAL_SEND_BACKLOG_QUERY) <snip> 0150:fixme:kernelbase:AppPolicyGetProcessTerminationMethod FFFFFFFA, 0031FEBC
https://bugs.winehq.org/show_bug.cgi?id=50800
--- Comment #25 from Priit priit@ww.ee --- UPDATE! Today updated Manjaro itself and also decided to rebuild mesa-git and lib32-mesa-git to newest version. Not quite sure, but HS itself might have got update also meanwhile...
Just out of curiosity: git switch hs_bad; configure && make; run HS ... and IT WORKED!
hmmm... then: git fetch git rebase origin configure && make $ ~/git/wine-git/wine --version wine-6.5
run HS ... and IT WORKS ALSO! great success! :D (so mesa was broke all along or the specific versions didn't play along well?)
https://bugs.winehq.org/show_bug.cgi?id=50800
--- Comment #26 from Priit priit@ww.ee --- just for the record, now on mesa-git 21.1.0_devel.137170.dfe9bfef9b9-1
https://bugs.winehq.org/show_bug.cgi?id=50800
Henri Verbeet hverbeet@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution|--- |NOTOURBUG
--- Comment #27 from Henri Verbeet hverbeet@gmail.com --- (In reply to Priit from comment #25)
UPDATE! Today updated Manjaro itself and also decided to rebuild mesa-git and lib32-mesa-git to newest version. Not quite sure, but HS itself might have got update also meanwhile...
Just out of curiosity: git switch hs_bad; configure && make; run HS ... and IT WORKED!
hmmm... then: git fetch git rebase origin configure && make $ ~/git/wine-git/wine --version wine-6.5
run HS ... and IT WORKS ALSO! great success! :D (so mesa was broke all along or the specific versions didn't play along well?)
Sounds like it. For the sake of curiosity, it may be interesting to track down which particular Mesa commits broke and then fixed Hearthstone again. That's by no means a requirement though.