We're over the extension event limit -- what are we going to do about it?

Aaron Plattner aplattner at nvidia.com
Sun Mar 28 17:07:20 PDT 2010


A number of our end users are getting bitten by a nasty bug on recent
distributions: the new events added to the DRI2 extension, when combined in
a typical server configuration with the NV-CONTROL extension, put the total
number of extension events over the limit and some other extension, such as
DAMAGE, fails to register.

This is clearly a big problem, so we need to come up with a solution,
preferably soon before broken servers become entrenched.  Here's a quick
list of potential solutions.  Please suggest more if you have a better
idea.


1. Move the new DRI2 extension events to the Generic Event Extension.

   This is the cleanest solution because DRI2 is the extension that changed
   to put it over the limit.  Also, the code is brand new and has not been
   in an official release yet, so hopefully it's being used in the fewest
   places.

2. Drop some other extension with events that nobody uses.

   I'm sure we'll argue endlessly about which extension to remove.

3. Decrease EXTENSION_EVENT_BASE from 64 to LASTEvent+1.

   I don't know the protocol well enough to know if that's even allowed,
   and we'd have to audit some code to make sure it doesn't have any (event
   >= 64 ==> extension) assumptions.


I think regardless of the solution we choose above, we need to make sure
that any new events get added via the Generic Event Extension to prevent
this from happening again.

-- Aaron


More information about the xorg-devel mailing list