[Bug 40865] New: Steam needs to be online to update. Please confirm your network connection and try again.
https://bugs.winehq.org/show_bug.cgi?id=40865 Bug ID: 40865 Summary: Steam needs to be online to update. Please confirm your network connection and try again. Product: Wine Version: 1.9.12 Hardware: x86 OS: NetBSD Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs(a)winehq.org Reporter: adrien_fernandes2(a)hotmail.com Created attachment 54877 --> https://bugs.winehq.org/attachment.cgi?id=54877 WINEDEBUG=+winhttp,+wininit,+winsock,+teh,+sid wine Steam.exe Steam can not fetch client (http problem ?). I don't think it is because it can't find my network, I was using mupen64pp.exe and I successfully joined a friend online to play with him. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=40865 --- Comment #1 from Bruno Jesus <00cpxxx(a)gmail.com> --- Created attachment 54883 --> https://bugs.winehq.org/attachment.cgi?id=54883 debug patch Please attach a new +winsock with the attached patch. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=40865 --- Comment #2 from Bruno Jesus <00cpxxx(a)gmail.com> --- Created attachment 54884 --> https://bugs.winehq.org/attachment.cgi?id=54884 patch I'm guessing the problem could be gethostbyname_r returning ENOBUFS instead of ERANGE so the attached patch should help if this is the case, if not try the debug patch. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=40865 --- Comment #3 from Adrien Fernandes <adrien_fernandes2(a)hotmail.com> --- Created attachment 54927 --> https://bugs.winehq.org/attachment.cgi?id=54927 (patched) WINEDEBUG=+winhttp,+wininit,+winsock,+teh,+sid wine Steam.exe It didn't work with your second patch so here is the output with your first patch. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=40865 Bruno Jesus <00cpxxx(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Summary|Steam needs to be online to |Steam does not connect to |update. Please confirm your |internet (gethostbyname_r |network connection and try |does not return ERANGE in |again. |NetBSD) Component|-unknown |winsock --- Comment #4 from Bruno Jesus <00cpxxx(a)gmail.com> --- Thanks for both tests, this is very interesting. In GNU/Linux we expect the function to return ERANGE in order to keep reallocating memory until the function is satisfied. But in NetBSD it seems like they use a different approach of returning "non-zero" and setting locerr to ENOBUFS. I could not find the man for this function in NetBSD. What version of NetBSD are you using? -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=40865 --- Comment #5 from Adrien Fernandes <adrien_fernandes2(a)hotmail.com> --- NetBSD 7.0.1 (GENERIC.201605221355Z) i386 It is the stable version -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=40865 Bruno Jesus <00cpxxx(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |00cpxxx(a)gmail.com --- Comment #6 from Bruno Jesus <00cpxxx(a)gmail.com> --- (In reply to Adrien Fernandes from comment #5)
NetBSD 7.0.1 (GENERIC.201605221355Z) i386 It is the stable version
Thanks, I downloaded and installed it and gethostbyname_r is not documented anywhere, it is not even in header files. Maybe it was introduced recently, can you open a sister bug with NetBSD and quote or link to this comment and comment 4 to check what they have to tell us about it please? If they just introduced the function and want it to be a drop-in replacement for the GNU/Linux function I guess they still have time to change the function. I never used NetBSD so I may be very well doing something wrong too. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=40865 --- Comment #7 from Adrien Fernandes <adrien_fernandes2(a)hotmail.com> --- http://mail-index.netbsd.org/netbsd-users/2016/06/29/msg018649.html -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=40865 Bruno Jesus <00cpxxx(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Severity|normal |major Status|UNCONFIRMED |NEW Summary|Steam does not connect to |Steam does not connect to |internet (gethostbyname_r |internet (gethostbyname_r |does not return ERANGE in |used even when not declared |NetBSD) |in netdb.h) Ever confirmed|0 |1 --- Comment #8 from Bruno Jesus <00cpxxx(a)gmail.com> --- (In reply to Adrien Fernandes from comment #7)
http://mail-index.netbsd.org/netbsd-users/2016/06/29/msg018649.html
Thanks. I just saw Christos Zoulas reply but I don't know how to reply to his specific message. I'll quote him here: ========== gethostbyname_r()/gethostbyaddr_r() are not documented for a reason; they are non-standard. There are at least 3 flavors out there last time I checked, and portable code should not be using them. I implemented them in NetBSD just to use them inside getaddrinfo()/getnameinfo(). I chose not to hide them completely and that was probably a bad decision seeing that some auto-configuration schemes look for functions in libc and then try to use the functions (even when they are no headers describing the functions; I'd really like to know how do they deduce the arguments...) Why doesn't wine use those instead (getaddrinfo()/getnameinfo())? ========== I believe this is a bug in Wine's side because the function is not present in netdb.h as expected so the configure check does generate a warning (just tested). Maybe we can add -Werror to this specific check (is it possible?) which would ensure the function will not be used when it is linkable but not declared anywhere. I just looked further about gethostbyname_r and it seems like there is at least one variation where the function returns a struct hostent * instead of an int [1]. So we need to be more careful in this case as it is not only used in winsock but also in kernel32 (bug 40799). This is major since any network related program will not be usable in NetBSD. [1] http://www.qnx.com/developers/docs/6.3.0SP3/neutrino/lib_ref/g/gethostbyname... -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=40865 --- Comment #9 from Bruno Jesus <00cpxxx(a)gmail.com> --- Ok, everyone. I need help, even better, I need you to fix this bug if possible. I looked into configure.ac but there is no precedent to this case as far as my limited knowledge goes. I tried to find a way to add -Werror to the compilation but failed, this should take 5 seconds for anyone used to change this file. The check for gethostbyname_r is at line 2200, the test succeeds BUT must not (as the function is not declared in netdb.h), as the #define name implies HAVE_LINUX_GETHOSTBYNAME_R_6 must be LINUX only. What about putting a #ifdef __linux__ in the test source? -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=40865 --- Comment #10 from Henri Verbeet <hverbeet(a)gmail.com> --- (In reply to Bruno Jesus from comment #9)
The check for gethostbyname_r is at line 2200, the test succeeds BUT must not (as the function is not declared in netdb.h), as the #define name implies HAVE_LINUX_GETHOSTBYNAME_R_6 must be LINUX only.
What about putting a #ifdef __linux__ in the test source?
You'd want something like __GLIBC__ since it's more of a glibc feature than a Linux feature, but I think the right approach would be to just use getaddrinfo()/getnameinfo() instead of gethostbyname_r()/gethostbyaddr_r(). -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=40865 --- Comment #11 from Adrien Fernandes <adrien_fernandes2(a)hotmail.com> --- A NetBSD developer temporarily added this to the Makefile of our pkgsrc package. CONFIGURE_ARGS.NetBSD+= wine_cv_linux_gethostbyname_r_6=no It seems to do the job but the developer also told me that it could creates some new problems about resolving hostnames (no problem actually on Steam). -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=40865 Alistair Leslie-Hughes <leslie_alistair(a)hotmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |patch -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=40865 Alistair Leslie-Hughes <leslie_alistair(a)hotmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #54884|0 |1 is patch| | -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=40865 Fabian Maurer <dark.shadow4(a)web.de> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |dark.shadow4(a)web.de --- Comment #12 from Fabian Maurer <dark.shadow4(a)web.de> --- Is this still a problem as of wine 7.0-rc5? -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=40865 Austin English <austinenglish(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |austinenglish(a)gmail.com --- Comment #13 from Austin English <austinenglish(a)gmail.com> --- (In reply to Fabian Maurer from comment #12)
Is this still a problem as of wine 7.0-rc5?
Probably. On NetBSD 9.2 (i386), bug 51843 is still present, in wine-7.12. I can't build wine because of that, so can't explicitly test this. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
participants (2)
-
wine-bugs@winehq.org -
WineHQ Bugzilla