http://bugs.winehq.org/show_bug.cgi?id=28802
Andrew Nguyen arethusa26@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Ever Confirmed|0 |1
--- Comment #3 from Andrew Nguyen arethusa26@gmail.com 2011-10-21 17:44:02 CDT --- The cause of the hang appears to be a deadlock between a thread waiting on an event to be signaled by another thread and that thread calling UpdateLayeredWindow, which tries to send a message to a window belonging to the the first thread, which is not pumping the window's message loop due to the event wait:
Backtracing for thread 000b in process 002d (C:\Program Files\Tunatic\tunatic.exe): Backtrace: =>0 0x72846230 _dl_sysinfo_int80() in ld-linux.so.2 (0x00a7df74) 1 0x7bc7ada8 NTDLL_wait_for_multiple_objects+0x227(count=0x1, handles=0xa7e204, flags=0x4, timeout=(nil), signal_object=<is not available>) [/home/arethusa/wine32/dlls/ntdll/../../../wine.git/dlls/ntdll/sync.c:1124] in ntdll (0x00a7e194) 2 0x7bc7ae97 NtWaitForMultipleObjects+0x56(count=0x1, handles=0xa7e204, wait_all=0, alertable=0, timeout=(nil)) [/home/arethusa/wine32/dlls/ntdll/../../../wine.git/dlls/ntdll/sync.c:1162] in ntdll (0x00a7e1c4) 3 0x7b86ae2a WaitForMultipleObjectsEx.part+0xe9() in kernel32 (0x00a7e324) 4 0x7b86b024 WaitForMultipleObjectsEx+0x43() in kernel32 (0x00a7e344) 5 0x6892a8e2 X11DRV_MsgWaitForMultipleObjectsEx+0xc1(count=0x1, handles=0xa7e488, timeout=0xffffffff, mask=0x40, flags=0) [/home/arethusa/wine32/dlls/winex11.drv/../../../wine.git/dlls/winex11.drv/event.c:464] in winex11 (0x00a7e384) 6 0x6866fbf8 wait_message+0x47() in user32 (0x00a7e3c4) 7 0x68638c34 wait_message_reply+0xf3(flags=0) [/home/arethusa/wine32/dlls/user32/../../../wine.git/dlls/user32/message.c:2897] in user32 (0x00a7e4a4) 8 0x68638ca7 send_inter_thread_message+0x56(info=0xa7e59c, res_ptr=0xa7e568) [/home/arethusa/wine32/dlls/user32/../../../wine.git/dlls/user32/message.c:3038] in user32 (0x00a7e514) 9 0x68638ea2 send_message+0x161() in user32 (0x00a7e584) 10 0x686393ac SendMessageW+0x4b(hwnd=0x2002c, msg=0x80000001, wparam=0, lparam=0xa7e620) [/home/arethusa/wine32/dlls/user32/../../../wine.git/dlls/user32/message.c:3264] in user32 (0x00a7e5d4) 11 0x6866ad1f SetWindowPos+0x5de(hwnd=0x2002c, hwndInsertAfter=(nil), x=0, y=0, cx=0xc8, cy=0x42, flags=0x41e) [/home/arethusa/wine32/dlls/user32/../../../wine.git/dlls/user32/winpos.c:2153] in user32 (0x00a7e654) 12 0x68665035 UpdateLayeredWindowIndirect+0xf4(hwnd=0x2002c, info=0xa7e6f4) [/home/arethusa/wine32/dlls/user32/../../../wine.git/dlls/user32/win.c:3507] in user32 (0x00a7e6d4) 13 0x68665312 UpdateLayeredWindow+0x61(hwnd=0x2002c, hdcDst=0x234, pptDst=(nil), psize=0xa7e770, hdcSrc=0x2fc, pptSrc=0xa7e768, crKey=0, pblend=0xa7e760, dwFlags=0x2) [/home/arethusa/wine32/dlls/user32/../../../wine.git/dlls/user32/win.c:3564] in user32 (0x00a7e724)
Backtracing for thread 002e in process 002d (C:\Program Files\Tunatic\tunatic.exe): Backtrace: =>0 0x72846230 _dl_sysinfo_int80() in ld-linux.so.2 (0x0033e758) 1 0x7bc7ada8 NTDLL_wait_for_multiple_objects+0x227(count=0x1, handles=0x33e9e8, flags=0x4, timeout=(nil), signal_object=<is not available>) [/home/arethusa/wine32/dlls/ntdll/../../../wine.git/dlls/ntdll/sync.c:1124] in ntdll (0x0033e978) 2 0x7bc7ae97 NtWaitForMultipleObjects+0x56(count=0x1, handles=0x33e9e8, wait_all=0, alertable=0, timeout=(nil)) [/home/arethusa/wine32/dlls/ntdll/../../../wine.git/dlls/ntdll/sync.c:1162] in ntdll (0x0033e9a8) 3 0x7b86ae2a WaitForMultipleObjectsEx.part+0xe9() in kernel32 (0x0033eb08) 4 0x7b86b024 WaitForMultipleObjectsEx+0x43() in kernel32 (0x0033eb28) 5 0x7b86b10c WaitForSingleObject+0x3b(handle=0x4c, timeout=0xffffffff) [/home/arethusa/wine32/dlls/kernel32/../../../wine.git/dlls/kernel32/sync.c:128] in kernel32 (0x0033eb58) 6 0x10007a62 in pthreadvc2 (+0x7a61) (0x0033eb80) 7 0x00414410 in tunatic (+0x1440f) (0x100012b2) 8 0x5fe4e900 (0x006679e9)