http://bugs.winehq.org/show_bug.cgi?id=30205
Bug #: 30205 Summary: Unity Editor is unable to move project files Product: Wine Version: 1.5.0 Platform: x86-64 OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown AssignedTo: wine-bugs@winehq.org ReportedBy: lockert.fredrick@gmail.com Classification: Unclassified
Created attachment 39433 --> http://bugs.winehq.org/attachment.cgi?id=39433 Console output
When starting Unity with the default example project installed, it loads the default project during start up. Unity is supposed to move some files during this stage, but fails doing so.
To recreate this, simply download the Unity Editor and install with the example project selected. Activate the install and run Unity, it should now load the default project. After a while, it should output a dialog with "Moving file failed". The Try Again makes no difference, thus Force Quit is the only option.
http://bugs.winehq.org/show_bug.cgi?id=30205
Lockert Fredrick lockert.fredrick@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- URL| |http://unity3d.com/unity/do | |wnload
http://bugs.winehq.org/show_bug.cgi?id=30205
--- Comment #1 from Lockert Fredrick lockert.fredrick@gmail.com 2012-03-17 22:33:36 CDT --- Debug log with +relay,+seh,+tid active. http://fureloka.com/files/wine/debug/unity/UnityEditorDebug.txt
The file size is rather large (150MB).
http://bugs.winehq.org/show_bug.cgi?id=30205
Vitaliy Margolen vitaliy-bugzilla@kievinfo.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download
http://bugs.winehq.org/show_bug.cgi?id=30205
Lars Ivar Igesund larsivi@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |larsivi@gmail.com
--- Comment #2 from Lars Ivar Igesund larsivi@gmail.com 2012-08-31 15:47:04 CDT --- As the first "Moving file failed" message pops up, the following message was written to the console:
fixme:ntdll:NtLockFile I/O completion on lock not implemented yet
http://bugs.winehq.org/show_bug.cgi?id=30205
Klaus Weidner Klaus.Weidner@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |Klaus.Weidner@gmail.com
--- Comment #3 from Klaus Weidner Klaus.Weidner@gmail.com 2013-07-24 15:24:49 CDT --- I can confirm this error, but it seems a bit complicated in practice. Activating debugging output seems to have a similar error appear for a different move operation than when I don't have debugging enabled, so this may be timing related.
Here's a short excerpt from the previously attached console output. It appears that the file move succeeded, both based on the log messages and if I check the directory content while it's showing the error dialog.
However, FindClose() has retval=1 which indicates an error?
Based on other reports mentioning the NtLockFile FIXME, that's most likely a red herring - or is there any more direct evidence that it's related to this issue?
0009:Call KERNEL32.MoveFileExW(00159a70 L"C:\users\Public\Documents\Unity Projects\AngryBots\Temp\tempFile 1",0edfdae8 L"C:\users\Public\Documents\Unity Projects\AngryBots\Temp\tempFile",00000001) ret=7e6cd94b 0009:Ret KERNEL32.MoveFileExW() retval=00000000 ret=7e6cd94b 0009:Call KERNEL32.MoveFileW(00159a70 L"C:\users\Public\Documents\Unity Projects\AngryBots\Temp\tempFile 1",0edfdae8 L"C:\users\Public\Documents\Unity Projects\AngryBots\Temp\tempFile") ret=7e6cd9f4 0009:Ret KERNEL32.MoveFileW() retval=00000000 ret=7e6cd9f4 0009:Call KERNEL32.FindFirstFileW(0edfdae8 L"C:\users\Public\Documents\Unity Projects\AngryBots\Temp\tempFile",0033ca30) ret=7e6cd881 0009:Ret KERNEL32.FindFirstFileW() retval=0ee05ef0 ret=7e6cd881 0009:Call KERNEL32.FindClose(0ee05ef0) ret=7e6cd8a7 0009:Ret KERNEL32.FindClose() retval=00000001 ret=7e6cd8a7
0009:Ret shell32.SHFileOperationW() retval=00000000 ret=00bf6134 0009:Call KERNEL32.MultiByteToWideChar(0000fde9,00000000,1098b56c "Moving file failed",ffffffff,017262f8,000003e8) ret=00be78a0
http://bugs.winehq.org/show_bug.cgi?id=30205
--- Comment #4 from Klaus Weidner Klaus.Weidner@gmail.com 2013-07-25 16:19:31 CDT --- I think I figured out what's going on. The Unity editor is calling SHFileOperation and is checking the fAnyOperationsAborted field of the ops struct, and this field apparently doesn't get reliably initialized to false for successful calls.
The following patch fixed it for me, I can now successfully build projects.
$ diff -u dlls/shell32/shlfileop.c.orig dlls/shell32/shlfileop.c --- dlls/shell32/shlfileop.c.orig 2013-07-25 14:14:17.823626457 -0700 +++ dlls/shell32/shlfileop.c 2013-07-25 14:13:49.591626494 -0700 @@ -1542,6 +1542,7 @@ op.req = lpFileOp; op.bManyItems = (flFrom.dwNumFiles > 1);
+ lpFileOp->fAnyOperationsAborted = FALSE; switch (lpFileOp->wFunc) { case FO_COPY:
http://bugs.winehq.org/show_bug.cgi?id=30205
--- Comment #5 from Nikolay Sivov bunglehead@gmail.com 2013-07-26 01:04:35 CDT --- Looks like it's already fixed with http://source.winehq.org/git/wine.git/commit/32f636f6d1adb5bac0268b738990ee6....
http://bugs.winehq.org/show_bug.cgi?id=30205
Bruno Jesus 00cpxxx@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |32f636f6d1adb5bac0268b73899 | |0ee6cdf43bafd Status|UNCONFIRMED |RESOLVED Resolution| |FIXED
--- Comment #6 from Bruno Jesus 00cpxxx@gmail.com 2013-09-23 09:55:33 CDT --- (In reply to comment #5)
Looks like it's already fixed with http://source.winehq.org/git/wine.git/commit/32f636f6d1adb5bac0268b738990ee6....
Resolving fixed as the patch does the same thing from what the user states that works in comment 4.
http://bugs.winehq.org/show_bug.cgi?id=30205
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #7 from Alexandre Julliard julliard@winehq.org 2013-09-27 13:41:01 CDT --- Closing bugs fixed in 1.7.3.
https://bugs.winehq.org/show_bug.cgi?id=30205
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |focht@gmx.net Component|-unknown |shell32