* [Bug 32297] [r300g] WoW crashes on exit, when run in a window instead of full-screen.
2010-12-10 16:11 [Bug 32297] New: [r300g] WoW crashes on exit, when run in a window instead of full-screen bugzilla-daemon
@ 2011-01-05 0:35 ` bugzilla-daemon
2011-01-05 1:30 ` [Bug 32297] [r300g] Memory corruption crash when exiting DRI2/OpenGL application bugzilla-daemon
` (4 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: bugzilla-daemon @ 2011-01-05 0:35 UTC (permalink / raw)
To: dri-devel
https://bugs.freedesktop.org/show_bug.cgi?id=32297
--- Comment #1 from Chris Rankin <rankincj@googlemail.com> 2011-01-04 16:35:09 PST ---
(In reply to comment #0)
> Backtrace:
> =>0 0x7d88bbf7 dri2_invalidate_drawable+0x47(dPriv=*** Invalid address
> 0x0032eda8 ***
> Internal symbol error: unable to access memory location 0x32eda8)
I've dug a bit further into this with the latest git code, and it looks like
dri2_invalidate_drawable(dPriv) is (somehow) trying to use a garbage
dri_context structure. Basically, the dPriv->driContextPriv->driverPrivate
field seems to contain a value which is never allocated by
dri_create_context(). I haven't determined how this value is set yet, but I'm
suspecting memory corruption via a stale pointer because the dri_context struct
that all previous dPriv->driContextPriv->driverPrivate fields had referred to
had just been destroyed.
The previous backtrace seems to contain an invalid dPriv value instead, which
isn't exactly what I'm seeing now either.
--
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] 7+ messages in thread* [Bug 32297] [r300g] Memory corruption crash when exiting DRI2/OpenGL application.
2010-12-10 16:11 [Bug 32297] New: [r300g] WoW crashes on exit, when run in a window instead of full-screen bugzilla-daemon
2011-01-05 0:35 ` [Bug 32297] " bugzilla-daemon
@ 2011-01-05 1:30 ` bugzilla-daemon
2011-01-05 1:48 ` [Bug 32297] [r300g] Memory corruption crash when exiting application using DRI2_InvalidateBuffers bugzilla-daemon
` (3 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: bugzilla-daemon @ 2011-01-05 1:30 UTC (permalink / raw)
To: dri-devel
https://bugs.freedesktop.org/show_bug.cgi?id=32297
Chris Rankin <rankincj@googlemail.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Summary|[r300g] WoW crashes on |[r300g] Memory corruption
|exit, when run in a window |crash when exiting
|instead of full-screen. |DRI2/OpenGL application.
--
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] 7+ messages in thread* [Bug 32297] [r300g] Memory corruption crash when exiting application using DRI2_InvalidateBuffers
2010-12-10 16:11 [Bug 32297] New: [r300g] WoW crashes on exit, when run in a window instead of full-screen bugzilla-daemon
2011-01-05 0:35 ` [Bug 32297] " bugzilla-daemon
2011-01-05 1:30 ` [Bug 32297] [r300g] Memory corruption crash when exiting DRI2/OpenGL application bugzilla-daemon
@ 2011-01-05 1:48 ` bugzilla-daemon
2011-01-05 1:49 ` bugzilla-daemon
` (2 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: bugzilla-daemon @ 2011-01-05 1:48 UTC (permalink / raw)
To: dri-devel
https://bugs.freedesktop.org/show_bug.cgi?id=32297
Chris Rankin <rankincj@googlemail.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Summary|[r300g] Memory corruption |[r300g] Memory corruption
|crash when exiting |crash when exiting
|DRI2/OpenGL application. |application using
| |DRI2_InvalidateBuffers
--- Comment #2 from Chris Rankin <rankincj@googlemail.com> 2011-01-04 17:48:12 PST ---
Just to
--
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] 7+ messages in thread* [Bug 32297] [r300g] Memory corruption crash when exiting application using DRI2_InvalidateBuffers
2010-12-10 16:11 [Bug 32297] New: [r300g] WoW crashes on exit, when run in a window instead of full-screen bugzilla-daemon
` (2 preceding siblings ...)
2011-01-05 1:48 ` [Bug 32297] [r300g] Memory corruption crash when exiting application using DRI2_InvalidateBuffers bugzilla-daemon
@ 2011-01-05 1:49 ` bugzilla-daemon
2011-01-06 0:40 ` bugzilla-daemon
2011-01-09 19:13 ` bugzilla-daemon
5 siblings, 0 replies; 7+ messages in thread
From: bugzilla-daemon @ 2011-01-05 1:49 UTC (permalink / raw)
To: dri-devel
https://bugs.freedesktop.org/show_bug.cgi?id=32297
--- Comment #3 from Chris Rankin <rankincj@googlemail.com> 2011-01-04 17:49:10 PST ---
Just to be clear: the crash only happens when WoW is run inside a window. It
exits normally when run full-screen.
--
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] 7+ messages in thread* [Bug 32297] [r300g] Memory corruption crash when exiting application using DRI2_InvalidateBuffers
2010-12-10 16:11 [Bug 32297] New: [r300g] WoW crashes on exit, when run in a window instead of full-screen bugzilla-daemon
` (3 preceding siblings ...)
2011-01-05 1:49 ` bugzilla-daemon
@ 2011-01-06 0:40 ` bugzilla-daemon
2011-01-09 19:13 ` bugzilla-daemon
5 siblings, 0 replies; 7+ messages in thread
From: bugzilla-daemon @ 2011-01-06 0:40 UTC (permalink / raw)
To: dri-devel
https://bugs.freedesktop.org/show_bug.cgi?id=32297
--- Comment #4 from Chris Rankin <rankincj@googlemail.com> 2011-01-05 16:40:23 PST ---
I think I've debugged this as far as I can; to get any further I'll need to
find where the __DRIcontext.driverPrivate field is set to the "garbage"(?)
value.
According to the fprintf() statements that I've littered throughout the
Mesa/gallium code, where:
&__DRIcontext = 0x7d6f8d70
&struct dri_context = 0x7d13c4f0
Starting just before the crash:
** ENTER dri2_destroy_context: pcp->driContext=0x7d6f8d70,
pcp->driContext->driverPrivate=0x7d13c4f0
** destroying dri_context 0x7d13c4f0
*** setting cPriv(0x7d6f8d70)->driverPrivate from 0x7d13c4f0 to NULL
** DONE dri2_destroy_context: pcp->driContext=0x7d6f8d70,
pcp->driContext->driverPrivate=(nil)
So at this point, we have destroyed the dri_context at 0x7d13c4f0, and for good
measure I have also explicitly NULLed out the __DRIcontext.driverPrivate field
which referred to it. However, we then get this call to DRI2WireToEvent(),
which triggers the fatal call to dri2InvalidateBuffers():
** ENTER DRI2WireToEvent
*** wire->u.u.type=0x4b
dri2 invalidate buffers: awire=0x7a56b4c8, awire->drawable=0x4800011
** ENTER dri2GetGlxDrawableFromXDrawableId
** found pdraw=0x7d775bd8 for drawable 0x4800011: cPriv=0x7d6f8d70,
driverPrivate=0x7a5047a8
** ENTER dri2InvalidateBuffers: pdp->driDrawable->driContextPriv=0x7d6f8d70
** drawable IDs: 0x4800011 0x7d775c78
dri2_invalidate_drawable: dPriv=0x7d775c78, dPriv->driContextPriv=0x7d6f8d70,
drawable=0x7d775cf8, ctx=0x7a5047a8, drawable->dPriv=0x7d775c78
wine: Unhandled page fault on read access to 0x0000003c at address 0x7d9710df
(thread 000d), starting debugger...
This event fetches a struct dri2_drawable from the dri2Hash structure, which is
linked to the __DRIcontext at 0x7d6f8d70 via driDrawable->driContextPriv.
However, the driverPrivate field on this __DRIcontext structure is now set to
0x7a5047a8, which is a garbage value as far as I can tell. Chaos ensues when
this value is mistaken for the address of a struct dri_context.
Interestingly, this problem actually DOES happen when WoW runs full-screen.
However, the Wine debugger isn't started to tell me about it.
If anyone has any ideas on how to debug this further then I'm all ears. I've
already tried using valgrind, but wine/WoW completely failed to run.
--
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] 7+ messages in thread* [Bug 32297] [r300g] Memory corruption crash when exiting application using DRI2_InvalidateBuffers
2010-12-10 16:11 [Bug 32297] New: [r300g] WoW crashes on exit, when run in a window instead of full-screen bugzilla-daemon
` (4 preceding siblings ...)
2011-01-06 0:40 ` bugzilla-daemon
@ 2011-01-09 19:13 ` bugzilla-daemon
5 siblings, 0 replies; 7+ messages in thread
From: bugzilla-daemon @ 2011-01-09 19:13 UTC (permalink / raw)
To: dri-devel
https://bugs.freedesktop.org/show_bug.cgi?id=32297
Chris Rankin <rankincj@googlemail.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution| |DUPLICATE
--- Comment #5 from Chris Rankin <rankincj@googlemail.com> 2011-01-09 11:13:16 PST ---
The patch in #31940's comment 7 seems to fix the issue here as well. (So far,
anyway...)
*** This bug has been marked as a duplicate of bug 31940 ***
--
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] 7+ messages in thread