http://bugs.winehq.org/show_bug.cgi?id=35397
Bug ID: 35397 Summary: Endless Steam Client Update even after fresh install Product: Wine Version: unspecified Hardware: x86-64 OS: FreeBSD Status: UNCONFIRMED Severity: blocker Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: lehmannwer@gmail.com Classification: Unclassified
$ wine --version wine-1.7.10 $
FreeBSD (x64) 9.1
Geforce 8600 GT
nvidia-driver-319.32
Even after complete deletion of the Steam folder and a fresh install of the SteamSetup.exe file, when setup seems complete, it downloads about 104 MB of updates and starts an update process which never ends. I thought that this problem had been fixed with version 1.7.8. The Steam client used to work on this machine last year with version 1.4, so it can't be a hardware related problem.
http://bugs.winehq.org/show_bug.cgi?id=35397
Nikolay Sivov bunglehead@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Severity|blocker |normal
http://bugs.winehq.org/show_bug.cgi?id=35397
Nikolay Sivov bunglehead@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Version|unspecified |1.7.10
http://bugs.winehq.org/show_bug.cgi?id=35397
--- Comment #1 from Austin English austinenglish@gmail.com --- Please attach the terminal output.
What compiler did you use to compile wine? Clang or gcc?
http://bugs.winehq.org/show_bug.cgi?id=35397
--- Comment #2 from lehmannwer@gmail.com --- I did not compile anything, I used a package from the repository as described here:
https://wiki.freebsd.org/i386-Wine
Some of the terminal output is:
$ cd .wine/drive_c/Program\ Files/Steam/ $ wine Steam.exe fixme:heap:HeapSetInformation 0x0 1 0x0 0 [2014-01-16 22:39:13] Startup - updater built Jan 7 2014 12:07:57 fixme:advapi:EventRegister {47a9201e-73b0-42ce-9821-7e134361bc6f}, 0x3f005c90, 0x3f03ab30, 0x3f03ab28 fixme:advapi:EventRegister {58a9201e-73b0-42ce-9821-7e134361bc70}, 0x3f005c90, 0x3f03ab68, 0x3f03ab60 fixme:advapi:EventRegister {3fa9201e-73b0-43fe-9821-7e145359bc6f}, 0x3f005c90, 0x3f03aaf8, 0x3f03aaf0 fixme:advapi:EventRegister {1432afee-73b0-42ce-9821-7e134361b433}, 0x3f005c90, 0x3f03aba0, 0x3f03ab98 fixme:advapi:EventRegister {4372afee-73b0-42ce-9821-7e134361b519}, 0x3f005c90, 0x3f03abd8, 0x3f03abd0 fixme:heap:HeapSetInformation 0x0 1 0x0 0 [2014-01-16 22:39:14] uninstalled manifest found in C:\Program Files\Steam\package\steam_client_win32 (1). [2014-01-16 22:39:14] Found pending update [2014-01-16 22:39:14] Installing update... [2014-01-16 22:39:14] Extracting package... [2014-01-16 22:39:17] Installing update... [2014-01-16 22:39:20] Failed to clean up after update, continuing... [2014-01-16 22:39:20] Cleaning up... [2014-01-16 22:39:20] Failed to clean up after update, continuing... [2014-01-16 22:39:20] Update complete, launching Steam... [2014-01-16 22:39:20] Shutdown $ fixme:heap:HeapSetInformation 0x0 1 0x0 0 [2014-01-16 22:39:20] Startup - updater built Jan 7 2014 12:07:57 [2014-01-16 22:39:20] Verifying installation... [2014-01-16 22:39:21] BVerifyInstalledFiles: friends\AchievementNotification.res is 1919 bytes, expected 1919 [2014-01-16 22:39:21] BVerifyInstalledFiles: friends\addfriendenterdetailssubpanel.res is 1968 bytes, expected 1968 [2014-01-16 22:39:21] BVerifyInstalledFiles: friends\addfriendresultsubpanel.res is 749 bytes, expected 749 [2014-01-16 22:39:21] BVerifyInstalledFiles: friends\addfriendresultsubpanel_failure.res is 770 bytes, expected 770 [2014-01-16 22:39:21] BVerifyInstalledFiles: friends\addfriendresultsubpanel_success.res is 787 bytes, expected 787 [2014-01-16 22:39:21] BVerifyInstalledFiles: friends\BlockCommunicationResultDialog.res is 1619 bytes, expected 1619 [2014-01-16 22:39:21] BVerifyInstalledFiles: friends\BlockCommunicationWarningDialog.res is 2471 bytes, expected 2471 [2014-01-16 22:39:21] BVerifyInstalledFiles: friends\chatinfobar.res is 1015 bytes, expected 1015 [2014-01-16 22:39:21] BVerifyInstalledFiles: friends\ChatIntroductionDialog.res is 4541 bytes, expected 4541 [2014-01-16 22:39:21] BVerifyInstalledFiles: friends\ChatInviteNotification.res is 2730 bytes, expected 2730 [2014-01-16 22:39:21] BVerifyInstalledFiles: friends\ChatMsgNotification.res is 2754 bytes, expected 2754 [2014-01-16 22:39:21] BVerifyInstalledFiles: friends\ChatPasswordWarningDialog.res is 2345 bytes, expected 2345
http://bugs.winehq.org/show_bug.cgi?id=35397
David Naylor naylor.b.david@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |naylor.b.david@gmail.com
--- Comment #3 from David Naylor naylor.b.david@gmail.com --- I can confirm this bug, I have exactly the same issue. I am also the one who compiles the wine packages. In this case wine was compiled by Clang-3.3.
http://bugs.winehq.org/show_bug.cgi?id=35397
--- Comment #4 from David Naylor naylor.b.david@gmail.com --- This issue is still present on FreeBSD with version 1.7.15.
http://bugs.winehq.org/show_bug.cgi?id=35397
--- Comment #5 from lehmannwer@gmail.com --- Problem still present with i386-wine-devel-1.7.16,1 for 64bit FreeBSD. Is this being looked into?
http://bugs.winehq.org/show_bug.cgi?id=35397
Jarkko K jarkko_korpi@hotmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |jarkko_korpi@hotmail.com
--- Comment #6 from Jarkko K jarkko_korpi@hotmail.com --- Maybe you should ask here
https://github.com/ValveSoftware/steam-for-linux/issues
http://bugs.winehq.org/show_bug.cgi?id=35397
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download, Installer URL| |http://media.steampowered.c | |om/client/installer/SteamSe | |tup.exe CC| |focht@gmx.net
--- Comment #7 from Anastasius Focht focht@gmx.net --- Hello lehmannwer,
since you are running FreeBSD 9.1 which is not very commonly used for Wine/gaming and now considered 'legacy' you have to provide more information.
I tried to set up a FreeBSD 10.x VM with Qemu/KVM but failed on the graphics drivers/xserver part (got some nice segfaults). Since I didn't want to waste lots of time on an exotic and seemingly broken system I gave up.
You have to create a trace log when installing Steam in clean (new!) 32-bit WINEPREFIX.
1) set WINEPREFIX to your steam prefix (if not default) 2) ensure no processes are running in steam prefix -> 'wineserver -k' 3) start steam as follows:
--- snip --- $ WINEDEBUG=+tid,+seh,+relay wine ./steam.exe >>log.txt 2>&1 --- snip ---
run until failure/repeated downloads. Attach the log (compress if too large).
You might also try this on FreeBSD 10.0 (production) or 9.2 (legacy).
@Jarkko:
This bug is about the Windows version of the Steam client, not the native Linux client. Adding to that, they are not very cooperative/responsive when it comes to running Steam client with Wine, so expect no help there. This is already the correct place to report problems.
Regards
http://bugs.winehq.org/show_bug.cgi?id=35397
--- Comment #8 from David Naylor naylor.b.david@gmail.com --- As requested, the compressed log of the looping ./Stream.exe process is available at http://people.freebsd.org/~dbn/wine/log.txt.xz (it could not be attached due to the size).
The log was generated on the following system: # uname -a FreeBSD dragon.dg 9.2-STABLE FreeBSD 9.2-STABLE #0 f31ec93: Sun Oct 27 21:33:06 SAST 2013 root@dragon.dg:/tmp/home/freebsd/9/src/sys/MODULAR amd64
http://bugs.winehq.org/show_bug.cgi?id=35397
lehmannwer@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Version|1.7.10 |1.7.20
--- Comment #9 from lehmannwer@gmail.com --- Meanwhile I have FreeBSD 9.2 with i386-wine-devel-1.7.20,1 installed, but still no difference. Has any progress been made in this matter? I see that David Naylor has this as "TODO" in the Freebsd wine wiki.
http://bugs.winehq.org/show_bug.cgi?id=35397
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Version|1.7.20 |1.7.10 Summary|Endless Steam Client Update |Endless Steam Client Update |even after fresh install |even after fresh install | |(BSD | |'read_directory_getdirentri | |es' implementation broken) Ever confirmed|0 |1
--- Comment #10 from Anastasius Focht focht@gmx.net --- Hello Werner,
please don't change the reported Wine version.
The rule is: earliest Wine version this bug was reported against.
--- quote --- Meanwhile I have FreeBSD 9.2 with i386-wine-devel-1.7.20,1 installed, but still no difference. Has any progress been made in this matter? I see that David Naylor has this as "TODO" in the Freebsd wine wiki. --- quote ---
Gemach, gemach ... I spent half a day getting a VirtualBox VM with FreeBSD 9.2 up and running that has a _suitable_ environment for doing investigations. The suffering ... ahhh.
After spending some good hours I came to conclusion that the BSD helper for 'NtQueryDirectoryFile' -> 'read_directory_getdirentries' is broken.
It misses out entries. Wildcard case = more entries = more likely to overflow during single read -> restart scan. Entries get duplicated again with the first part and the real remainder entries are lost.
--- snip --- ... 0028:Call KERNEL32.FindFirstFileW(00201068 L"\\?\C:\Program Files\Steam\package\tmp\friends\*",01792fb0) ret=0043e32a 0028:trace:file:FindFirstFileExW L"\\?\C:\Program Files\Steam\package\tmp\friends\*" 0 0x1792fb0 0 0x0 0 0028:trace:file:RtlDosPathNameToNtPathName_U (L"\\?\C:\Program Files\Steam\package\tmp\friends\*",0xbf9760,0xbf9768,0x0) 0028:trace:file:wine_nt_to_unix_file_name L"\??\C:\Program Files\Steam\package\tmp\friends\" -> "/home/vboxuser/.wine/dosdevices/c:/Program Files/Steam/package/tmp/friends/" 0028:trace:file:NtQueryDirectoryFile (0xb8 0x0 0x0 0x0 0xbf9738 0x1786e0 0x00002000 0x00000003 0x00000000 L"*" 0x00000001 0028:trace:file:append_entry long L"." short L"" mask L"*" 0028:trace:file:match_filename (L".", L"*") 0028:trace:file:append_entry long L".." short L"" mask L"*" 0028:trace:file:match_filename (L"..", L"*") 0028:trace:file:append_entry long L"friend_join.wav_" short L"FRIE~QLW.WAV" mask L"*" 0028:trace:file:match_filename (L"friend_join.wav_", L"*") 0028:trace:file:append_entry long L"friend_online.wav_" short L"FRIE~TZT.WAV" mask L"*" 0028:trace:file:match_filename (L"friend_online.wav_", L"*") 0028:trace:file:append_entry long L"icon_chatFailed.tga_" short L"ICON~UPV.TGA" mask L"*" ... 0028:trace:file:append_entry long L"trackerui_thai.txt_" short L"TRAC~5S5.TXT" mask L"*" 0028:trace:file:match_filename (L"trackerui_thai.txt_", L"*") 0028:trace:file:append_entry long L"trackerui_turkish.txt_" short L"TRAC~3YQ.TXT" mask L"*" 0028:trace:file:match_filename (L"trackerui_turkish.txt_", L"*") 0028:trace:file:append_entry long L"." short L"" mask L"*" 0028:trace:file:match_filename (L".", L"*") 0028:trace:file:append_entry long L".." short L"" mask L"*" 0028:trace:file:match_filename (L"..", L"*") 0028:trace:file:append_entry long L"friend_join.wav_" short L"FRIE~QLW.WAV" mask L"*" 0028:trace:file:match_filename (L"friend_join.wav_", L"*") 0028:trace:file:append_entry long L"friend_online.wav_" short L"FRIE~TZT.WAV" mask L"*" 0028:trace:file:match_filename (L"friend_online.wav_", L"*") 0028:trace:file:append_entry long L"icon_chatFailed.tga_" short L"ICON~UPV.TGA" mask L"*" 0028:trace:file:match_filename (L"icon_chatFailed.tga_", L"*") ... 0028:trace:file:append_entry long L"trackerui_portuguese.txt_" short L"TRAC~Y0F.TXT" mask L"*" 0028:trace:file:match_filename (L"trackerui_portuguese.txt_", L"*") 0028:trace:file:append_entry long L"trackerui_romanian.txt_" short L"TRAC~CAS.TXT" mask L"*" 0028:trace:file:match_filename (L"trackerui_romanian.txt_", L"*") 0028:trace:file:append_entry long L"trackerui_russian.txt_" short L"TRAC~MXI.TXT" mask L"*" 0028:trace:file:match_filename (L"trackerui_russian.txt_", L"*") 0028:trace:file:NtQueryDirectoryFile => 0 (6824) 0028:trace:file:FindNextFileW 0x177d30 0x1792fb0 0028:trace:file:FindNextFileW returning L"." (L"") 0028:Ret KERNEL32.FindFirstFileW() retval=00177d30 ret=0043e32a ... --- snip ---
This is from a single 'NtQueryDirectoryFile' call within 'FindFirstFileW'. Notice the repeating entries (".", "..", "friend_join.wav_") after first half (restart).
Using the POSIX fallback 'read_directory_readdir' (= pretending system with no 'getdirentries' system call) helped, it made the Steam client to work.
I'm really surprised that only the Steam didn't work for you. With that kind of bug quite a number of installers/apps/games should be broken.
Regards
http://bugs.winehq.org/show_bug.cgi?id=35397
--- Comment #11 from David Naylor naylor.b.david@gmail.com --- Hi Anastasius,
Thank you very much for working on this issue. I am sure many people from FreeBSD land will be equally happy.
Could you please answer some questions (and some comments in general) regarding your comments: 1) You mentioned having difficulty getting a VirtualBox VM with FreeBSD 9.2 set-up. I would like to develop a solution that minimises any such barrier: 1.1) What qualifies as a suitable environment? 1.2) What were the difficulties you encountered? 2) On my side I have noticed at least two other game failing: Unreal Tournament 3 and Eve Online. I don't often need to reinstall apps and my other games/apps do appear to be working (such as MS Office 7, Command and Conquer 3: Tiberium Wars, Warcraft 3 and Oil Rush)
Thank you again :-)
Regards
http://bugs.winehq.org/show_bug.cgi?id=35397
--- Comment #12 from lehmannwer@gmail.com --- Thank you guys for your replies so far. Sorry for changing the version, I thought it would help people to see that the problem is still present.
I do not understand:
"Using the POSIX fallback 'read_directory_readdir' (= pretending system with no 'getdirentries' system call) helped, it made the Steam client to work."
So what should I do? I guess as an end user without any programming skills wait until the next i386-wine-devel version?
https://bugs.winehq.org/show_bug.cgi?id=35397
--- Comment #13 from David Naylor naylor.b.david@gmail.com --- Created attachment 50211 --> https://bugs.winehq.org/attachment.cgi?id=50211 Fix implementation of getdirentries
This patch allows Steam to properly verify an installation and launch. It also fixes launching Unreal Tournament 3.
https://bugs.winehq.org/show_bug.cgi?id=35397
Sebastian Lackner sebastian@fds-team.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |sebastian@fds-team.de
--- Comment #14 from Sebastian Lackner sebastian@fds-team.de --- (In reply to David Naylor from comment #13)
Created attachment 50211 [details] Fix implementation of getdirentries
This patch allows Steam to properly verify an installation and launch. It also fixes launching Unreal Tournament 3.
Patches aren't picked up from bugzilla, please send your patch to the wine-patches mailing list for reviewing. Take a look here http://wiki.winehq.org/SubmittingPatches for more details.
https://bugs.winehq.org/show_bug.cgi?id=35397
--- Comment #15 from lehmannwer@gmail.com --- Has this patch already been integrated? I have just upgraded to i386-wine-devel 1.7.38,1 on my FreeBSD amd64 9.3 system and it still doesn't work. Or can someone please tell me how I could apply that patch using the ports tree on my system, if possible?
https://bugs.winehq.org/show_bug.cgi?id=35397
--- Comment #16 from David Naylor naylor.b.david@gmail.com --- Yes the patches have been submitted, no they have not been accepted yet (they need to be broken down into a series of changes).
If you wanted to incorporate this patch into your build then: 1) Save the patch into the directory emulators/wine-devel/files (with a "patch-" prefix). 2) Edit the file to remove the "a/" and "b/" prefix to the file paths. 3) Rebuild emulators/i386-wine-devel (in an i386 chroot/environment)
https://bugs.winehq.org/show_bug.cgi?id=35397
Michael Müller michael@fds-team.de changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |STAGED CC| |michael@fds-team.de Staged patchset| |https://github.com/wine-com | |pholio/wine-staging/tree/ma | |ster/patches/ntdll-FreeBSD_ | |Directory
https://bugs.winehq.org/show_bug.cgi?id=35397
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Component|-unknown |ntdll
https://bugs.winehq.org/show_bug.cgi?id=35397
--- Comment #17 from lehmannwer@gmail.com --- Thanks a lot for the help. Meanwhile I have upgraded my System from FreeBSD amd64 9.3 to 10.2 and the problem is gone. Steam Client now updates and runs correctly, meanwhile using i386-wine-staging-1.7.55,1. Only thing is that sometimes after an upgrade of the steam client I only get a black screen an then cannot browse the store or view the news.
https://bugs.winehq.org/show_bug.cgi?id=35397
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |patch
https://bugs.winehq.org/show_bug.cgi?id=35397
--- Comment #18 from David Naylor naylor.b.david@gmail.com --- I confirm that wine-staging 1.9.5 has a work-around for this issue however, per the patch from https://github.com/wine-compholio/wine-staging/blob/master/patches/ntdll-Fre... it is simply disabling the use of getdirentries on FreeBSD, instead of fixing it.
See also https://bugs.wine-staging.com/show_bug.cgi?id=670
https://bugs.winehq.org/show_bug.cgi?id=35397
Sebastian Lackner sebastian@fds-team.de changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|STAGED |NEW
--- Comment #19 from Sebastian Lackner sebastian@fds-team.de --- This issue should be fixed with http://source.winehq.org/git/wine.git/commit/12fc123338f7af601d3fe76b168a644.... Could you please retest?
https://bugs.winehq.org/show_bug.cgi?id=35397
--- Comment #20 from David Naylor naylor.b.david@gmail.com --- Tested on Steam (needed to wait for an update) and the new implementation works. Thank you :-)
https://bugs.winehq.org/show_bug.cgi?id=35397
winetest@luukku.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |dimesio@earthlink.net, | |winetest@luukku.com
https://bugs.winehq.org/show_bug.cgi?id=35397
Rosanne DiMesio dimesio@earthlink.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |FIXED Fixed by SHA1| |12fc123338f7af601d3fe76b168 | |a644fcd7e1362
--- Comment #21 from Rosanne DiMesio dimesio@earthlink.net --- Marking fixed.
https://bugs.winehq.org/show_bug.cgi?id=35397
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #22 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 1.9.23.