https://bugs.winehq.org/show_bug.cgi?id=41956
Bug ID: 41956 Summary: Regression in wininet crashes skype Product: Wine Version: 1.9.24 Hardware: x86 URL: https://www.skype.com/en/download-skype/skype-for-comp uter/ OS: Linux Status: UNCONFIRMED Severity: minor Priority: P2 Component: wininet Assignee: wine-bugs@winehq.org Reporter: dark.shadow4@web.de Regression SHA1: 5141c911ff0924efb9a787276aecd54a39609ef8 Distribution: ArchLinux
Created attachment 56347 --> https://bugs.winehq.org/attachment.cgi?id=56347 Deadlock in RtlpWaitForCriticalSection
I used "wintricks ie8" to install IE8, then winecfg to removed the "wininet" override. That used to work for Skype to install and run mostly fine.
Since the referenced commit however, the override "shlwapi" needs to be removed as well, to avoid a deadlock. It should work despite this override, like it did before the regression.
https://bugs.winehq.org/show_bug.cgi?id=41956
Fabian Maurer dark.shadow4@web.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |dark.shadow4@web.de Keywords| |download, regression
https://bugs.winehq.org/show_bug.cgi?id=41956
--- Comment #1 from Rosanne DiMesio dimesio@earthlink.net --- Problems caused by using native dlls are not normally considered valid bugs.
Does Skype work without the shlwapi override? If not, what is the problem?
https://bugs.winehq.org/show_bug.cgi?id=41956
--- Comment #2 from Fabian Maurer dark.shadow4@web.de --- Yeah it works without she shlwapi override, that's why it's only a minor bug. But IMHO it should work with the native DLL too, since we're aiming for compatibility with windows DLLs. At least to me it seems that this indicates there is still a bug in the wine implementation.
https://bugs.winehq.org/show_bug.cgi?id=41956
Bruno Jesus 00cpxxx@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |jacek@codeweavers.com
--- Comment #3 from Bruno Jesus 00cpxxx@gmail.com --- It is always useful to paste the commit information and CC the author (or signer if there is no signed-off from author).
commit 5141c911ff0924efb9a787276aecd54a39609ef8 Author: Jacek Caban jacek@codeweavers.com Date: Wed May 18 18:02:46 2016 +0200
wininet: Don't assume maximal URL length in HTTP_GetRedirectURL.
Signed-off-by: Jacek Caban jacek@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
What is the Skype version?
https://bugs.winehq.org/show_bug.cgi?id=41956
Fabian Maurer dark.shadow4@web.de changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #56347|0 |1 is obsolete| |
--- Comment #4 from Fabian Maurer dark.shadow4@web.de --- Created attachment 56348 --> https://bugs.winehq.org/attachment.cgi?id=56348 Full skype log
I tested with 7.28.0.101 and 7.30.80.105.
Notice the "HTTP_HandleRedirect" error right before the freeze, that normally doesn't appear. Together with the commit I found through bisect, it seems likely that the patch broke something.
https://bugs.winehq.org/show_bug.cgi?id=41956
--- Comment #5 from Fabian Maurer dark.shadow4@web.de --- MSDN: "If an E_POINTER error code is returned, the buffer was too small to hold the result, and the value referenced by pcchEscaped is set to the required number of characters in the buffer."
rc = UrlEscapeW(path, NULL, &needed, URL_ESCAPE_SPACES_ONLY); if (rc == E_POINTER) needed = strlenW(path)+1;
That doesn't seem quite right to me. Sure the "!=" wasn't right? It works if I change that back.
https://bugs.winehq.org/show_bug.cgi?id=41956
--- Comment #6 from Bruno Jesus 00cpxxx@gmail.com --- (In reply to Fabian Maurer from comment #5)
MSDN: "If an E_POINTER error code is returned, the buffer was too small to hold the result, and the value referenced by pcchEscaped is set to the required number of characters in the buffer."
rc = UrlEscapeW(path, NULL, &needed, URL_ESCAPE_SPACES_ONLY); if (rc == E_POINTER) needed = strlenW(path)+1;
That doesn't seem quite right to me. Sure the "!=" wasn't right? It works if I change that back.
I believe you are right. The patch changed != to == The correct is != because when E_POINTER is returned the variable needed already contains the expected value.
https://bugs.winehq.org/show_bug.cgi?id=41956
--- Comment #7 from Fabian Maurer dark.shadow4@web.de --- Exactly, but the odd thing is that it works with the wine dll, but not the native one. But give me a few days and I'll write tests for that and submit a patch.
https://bugs.winehq.org/show_bug.cgi?id=41956
--- Comment #8 from Bruno Jesus 00cpxxx@gmail.com --- If you put the very same URL that Skype is trying into native and builtin the size will probably differ. For builtin the strlen+1 is enough, but thay is probably not true for native.
https://bugs.winehq.org/show_bug.cgi?id=41956
winetest@luukku.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |dimesio@earthlink.net, | |winetest@luukku.com
--- Comment #9 from winetest@luukku.com --- Should be fixed now with
http://source.winehq.org/git/wine.git/commit/8c39694882537b86d5b54771c7e10f7...
https://bugs.winehq.org/show_bug.cgi?id=41956
Fabian Maurer dark.shadow4@web.de changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |8c39694882537b86d5b54771c7e | |10f79c0ee58f9 Resolution|--- |FIXED Status|UNCONFIRMED |RESOLVED
--- Comment #10 from Fabian Maurer dark.shadow4@web.de --- Yes, fixed by 8c39694882537b86d5b54771c7e10f79c0ee58f9
https://bugs.winehq.org/show_bug.cgi?id=41956
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #11 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 2.0-rc2.