(In reply to comment #24) > (In reply to comment #21) > > Looked over this some more with Kristian today. It looks like the root of > > the > > problem is that the GLX drawable we're destroying in __glXdrawableDestroy > > has a > > stale corresponding X drawable, which was destroyed in the GLX DestroyWindow > > hook (added by 120286aef59dabdb7c9fa762e08457e5cc8ec3a6). > > glxDestroyWindow() itself doesn't destroy the DrawableRec, but as I've pointed > out over and over again, the destruction of a window indeed cannot be > deferred.
Right, thus this patch. > > That'll make the X drawable go away, but we'll be left with a pDraw pointing > > into freed space, probably crashing when we get to __glXdrawableDestroy for > > the > > actual GLX drawable in question. > > The purpose of glxDestroyWindow() was to clean up such dangling references. > Apparently it's missing some of them (now). > > > This patch does a lookup on the X drawable ID corresponding to the GLX > > drawable > > at destruction time, and ignores it if it no longer exists. Kristian put > > together an alternate approach as well but it needs a little work: > > http://people.freedesktop.org/~krh/glx-mess.patch. > > Yeah, when we discussed this kind of issue earlier, Kristian was against using > IDs everywhere, and I think there are good arguments for not doing that. Such as? Do you have ideas for an alternate approach? Or do you like Kristian's proposed patch better? > > > And per the last comment, DRI2 priv destruction also needs some fixing; I > > think > > it's now safe to always free the priv and clear the private wherever we call > > DRI2FreeDrawable, since we check everywhere we need to whether the priv > > still > > exists and so shouldn't crash. > > If you're referring to the last paragraph of comment #19, I'm not sure that'll > do. If there are outstanding swaps referencing the DrawableRec of a window > being destroyed, those swaps will need to be cancelled or whatever is > necessary > to clean up the dangling references. I don't know how to handle this yet, I'll look at it some more... -- xserver crashes when closing application using clutter https://bugs.launchpad.net/bugs/550218 You received this bug notification because you are a member of Registry Administrators, which is the registrant for Debian. _______________________________________________ Mailing list: https://launchpad.net/~registry Post to : [email protected] Unsubscribe : https://launchpad.net/~registry More help : https://help.launchpad.net/ListHelp

