http://bugs.winehq.org/show_bug.cgi?id=35953
Bug ID: 35953 Summary: FFXIV: ARR - Launcher requires native winhttp to run. Product: Wine Version: 1.7.16 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: winhttp Assignee: wine-bugs@winehq.org Reporter: narthorn@gmail.com
Created attachment 48024 --> http://bugs.winehq.org/attachment.cgi?id=48024 Screenshot of the actual error along terminal output without debug trace.
When using built-in winhttp, trying to launch Final Fantasy XIV - A Realm Reborn fails at the very start of the launch process, where the launcher sends an HTTP request to check if a newer version of the launcher is available.
When no new version is available, the server replies with status code 204: No Content.
However, builtin wine seems to misreport 4294967295 (2^32-1) bytes of available data in the response, as shown by this tiny snippet of trace:
0034:trace:winhttp:query_headers returning data: L"HTTP/1.1 204 No Content\r\nServer: nginx\r\nContent-Type: text/html; charset=UTF-8\r\nX-Patch-Module: ZiPatch\r\nX-Protocol: http\r\nX-Latest-Version: 2014.04.02.0000.0001\r\nDate: Sun, 06 Apr 2014 08:24:14 GMT\r\nConnection: keep-alive\r\n" 0034:trace:winhttp:WinHttpQueryDataAvailable 0x3, (nil) 0034:trace:winhttp:send_callback 0x131718, 0x00040000, 0xbbe91c, 4 0034:trace:winhttp:WinHttpReadData 0x3, 0x7de230, 1024, (nil) 0035:trace:winhttp:read_data retrieved 1024 bytes (1024/4294967295) 0035:trace:winhttp:send_callback 0x131718, 0x00080000, 0x7de230, 1024 0034:trace:winhttp:query_data_available 4294967295 bytes available
When using native winhttp, no calls to WinHttpReadData are made.
http://bugs.winehq.org/show_bug.cgi?id=35953
--- Comment #1 from Vincent Vinel narthorn@gmail.com --- Accidentally posted report before I was finished writing.
Using wireshark, there no difference in the actual requests and responses whether native or builtin winhttp is used.
Adding specific traces as attachments.
http://bugs.winehq.org/show_bug.cgi?id=35953
--- Comment #2 from Vincent Vinel narthorn@gmail.com --- Created attachment 48025 --> http://bugs.winehq.org/attachment.cgi?id=48025 WINEDEBUG=+winhttp,+tid wine ~/.wine/drive_c/ffxiv/boot/ffxivboot.exe
http://bugs.winehq.org/show_bug.cgi?id=35953
--- Comment #3 from Vincent Vinel narthorn@gmail.com --- Created attachment 48026 --> http://bugs.winehq.org/attachment.cgi?id=48026 WINEDEBUG=+snoop wine ~/wine/drive_c/ffxiv/boot/ffxivboot.exe
https://bugs.winehq.org/show_bug.cgi?id=35953
--- Comment #4 from Hans Leidekker hans@meelstraat.net --- This might be fixed in current git, please test.
https://bugs.winehq.org/show_bug.cgi?id=35953
Chiitoo escomk3@hotmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |escomk3@hotmail.com
--- Comment #5 from Chiitoo escomk3@hotmail.com --- Seems to still be present in wine-1.7.37.
I just did a quick try with a fresh and outdated launcher, which sees there are 334 bytes available, seemingly retrieves them, but then dies with the same code(s):
Unable to complete version check. [30605][10007]
However, updating the launcher with native winhttp and then going back to builtin afterwards will properly show 0 bytes, yet the launcher still dies with the same code(s).
https://bugs.winehq.org/show_bug.cgi?id=35953
--- Comment #6 from Chiitoo escomk3@hotmail.com --- Created attachment 50942 --> https://bugs.winehq.org/attachment.cgi?id=50942 Trace of builtin winhttp running out-of-date launcher.
https://bugs.winehq.org/show_bug.cgi?id=35953
--- Comment #7 from Chiitoo escomk3@hotmail.com --- Created attachment 50943 --> https://bugs.winehq.org/attachment.cgi?id=50943 Trace of builtin winhttp running up-to-date launcher.
https://bugs.winehq.org/show_bug.cgi?id=35953
--- Comment #8 from Chiitoo escomk3@hotmail.com --- Over at IRC, vpovirk asked if I had yet taken a look with Wireshark, which I had been thinking of, but tried to avoid since I don't much have know-how on those parts, yet, but I guess I shouldn't keep avoiding it and did take a quick look-see!
Using the built-in winehttp, the connection doesn't seem to get reset; there is no [RST, ACK] while it is there when using native.
Instead, built-in seems to keep listening, and indeed does receive an extra [FIN, ACK], but I've no idea really what to make of it, if anything.
I ran only a few tests so far, but I do hope this is already something of note!
https://bugs.winehq.org/show_bug.cgi?id=35953
Thomas Kowaliczek linuxdonald@posteo.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |linuxdonald@posteo.de
https://bugs.winehq.org/show_bug.cgi?id=35953
Mike Ellery mellery@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |mellery@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=35953
Jerome Leclanche adys.wh@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |adys.wh@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=35953
--- Comment #9 from Jerome Leclanche adys.wh@gmail.com --- Created attachment 52020 --> https://bugs.winehq.org/attachment.cgi?id=52020 Wireshark comparisons
Confirming.
Attached is good.pcapng, a log of the startup with native wininet, and bad.pcapng, using builtin one.
https://bugs.winehq.org/show_bug.cgi?id=35953
Jerome Leclanche adys.wh@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Ever confirmed|0 |1
--- Comment #10 from Jerome Leclanche adys.wh@gmail.com --- For some reason, they seem to be querying different URLs.
Bad: http://patch-bootver.ffxiv.com/http/win32/ffxivneo_release_boot/2014.06.24.0...
Good: http://patch-bootver.ffxiv.com/http/win32/ffxivneo_release_boot/2014.06.24.0...
Any ideas?
https://bugs.winehq.org/show_bug.cgi?id=35953
--- Comment #11 from Jerome Leclanche adys.wh@gmail.com --- Sorry, Good: http://patch-bootver.ffxiv.com/http/win32/ffxivneo_release_boot/2015.06.12.0...
https://bugs.winehq.org/show_bug.cgi?id=35953
--- Comment #12 from Jerome Leclanche adys.wh@gmail.com --- I did some digging and this fails right after querying for the "Connection" header, in winhttp query_headers().
https://bugs.winehq.org/show_bug.cgi?id=35953
Michael Müller michael@fds-team.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |michael@fds-team.de
--- Comment #13 from Michael Müller michael@fds-team.de --- The following two patches fix the bug: https://github.com/wine-compholio/wine-staging/tree/master/patches/winhttp-R... (the first one just removes an unused variable)
The problem is caused by WinHttpQueryHeaders. The returned headers must be terminated by a double \r\n when using WINHTTP_QUERY_RAW_HEADERS_CRLF. So far this was only the case for the request headers but not the response headers.
I will submit the patch later this week.
https://bugs.winehq.org/show_bug.cgi?id=35953
super_man@post.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |super_man@post.com
--- Comment #14 from super_man@post.com --- The patch has been merged now.
https://bugs.winehq.org/show_bug.cgi?id=35953
Sebastian Lackner sebastian@fds-team.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |sebastian@fds-team.de
--- Comment #15 from Sebastian Lackner sebastian@fds-team.de --- (In reply to super_man from comment #14)
The patch has been merged now.
Yes, the patch was merged in http://source.winehq.org/git/wine.git/commit/d2890778f944e2567b0828cfd46636c..., please retest.
https://bugs.winehq.org/show_bug.cgi?id=35953
super_man@post.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |focht@gmx.net
https://bugs.winehq.org/show_bug.cgi?id=35953
--- Comment #16 from Vincent Vinel narthorn@gmail.com --- Looks to be working now. Thanks !
https://bugs.winehq.org/show_bug.cgi?id=35953
Vincent Vinel narthorn@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |FIXED
--- Comment #17 from Vincent Vinel narthorn@gmail.com --- marking as fixed
https://bugs.winehq.org/show_bug.cgi?id=35953
Sebastian Lackner sebastian@fds-team.de changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |d2890778f944e2567b0828cfd46 | |636c72f979b37
https://bugs.winehq.org/show_bug.cgi?id=35953
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #18 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 1.7.55.