http://bugs.winehq.org/show_bug.cgi?id=11488
--- Comment #17 from Reece Dunn msclrhd@gmail.com 2008-02-10 04:56:10 --- (In reply to comment #16)
For me, git checkout 43083236c428e968a7fa1c54470a67cd89674034 ./configure --prefix=/usr/local/wine-20080207 make depend && make ./wine ../winetrickscache/arial32.exe reproduces the error, i.e. arial32 hangs after the progress window showing the copying files goes away.
Dan, your error looks like the wizard is not terminating its message loop. I would suspect it is not being sent a WM_QUIT message (via PostQWuitMessage) for some reason.
0016:Ret user32.EndDialog() retval=00000001 ret=0100307f ... 001a:Call user32.SendMessageW(00040024,00000138,000001d8,0003002e) ret=7e9ed2b4 [hang here]
The thing that interests me about this is that the message id (138, or 8a in hex - note the trace there would be more useful to have the message in hex as that is what they are in winuser.h) is not in winuser.h. Also, the dlls/comctl32/tests/propsheet.c tests are very minimal.
I chose that because it was said to be the parent of 6d59ddf67b6beb8862a4b784c9a52e8a34b5c13d. And indeed, then doing a git checkout of that revision and then building shows only kernel32/path.c was rebuilt. So I think your bisect might have been wrong, the real problem is earlier. Unless we're chasing different problems.
I suspect that this is the case. That change is doing an NtOpenFile/NtCloseFile for a directory. From what Austin said:
In current git/after that kernel32 patch, it gets to the point of copying files and hangs, not copying anything. Never succeeds after that.
The installer is hanging before it is copying files, not after it is completed. For Austin's issue, that patch looks valid. Does anyone know what the test coverage is like for this, w.r.t. the MOVEFILE_REPLACE_EXISTING flag for MoveFile on directories that don't exist, exist and exist, but with different permissions (e.g. something owned by root)?
BTW, I'm having trouble doing a bisect: $ git checkout wine-0.9.54 HEAD is now at 8f954cc... Release 0.9.54. $ git bisect start fatal: ref HEAD is not a symbolic ref Bad HEAD - I need a symbolic ref
gaah! Any tips? This is a fairly fresh source tree, the only funky thing I've done with it is do a few 'git checkout nnnnn's.
You need to do something like: $ git checkout master $ git bisect start $ git bisect bad $ git checkout wine-0.9.54 $ git bisect good
Bisect start doesn't like being on tags or at a random point.