[Bug 33931] Steam is broken when installed on a "Local hard disk" type drive

wine-bugs at winehq.org wine-bugs at winehq.org
Mon Aug 19 13:57:05 CDT 2013


http://bugs.winehq.org/show_bug.cgi?id=33931

--- Comment #1 from Gediminas Jakutis <gediminas at varciai.lt> 2013-08-19 13:57:05 CDT ---
This bug is also triggered if Wine has to access a directory which is symlinked
to somewhere outside the "emulated volume/disk". Examples:

example #1:
[wineprefix]/drive_c/windows/Fonts symlinked to /foo/bar/sharedfonts

example #2:
Steam being installed under d:\steam, d: being mapped to /foo/bar/games and
/foo/bar/games/steam is a symlink to ../../steamisreallyhere (which would be
/foo/steamisreallyhere, and that is "outside" /foo/bar/games.)

example where it doesn't get triggered:
[wineprefix]/drive_c/windows/fonts symlinked to [wineprefix]/drive_c/somedir
works fine as it's within the same emulated c: drive

Unlike the previous way to trigger this bug, this one is fully reversible -
removing the offending symlink or relinking it to somewhere "within the bounds"
of an emulated drive makes the issue go away.

I suppose this means that "Local hard disk" setting flips off something deeper
to trigger this bug instead of being the source of the problem itself.

The fact that those GetVolumePathNameW calls only appear when this bug is in
action, I get the feeling Wine takes some different codepath somewhere which
ends up being not-well-working. I'm going to try to dig it out where it happens
and find what exactly goes wrong.

Observation #1:
Let's say c:\some_dir_wine_accesses is symlink at /foo/bar/somedir, which is
outside c: bounds. By default this would make /foo/bar/somedir accessible by
two possible paths: c:\some_dir_wine_accesses and z:\foo\bar\somedir. But
despite that, two possible paths is not the cause. As removing the default z: 
drive (which then leaves it with only one access path) doesn't change the
behaviour at all.

Observation #2:
It is triggered if Wine tries to access the symlinked directory no matter if it
access any files inside it or not. A good example - symlinking the Fonts folder
to an empty directory.

(The Fonts directory is very handy for triggering/testing this bug - it always
gets accessed by Wine, yet contains nothing even remotely important [and is
empty by default in the first place...])

-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
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.



More information about the wine-bugs mailing list