When QA Works: X.org and memory leaks and crashes, oh my

CORRECTIONS: i) the initial version of this post incorrectly stated that Jesse Barnes works for Red Hat; he actually works for Intel, and it's been updated to reflect that.

ii) Fedora does in fact ship the GLX 1.4 backport, in Fedora 12 rather than Fedora 13. Thanks to Kevin Kofler for that information.

Some of you may have read about a memory leak that cropped up very late in Ubuntu 10.04 development process. They kindly put this phrase in their explanation of the bug:

"One possible solution is to roll back the GLX 1.4 enablement patches, and the patch which caused the memory leak to appear. These GLX patches were produced by RedHat and incorporated into Debian, they were not brought in due to Ubuntu-specific requirements"

which can obviously create the impression that the patches in question actually come from Red Hat Enterprise Linux, or from Fedora. (The explanation has since been updated everywhere it appears, AFAIK).

The 'GLX 1.4 enablement patches' do come from Fedora: Fedora 12 includes X server 1.7, with GLX 1.4 backported from X server 1.8. (This post previously suggested Fedora did not include these patches). However, the actual patch that caused the problem in Ubuntu was not part of the GLX 1.4 backport, but was an attempt to fix this bug. Sometimes X would crash when Clutter-based apps closed. Fedora did actually suffer from this bug too.

However, Ubuntu and Fedora took different approaches to fixing it. Ubuntu seems to have taken one of Jesse Barnes' early attempts to fix the problem (Jesse works for Intel, not Red Hat as this post previously stated). In the end, though, if you read the upstream bug, Jesse ceded to Kristian Høgsberg (who, for the record, works for Intel), who provided a better fix which was committed to upstream. For Fedora 13, we took Kristian's fix, not any of Jesse's attempts. This was included in xorg-x11-server-1.8.0-7.fc13 . That seems to have caused a couple of problems with compositing managers.

-7 was sent as a candidate update for F13, got bad Bodhi feedback (as you'd expect) and was withdrawn; it never went into the 'stable' F13 repo (the one from which the final F13 will actually be built). The bugs were fixed by adding one more upstream patch, from Michel Dänzer, to xorg-x11-server-1.8.0-8.fc13 . That build has good feedback, and was pushed to F13 updates two days ago.

So in summary our processes worked very well, we didn't jump on an incomplete fix, we didn't push the initial upstream fix to the 'stable' F13 because our feedback system made us aware of the problems it caused, we did push the fully-working fixed package when it was confirmed ready, and we were never at any point subject to the memory leak issue.

Ubuntu took a different approach to fixing the problem, and hit their own bug with their chosen fix (the memory leak), but they also seem to have resolved their bug quickly, so their process appears to be working well too.

Comments

mjg59 wrote on 2010-04-27 23:49:
Jesse works for Intel.
adamw wrote on 2010-04-28 00:32:
yikes! Thanks for the info. I'll update. I think I just get Jesse and Matthew confused too much.
kevin-kofler wrote on 2010-04-28 06:14:
Actually, Fedora does ship these backports, in Fedora 12 (which is using xorg-x11-server 1.7.x, originally 1.7.1, in updates 1.7.6, i.e. the same version Ubuntu is now shipping), see xserver-1.7.0-glx-versioning.patch and xserver-1.7.1-glx14-swrast.patch. The first patch has been there since F12 GA, the second one was added shortly afterwards and ended up shipped as part of the xorg-x11-server-1.7.4-1.fc12 update (FEDORA-2010-0317) on January 19. So I suspect the Clutter-induced crash also affects F12 and also needs to be fixed there.
adamw wrote on 2010-04-28 12:25:
Thanks for the info Kevin, will update the post (again) and poke ajax about the clutter issue.
[...] When QA Works: X.org and memory leaks and crashes, oh my [...]