[Xcb] X server bug on BIG-REQUESTS?

Barton C Massey bart at cs.pdx.edu
Sat Jun 10 10:26:46 PDT 2006


Betcha $1 it's an ancient server bug.

Until we get it diagnosed and fixed, I vote we work around
it by setting the limit on request size for this request to
1MB rather than 4MB.  This will be invisible on servers with
BIGREQUEST (i.e. most of them), and mostly invisible even on
servers without.

Once we have the putative server bug diagnosed and fixed,
we'll have a harder decision; I suspect we should check the
server version and continue to go small on old servers.

Has someone checked other requests that send large data to
see if they also cause the problem?  If it's in the
server-side handler, it's likely this isn't the only broken
request.

	Bart

In message <3058A7D5-552C-4E7F-8B72-6B332A484F6E at quirkster.com> you wrote:
> 
> On Jun 9, 2006, at 9:54 PM, Jamey Sharp wrote:
> >
> > On my system, my test app reports the following:
> >
> > 	maximum request length in 4-byte units: 4194303
> > 	creating a 1024x1024 pixmap (1048576 pixels, 4194304 bytes)
> > 	create.sequence = 3; put.sequence = 0
> > 	XCBFlush failed.
> > 	XCBPollForEvent: I/O error occured, but no handler provided.
> > 	Aborted
> >
> > At this point I believe we've identified an X server bug, and I think
> > the error is in the ReadRequestFromClient function in os/io.c, but  
> > this
> > function is incomprehensible to me. I think the symptom is that this
> > function is incorrectly returning -1 (causing a call to  
> > CloseDownClient
> > in Dispatch) when we send it this large request. It's worth noting the
> > comment that says, "Watch out: needed sometimes counts bytes and
> > sometimes counts CARD32's," which sounds like exactly the kind of
> > confusion we're seeing.
> 
> For what its worth, this also happens on the XFree86 4.4.0 server
> shipped with Mac OS X.  Either this bug has been around a
> long time, or it isn't really a server bug.
> 
> (More data: 1023x1024 and 1022x1025 works, but 1023x1025 fails, even  
> though
> that size is 4194300 bytes, less than 4194303 max length.)
> 
> Ian
> 
> _______________________________________________
> Xcb mailing list
> Xcb at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/xcb


More information about the Xcb mailing list