* [Bug 29170] New: [regression] Far Cry (in Wine) hangs on level load
@ 2010-07-20 13:04 bugzilla-daemon
2010-07-20 17:22 ` [Bug 29170] " bugzilla-daemon
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: bugzilla-daemon @ 2010-07-20 13:04 UTC (permalink / raw)
To: dri-devel
https://bugs.freedesktop.org/show_bug.cgi?id=29170
Summary: [regression] Far Cry (in Wine) hangs on level load
Product: Mesa
Version: git
Platform: Other
OS/Version: All
Status: NEW
Severity: normal
Priority: medium
Component: Drivers/DRI/r300
AssignedTo: dri-devel@lists.freedesktop.org
ReportedBy: sa@whiz.se
Created an attachment (id=37237)
--> (https://bugs.freedesktop.org/attachment.cgi?id=37237)
backtrace from hang
The game Far Cry (running in Wine) hangs when a level loads. Bisecting (and
confirming by reverting) leads to this commit:
f8d81c31cee30821da3aab331a57f484f6a07a5d is the first bad commit
commit f8d81c31cee30821da3aab331a57f484f6a07a5d
Author: Nick Bowler <nbowler@draconx.ca>
Date: Wed Jul 14 12:01:49 2010 -0400
dri2: Track event mask in client code.
When direct rendering is being used, DRI2 BufferSwapComplete events are
sent unconditionally to clients, even if they haven't been requested.
This causes error messages to be printed by every freeglut application
of the form
freeglut (./gears): Unknown X event type: 104
and might confuse other clients.
This is a fixed up version of the patch by Jesse Barnes, which drops
BufferSwapComplete events if they are not requested by clients.
Fixes fdo bug 27962.
Signed-off-by: Nick Bowler <nbowler@draconx.ca>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
:040000 040000 43b22479000d40e4034e467746bda73544d1ef4f
a7c81f4433d420249b67bee1a16bc047a45141a0 M src
System environment:
-- system architecture: 32-bit
-- Linux distribution: Debian unstable
-- GPU: RV570
-- Model: Asus EAX1950Pro 256MB
-- Display connector: DVI
-- xf86-video-ati: cdeb1949c820242f05a8897d3ddd0718f204dacf
-- xserver: 1.8.99.904 (1.9.0 RC 4)
-- mesa: c1cbdbfde0a1f016f9d3f23a39cb7bc0b9825e12
-- drm: 6ea2bda5f5ec8f27359760ce580fdad3df0464df
-- kernel: 2.6.35-rc5
--
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
^ permalink raw reply [flat|nested] 4+ messages in thread* [Bug 29170] [regression] Far Cry (in Wine) hangs on level load
2010-07-20 13:04 [Bug 29170] New: [regression] Far Cry (in Wine) hangs on level load bugzilla-daemon
@ 2010-07-20 17:22 ` bugzilla-daemon
2010-07-20 18:08 ` bugzilla-daemon
2010-07-21 0:32 ` bugzilla-daemon
2 siblings, 0 replies; 4+ messages in thread
From: bugzilla-daemon @ 2010-07-20 17:22 UTC (permalink / raw)
To: dri-devel
https://bugs.freedesktop.org/show_bug.cgi?id=29170
--- Comment #1 from Nick Bowler <nbowler@draconx.ca> 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.
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Bug 29170] [regression] Far Cry (in Wine) hangs on level load
2010-07-20 13:04 [Bug 29170] New: [regression] Far Cry (in Wine) hangs on level load bugzilla-daemon
2010-07-20 17:22 ` [Bug 29170] " bugzilla-daemon
@ 2010-07-20 18:08 ` bugzilla-daemon
2010-07-21 0:32 ` bugzilla-daemon
2 siblings, 0 replies; 4+ messages in thread
From: bugzilla-daemon @ 2010-07-20 18:08 UTC (permalink / raw)
To: dri-devel
https://bugs.freedesktop.org/show_bug.cgi?id=29170
--- Comment #2 from Sven Arvidsson <sa@whiz.se> 2010-07-20 11:08:04 PDT ---
(In reply to comment #1)
>
> 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.
The patch works fine here, thanks for taking the time to fix this!
> There's nothing radeon-specific about this, every DRI2 driver should be
> affected.
Thanks for confirming, where should it be reassigned to, Mesa core?
--
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Bug 29170] [regression] Far Cry (in Wine) hangs on level load
2010-07-20 13:04 [Bug 29170] New: [regression] Far Cry (in Wine) hangs on level load bugzilla-daemon
2010-07-20 17:22 ` [Bug 29170] " bugzilla-daemon
2010-07-20 18:08 ` bugzilla-daemon
@ 2010-07-21 0:32 ` bugzilla-daemon
2 siblings, 0 replies; 4+ messages in thread
From: bugzilla-daemon @ 2010-07-21 0:32 UTC (permalink / raw)
To: dri-devel
https://bugs.freedesktop.org/show_bug.cgi?id=29170
Nick Bowler <nbowler@draconx.ca> changed:
What |Removed |Added
----------------------------------------------------------------------------
Component|Drivers/DRI/r300 |GLX
AssignedTo|dri-devel@lists.freedesktop |mesa-dev@lists.freedesktop.
|.org |org
--
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2010-07-21 0:32 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-07-20 13:04 [Bug 29170] New: [regression] Far Cry (in Wine) hangs on level load bugzilla-daemon
2010-07-20 17:22 ` [Bug 29170] " bugzilla-daemon
2010-07-20 18:08 ` bugzilla-daemon
2010-07-21 0:32 ` bugzilla-daemon
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.