http://bugs.winehq.org/show_bug.cgi?id=31882
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW CC| |focht@gmx.net Component|-unknown |winex11.drv Summary|arial32.exe randomly crash |Many multithreaded gui apps |or deadlock while |randomly deadlock in |installing |winex11 driver surface | |section (arial32.exe, | |Aquanox, Mahaa demo, Total | |Commander) Ever Confirmed|0 |1
--- Comment #13 from Anastasius Focht focht@gmx.net 2012-10-06 04:44:17 CDT --- Hello Erich,
--- quote --- Anyway, this bug _should_ be resolvable by upgrading to libxcb 1.8 or newer. --- quote ---
The freshly released libxcb 1.9 (libxcb-1.9.tar.bz2, 05-Oct-2012 05:58, 379K) is needed which includes the multithreading patch. Without the upgrade any multithreaded gui app is prone to deadlocks. I encountered this bug in several installers (winetricks recipes) and other apps I regularly use.
The problem is with the older distros where libxcb may stay as it is for a long time or forever if no upgrade path/EOL. You will get a ton of bug reports because of this issue if these distros package wine-1.5.15+ or people build Wine on their own there. They need to revert 5a9de7a4989dcf08914b5efd3152248a70be4548 to avoid libxcb and dependencies upgrade path.
BTW cherry picking the multithreading patch didn't help for older libxcb 1.7. The problem was still present hence I did a full upgrade to 1.9. This is not something the average user does. It involves upgrading/rebuilding package and its dependencies. For my slightly older Fedora 16 which has libxcb 1.7 it worked out, though I had to upgrade/rebuild xcb-proto too.
Although the root cause seems to be the same, the libxcb bug is exposed through a different code path/module in Wine. If you mark this bug a dupe of bug 31406 you should make a better summary there because it affects a _wide_ range of apps. Another option could be to close this upstream too and keep it separate to collect all dupes containing winex11 surface deadlocks here.
http://cgit.freedesktop.org/xcb/libxcb/commit/?id=23911a707b8845bff52cd7853f...
Regards