https://bugs.winehq.org/show_bug.cgi?id=41398
Bug ID: 41398 Summary: Starcraft 2 Editor: Crashes when Battle.net login dialog is presented Product: Wine Version: 1.9.19 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: alzarath@archlinux.info Distribution: ---
Created attachment 55752 --> https://bugs.winehq.org/attachment.cgi?id=55752 Terminal output from initial run/login
Whenever performing an action that requires login, such as the initial login required to access the editor or logging in to access a dependency from Battle.net, the editor crashes.
https://bugs.winehq.org/show_bug.cgi?id=41398
Matteo Bruni matteo.mystral@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |erich.e.hoover@wine-staging | |.com, michael@fds-team.de, | |sebastian@fds-team.de Product|Wine |Wine-staging Component|-unknown |-unknown
--- Comment #1 from Matteo Bruni matteo.mystral@gmail.com --- Excerpt from the log:
fixme:nvapi:unimplemented_stub function 0xe3640a56 is unimplemented! fixme:dbghelp:elf_search_auxv can't find symbol in module
It isn't necessarily the cause of the crash but it seems worthwhile to rule that out first. Does disabling nvapi from winecfg or running plain Wine (i.e. not wine-staging) make any difference?
https://bugs.winehq.org/show_bug.cgi?id=41398
--- Comment #2 from Alzarath alzarath@archlinux.info --- (In reply to Matteo Bruni from comment #1)
Does disabling nvapi from winecfg or running plain Wine (i.e. not wine-staging) make any difference?
Neither disabling nvapi nor running in plain Wine make a difference, I'm afraid.
https://bugs.winehq.org/show_bug.cgi?id=41398
Matteo Bruni matteo.mystral@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Component|-unknown |-unknown Product|Wine-staging |Wine
--- Comment #3 from Matteo Bruni matteo.mystral@gmail.com --- Okay, then let's flip this bug back to Wine. No obvious clue here, can you try to get a +tid,seh log with plain Wine and attach it here?
https://bugs.winehq.org/show_bug.cgi?id=41398
--- Comment #4 from Alzarath alzarath@archlinux.info --- Created attachment 55757 --> https://bugs.winehq.org/attachment.cgi?id=55757 +ted,seh application output
(In reply to Matteo Bruni from comment #3)
can you try to get a +tid,seh log with plain Wine and attach it here?
First time really debugging Wine, so hopefully I got it down right according to research (WINEDEBUG=+tid,seh).
https://bugs.winehq.org/show_bug.cgi?id=41398
--- Comment #5 from Alzarath alzarath@archlinux.info --- This bug is primarily encountered when attempting to access maps or dependencies from Battle.net. After updating the game, I also have this problem when I try to start the editor. A simple workaround for that is to log into the StarCraft 2 game after an update. This only helps when starting the editor, though.
https://bugs.winehq.org/show_bug.cgi?id=41398
winetest@luukku.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |winetest@luukku.com
--- Comment #6 from winetest@luukku.com --- Have you tried winetricks -q corefonts or winetricks -q allfonts? Also changing windows version?
https://bugs.winehq.org/show_bug.cgi?id=41398
Andrew Smart svor1988@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |svor1988@gmail.com
--- Comment #7 from Andrew Smart svor1988@gmail.com --- I'm running into this issue myself. Looking at Alzarath's +ted,seh application output tid=0009 throws exception code=c000001d, a bunch of other threads are created, then near the end tid=0009 & tid=0050 throw exception code=c0000005. I'm on an AMD system, how about you Alzarath?
https://bugs.winehq.org/show_bug.cgi?id=41398
Johnny Robeson johnny@localmomentum.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |johnny@localmomentum.net
--- Comment #8 from Johnny Robeson johnny@localmomentum.net --- I can reproduce this too. I'm using wine staging (which is what ships with Fedora). I can reproduce this with 1.9.23, and 2.0.0-rc1.
I've installed the corefonts as mentioned. I've switched the Windows version from Windows 7 and Windows XP. I've ran it with both 32bit and 64bit mode. The game works perfectly when not using the editor.
When running the 32bit executable (the one without 64 in the name), I can attempt to authenticate, but it runs out of memory. That is farther than it gets when using 64bit.
https://bugs.winehq.org/show_bug.cgi?id=41398
--- Comment #9 from winetest@luukku.com --- (In reply to Johnny Robeson from comment #8)
The game works perfectly when not using the editor.
Are you really saying that SC2 works, but the problem is just the the editor? There are lots of battle.net and SC2 bugs open. Could you take a look at them and comment on them? Also if you have a working SC2, it would help to comement on the AppDB too how you got it working.
https://bugs.winehq.org/show_bug.cgi?id=41398
--- Comment #10 from Johnny Robeson johnny@localmomentum.net --- I followed the instructions that are listed on the app db, that's how I got it working. Lots of folks seem to have Starcraft 2 working based on the Gold ratings it has.
This bug is specific to the editor,so that's why I'm commenting here.
https://bugs.winehq.org/show_bug.cgi?id=41398
--- Comment #11 from Andrew Smart svor1988@gmail.com --- Created attachment 56436 --> https://bugs.winehq.org/attachment.cgi?id=56436 +relay,tid,seh,shell
Filtered out most non-related threads. Filtered out QueryPerformanceFrequency, GetTickCount, RtlAllocateHeap. A trace. Take a look at UrlCombineW, the result doesn't look quite right.
https://bugs.winehq.org/show_bug.cgi?id=41398
--- Comment #12 from Andrew Smart svor1988@gmail.com --- Created attachment 56437 --> https://bugs.winehq.org/attachment.cgi?id=56437 +relay,tid,seh
Another for comparison. Again c0000005 exception shortly after KERNEL32.CompareStringW call.
https://bugs.winehq.org/show_bug.cgi?id=41398
--- Comment #13 from Andrew Smart svor1988@gmail.com --- Forgot to mention, one of the first things this thread does is access "C:\users<username>\Cookies\index.dat". It appears to be an HTTP client.
It queries: "GET /S2/enUS/client/regions?build=enUS&targetRegion=0&homeCountry= HTTP/1.1\r\nHost: nydus.battle.net\r\nUser-Agent: Blizzard Web Client\r\n\r\n"
Gets the response: "HTTP/1.1 302 Found" "Date: Fri, 16 Dec 2016 01:08:20 GMT" "Server: Apache" "X-Frame-Options: SAMEORIGIN" "Cache-Control: max-age=3600" "Location: http:///service/s2/regionsxml/regions.xml" "Content-Length: 225" "Content-Type: text/html; charset=iso-8859-1"
Then: 005e:Call shlwapi.UrlCombineW(1284def8 L"http://nydus.battle.net/S2/enUS/client/regions?build=enUS&targetRegion=0... L"http:///service/s2/regionsxml/regions.xml%22,00000000,15ebd78c,24000000) 005e:Ret shlwapi.UrlCombineW() retval=80004003 ret=7d92de63 005e:Call shlwapi.UrlCombineW(1284def8 L"http://nydus.battle.net/S2/enUS/client/regions?build=enUS&targetRegion=0... L"http:///service/s2/regionsxml/regions.xml%22,1284dfb0,15ebd78c,24000000) ret=7d92de63 005e:Ret shlwapi.UrlCombineW() retval=00000000 ret=7d92de63
The last UrlCombineW succeeds, but the result doesn't seem intuitive.
https://bugs.winehq.org/show_bug.cgi?id=41398
--- Comment #14 from Bruno Jesus 00cpxxx@gmail.com --- I think currently Wine does not have a test for the case where the relative parameter is a http:/// URL. Maybe the problem is really related to this.
Improving the tests at https://source.winehq.org/source/dlls/shlwapi/tests/url.c#0355 could help proving that.
I don't know if native shlwapi can be installed to test if it solves the issue.
https://bugs.winehq.org/show_bug.cgi?id=41398
--- Comment #15 from Erich E. Hoover erich.e.hoover@wine-staging.com --- (In reply to Bruno Jesus from comment #14)
... I don't know if native shlwapi can be installed to test if it solves the issue.
You could almost certainly rename the native shlwapi and forward just UrlCombineW to it. Though, if it relies on some other DLL for the implementation then that won't help much ;)
https://bugs.winehq.org/show_bug.cgi?id=41398
--- Comment #16 from Andrew Smart svor1988@gmail.com --- Thank you very much Bruno and Erich! You made the path very clear to me.
I just downloaded wine-2.0-rc2 (the zip) and built it. I renamed the native shlwapi and forwarded UrlCombineW to it.
Looks like the native UrlCombineW does the same thing. As proof I did this right I put a question mark "return-?" in the trace: 0051:trace:shell:UrlCombineW (base L"http://nydus.battle.net/S2/enUS/client/regions?build=enUS&targetRegion=0...", Relative L"http:///service/s2/regionsxml/regions.xml", Combine size 0, flags 24000000) 0051:trace:shell:UrlCombineW return-? len=42, (null) 0051:trace:shell:UrlCombineW (base L"http://nydus.battle.net/S2/enUS/client/regions?build=enUS&targetRegion=0...", Relative L"http:///service/s2/regionsxml/regions.xml", Combine size 42, flags 24000000) 0051:trace:shell:UrlCombineW return-? len=41, L"http:///service/s2/regionsxml/regions.xml"
So, I guess the issue is elsewhere.
Further proof: HRESULT WINAPI UrlCombineW(LPCWSTR pszBase, LPCWSTR pszRelative, LPWSTR pszCombined, LPDWORD pcchCombined, DWORD dwFlags) { //...
TRACE("(base %s, Relative %s, Combine size %d, flags %08x)\n", debugstr_w(pszBase),debugstr_w(pszRelative), pcchCombined?*pcchCombined:0,dwFlags); ret = SHLWAPI_NATIVE_UrlCombineW(pszBase, pszRelative, pszCombined, pcchCombined, dwFlags); TRACE("return-? len=%d, %s\n", *pcchCombined, debugstr_w(pszCombined)); return ret;
When using the native DLL, at first I got: 000b:trace:seh:raise_exception code=80000100 flags=1 addr=0x7bc5eb4c ip=7bc5eb4c tid=000b wine: Call from 0x7bc5eb4c to unimplemented function ntdll.dll.EtwUnregisterTraceGuids, aborting
So I had to define ntdll.EtwUnregisterTraceGuids, which is the same thing as ADVAPI32.UnregisterTraceGuids (and the ADVAPI32 one forwards to the ntdll one).
I'll tinker some more and see what I can find out.
https://bugs.winehq.org/show_bug.cgi?id=41398
Andrew Smart svor1988@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #56437|0 |1 is obsolete| |
--- Comment #17 from Andrew Smart svor1988@gmail.com --- Created attachment 56485 --> https://bugs.winehq.org/attachment.cgi?id=56485 +seh,sid,shell wine-2.0-rc2 x64
Looks like with the newer wine the tid is prefixed to the shell trace now. Due to that you can now see the shlwapi URL calls are on two different threads.
The c0000005 access violation exceptions in all the logs have something in common, they read an address ending in fffe, even possibly 0000fffe. I'm not sure if that is helpful.
I don't have Wow64 set up yet. It's tricky to in Debian.
https://bugs.winehq.org/show_bug.cgi?id=41398
--- Comment #18 from Andrew Smart svor1988@gmail.com --- Created attachment 56521 --> https://bugs.winehq.org/attachment.cgi?id=56521 +relay,seh,sid,shell wine-2.0-rc2 x64 Does not crash
So, one puzzling thing I've found is that about half of the time I do a +relay trace, the editor does not crash. I can successfully log in and see the editor launch (though it is extremely slow due to the +relay trace). Here is a log cut off shortly after the shlwapi stuff stops (I had to cut it off due to filesize limitation). That 005a thread ends there, the last thing the thread does is create a thread & the shlwapi stuff.
There is this little login window with the text "Account:", "Password:" on it. This little window almost always does not display when the editor crashes (though sometimes it does crash when I'm tying the login).
Another observation is that my system gets unresponsive for a quarter second during this crash (e.g. mouse unresponsive, music cuts out). With or without the native overrides this happens.
This SC2 editor is free by the way. It is packaged with the free 'SC2 Starter Edition'. It is a ~15GB download though.
https://bugs.winehq.org/show_bug.cgi?id=41398
--- Comment #19 from winetest@luukku.com ---
This SC2 editor is free by the way. It is packaged with the free 'SC2 Starter Edition'. It is a ~15GB download though.
I started to use SC2 Free sometime ago. And it had some limitations and I think the editor was one of them...
https://bugs.winehq.org/show_bug.cgi?id=41398
--- Comment #20 from Johnny Robeson johnny@localmomentum.net --- (In reply to winetest from comment #19)
This SC2 editor is free by the way. It is packaged with the free 'SC2 Starter Edition'. It is a ~15GB download though.
I started to use SC2 Free sometime ago. And it had some limitations and I think the editor was one of them...
it did work fine for being able to play many custom maps until Dec 14 or 15.
https://bugs.winehq.org/show_bug.cgi?id=41398
--- Comment #21 from Johnny Robeson johnny@localmomentum.net --- I've had multiple successful uses of the editor since my last report, but now it's failing again.
It looks like as soon as there's any kind of delay (like > 1 second) when downloading the region information (and whatever else it does before displaying the login dialog), it crashes.
https://bugs.winehq.org/show_bug.cgi?id=41398
--- Comment #22 from Johnny Robeson johnny@localmomentum.net --- (In reply to Johnny Robeson from comment #21)
I've had multiple successful uses of the editor since my last report, but now it's failing again.
It looks like as soon as there's any kind of delay (like > 1 second) when downloading the region information (and whatever else it does before displaying the login dialog), it crashes.
I shoudl have mentioned that I hadn't restarted my computer in between the working cases. Also, the last thing I did before it stoped working was killing the SC2 process when clicking "Test Document". It worked right before that, and then failed. It makes me think that I corrupted a file by killing it while it was starting up.
I'm gonna try clearing some the cache files and see if that fixes it, but I'm not that familiar with Windows, so I can't be sure I'll get them all.
https://bugs.winehq.org/show_bug.cgi?id=41398
Adam Bolte abolte@systemsaviour.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |abolte@systemsaviour.com
https://bugs.winehq.org/show_bug.cgi?id=41398
Nikolay Sivov bunglehead@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Blocks| |27985
https://bugs.winehq.org/show_bug.cgi?id=41398
--- Comment #23 from Johnny Robeson johnny@localmomentum.net --- a workaround presented on the battle.net appdb page is to
1. disable your internet connection (in whatever way is easiest for you) 2. start the editor 3. wait until login dialog shows up 4. turn connection back on 5. log in
It definitely worked for me. That might give folks a hint as to where something is going wrong.
https://bugs.winehq.org/show_bug.cgi?id=41398
John E john.ettedgui@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |john.ettedgui@gmail.com
--- Comment #24 from John E john.ettedgui@gmail.com --- (In reply to Johnny Robeson from comment #23)
a workaround presented on the battle.net appdb page is to
- disable your internet connection (in whatever way is easiest for you)
- start the editor
- wait until login dialog shows up
- turn connection back on
- log in
It definitely worked for me. That might give folks a hint as to where something is going wrong.
I can confirm that it worked for me too.
Thank you!
https://bugs.winehq.org/show_bug.cgi?id=41398
--- Comment #25 from Alzarath alzarath@archlinux.info --- After a recent update, I was able to launch the editor without needing to use the workaround. Tried it a couple times to make sure it wasn't a fluke. I was also able to use the Battle.net map and dependency browsers. So as of around 2.4, it seems to be fixed for me.
https://bugs.winehq.org/show_bug.cgi?id=41398
--- Comment #26 from Johnny Robeson johnny@localmomentum.net --- (In reply to Alzarath from comment #25)
After a recent update, I was able to launch the editor without needing to use the workaround. Tried it a couple times to make sure it wasn't a fluke. I was also able to use the Battle.net map and dependency browsers. So as of around 2.4, it seems to be fixed for me.
that's with plain wine and not staging? It's still not working for me on 2.4 staging.
https://bugs.winehq.org/show_bug.cgi?id=41398
--- Comment #27 from Alzarath alzarath@archlinux.info --- (In reply to Johnny Robeson from comment #26)
that's with plain wine and not staging? It's still not working for me on 2.4 staging.
I actually am using 2.4 Staging. But ya know, I actually remembered I was trying to get StarCraft 1's PTR working all day the other day and one of the things I tried was manually updating the Battle.net Agent. Try it out and tell me if it works.
https://us.battle.net/support/en/article/manually-patching-agent
https://bugs.winehq.org/show_bug.cgi?id=41398
--- Comment #28 from John E john.ettedgui@gmail.com --- I just tried it but that didn't help me here.
https://bugs.winehq.org/show_bug.cgi?id=41398
--- Comment #29 from winetest@luukku.com --- (In reply to John E from comment #28)
I just tried it but that didn't help me here.
With what version of wine?
https://bugs.winehq.org/show_bug.cgi?id=41398
--- Comment #30 from John E john.ettedgui@gmail.com --- 2.4 staging.
https://bugs.winehq.org/show_bug.cgi?id=41398
--- Comment #31 from Alzarath alzarath@archlinux.info --- According to my histfile, the only other thing I did was install wininet through winetricks. I also discovered the 64-bit version of the editor still crashes, so make sure you're using the 32-bit.
https://bugs.winehq.org/show_bug.cgi?id=41398
--- Comment #32 from winetest@luukku.com --- Can anyone test this with wine-staging 2.5?
https://github.com/wine-compholio/wine-staging/commit/a16c4ffd33e1d8b4d00534...
This commit might make a difference. Also patching wine with that patch and I quess the cleanup patch is also needed thats mentioned at the bottom.
Testing bugs is essential to get them fixed...
https://bugs.winehq.org/show_bug.cgi?id=41398
Sebastian Lackner sebastian@fds-team.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |dmitry@baikal.ru Ever confirmed|0 |1 Staged patchset| |https://github.com/wine-com | |pholio/wine-staging/tree/ma | |ster/patches/wininet-Redire | |ct Status|UNCONFIRMED |STAGED
https://bugs.winehq.org/show_bug.cgi?id=41398
--- Comment #33 from John E john.ettedgui@gmail.com --- Sorry for the delay, I finally got to test this with 2.8 staging and yes it works fine!
I tried both the 32b and the 64b versions.
(The 64b editor is still super slow and hard on the CPU but that's a different issue)
https://bugs.winehq.org/show_bug.cgi?id=41398
--- Comment #34 from winetest@luukku.com --- (In reply to John E from comment #33)
Sorry for the delay, I finally got to test this with 2.8 staging and yes it works fine!
I tried both the 32b and the 64b versions.
(The 64b editor is still super slow and hard on the CPU but that's a different issue)
You should open a bug for it since you are experiencing the bug. I don't even have access to this editor.
https://bugs.winehq.org/show_bug.cgi?id=41398
Nikolay Sivov bunglehead@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Component|-unknown |wininet
https://bugs.winehq.org/show_bug.cgi?id=41398
--- Comment #35 from Gijs Vermeulen gijsvrm@gmail.com --- This should have been fixed with: https://source.winehq.org/git/wine.git/commit/cee99826b62b62acb7a8cf1ff32d27...
Could you please retest with wine-3.2?
The patchset has also been removed from staging because the fix was upstreamed (only the tests were changed).
https://bugs.winehq.org/show_bug.cgi?id=41398
--- Comment #36 from John E john.ettedgui@gmail.com --- I've just tested with 3.4 and it worked fine.
Thank you!
https://bugs.winehq.org/show_bug.cgi?id=41398
Zebediah Figura z.figura12@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|STAGED |RESOLVED CC| |z.figura12@gmail.com Resolution|--- |FIXED Fixed by SHA1| |cee99826b62b62acb7a8cf1ff32 | |d27633c078e8f
--- Comment #37 from Zebediah Figura z.figura12@gmail.com --- (In reply to John E from comment #36)
I've just tested with 3.4 and it worked fine.
Thank you!
Marking fixed then.
https://bugs.winehq.org/show_bug.cgi?id=41398
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #38 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 3.6.