https://bugs.freedesktop.org/show_bug.cgi?id=29170 --- Comment #1 from Nick Bowler <nbowler@xxxxxxxxxx> 2010-07-20 10:22:49 PDT --- Created an attachment (id=37248) View: https://bugs.freedesktop.org/attachment.cgi?id=37248 Review: https://bugs.freedesktop.org/review?bug=29170&attachment=37248 Make global GLX mutex recursive. Sigh. Here's a horrible, horrible hack that should get the game working until someone who understands mesa locking comes up with a better idea. Looks like if a dri2 context is destroyed while a swap event is pending (seems to happen easily if there are two contexts in one application, maybe it only happens in this case?), we get a deadlock. The garbage collector is called while holding the global glx mutex, which calls XSync, which tries to handle the pending swap event, which tries to take the mutex --> boom. Looking at the code, it doesn't seem like this is entirely a new problem, either: invalidate events also take the global mutex in DRI2WireToEvent and I imagine they can cause a similar deadlock. There's nothing radeon-specific about this, every DRI2 driver should be affected. -- Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug. _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/dri-devel