Summary: | libX11/src/xcb_io.c:553: _XRead: Assertion `dpy->xcb->reply_data != ((void *)0)' failed. | ||||||
---|---|---|---|---|---|---|---|
Product: | xorg | Reporter: | Jon Turney <jon.turney> | ||||
Component: | Server/Input/Core | Assignee: | dmx-bugs | ||||
Status: | RESOLVED FIXED | QA Contact: | Xorg Project Team <xorg-team> | ||||
Severity: | normal | ||||||
Priority: | medium | CC: | yselkowi | ||||
Version: | git | ||||||
Hardware: | Other | ||||||
OS: | All | ||||||
Whiteboard: | |||||||
i915 platform: | i915 features: | ||||||
Attachments: |
|
Description
Jon Turney
2009-10-19 07:17:10 UTC
This assert is also reported in an unclear fashion at http://lists.freedesktop.org/archives/xorg/2009-October/047728.html This seems to be caused by a failure of the call to generate_modkeymap() in ProcGetModifierMapping() in the backend X server. Presumably that causes badly-formed X11 protocol to be emitted, which causes the assert. (16:05:20) JKac3BEq: I've seen that error too (16:05:36) JKac3BEq: I get that when I try to write to the back end display directly, instead of writing to the Xdmx display So I tried starting the backend X servers with -noreset, didn't help. I should add that this doesn't seem to occur with Xdmx ... -input dummy. Created attachment 30574 [details] [review] Patch to resolve an inconsistency between libX11 and Xserver over GetModifierMapping It seems the assert occurs because there is an inconsistency between the Xserver and libX11 about whether the GetModifierMapping protocol request can return an error or not. libX11 assumes it doesn't, but the Xserver can. Attached patch resolves this inconsistency in favour of libX11, as that's what the protocol docs seem to say. ProcXGetDeviceModifierMapping() also uses generate_modkeymap() in a similar way, needs auditing if this it has a similar problem. As to why my modmap is disappearing exposing this problem, that's another issue... (In reply to comment #4) > Created an attachment (id=30574) [details] > Patch to resolve an inconsistency between libX11 and Xserver over > GetModifierMapping If so, the variable 'ret' is no longer needed in this function. Applied as commit 909df9beb3ddd02632f36ae682537280a6a8e5b4 |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.