When I try to run xmodmap I get an error: $ xmodmap Assertion failed: dpy->xcb->reply_data != NULL, file ../../libX11-1.2.99.901/src/xcb_io.c, line 542, function _XRead Abort(coredump) I run xmodmap in mdb and got: $ mdb /usr/X11R7/bin/xmodmap > :r mdb: warning: librtld_db failed to initialize; shared library information will not be available Assertion failed: dpy->xcb->reply_data != NULL, file ../../libX11-1.2.99.901/src/xcb_io.c, line 542 mdb: stop on SIGABRT mdb: target stopped at: libc_hwcap1.so.1`_lwp_kill+0x15:jae +0xc <libc_hwcap1.so.1`_lwp_kill+0x23> > ::stack libc_hwcap1.so.1`_lwp_kill+0x15(1, 6, 8047778, ce7fabde) libc_hwcap1.so.1`raise+0x22(6, 0, 80477c8, ce7d205a) libc_hwcap1.so.1`abort+0xf2(65737341, 6f697472, 6166206e, 64656c69, 7064203a, 783e2d79) libc_hwcap1.so.1`_assert+0x82(ce976312, ce97620c, 21e, ce9dd70c, 0, 804e950) libX11.so.6.3.0`_XRead+0x120(804e950, 805b1f8, 5c, ce9dd70c, 804e950, 5c) libX11.so.6.3.0`_XReadPad+0x38(804e950, 805b1f8, 5c, 0, ce700878, 8047ab0) libX11.so.6.3.0`XGetModifierMapping+0xb1(804e950, ce9f03c8, 8047ad8, 804bfc2, 804e950, 804e940) initialize_map+0x13(804e950, 804e940, 804e938, cea287a4, ce9f03c8, ce777e71) main+0xc2(8049170, 1, 8047b00) _start+0x80(1, 8047bfc, 0, 8047c04, 8047c15, 8047c28) > Inside xmodmap (file xmodmap.c in xmodmap.git) There are three calls to X function before error occurs 1 file xmodmap.c: dpy = XOpenDisplay (displayname); after call dpy->xcb->reply_data == 0 2 file xmodmap.c: XDisplayKeycodes (dpy, &min_keycode, &max_keycode); after call dpy->xcb->reply_data == 0 3 file handle.c: map = XGetModifierMapping (dpy); <- here I get the error Inside function XGetModifierMapping (file ModMap.c in libX11) there is a call (void) _XReply (dpy, (xReply *)&rep, 0, xFalse); which returns dpy->xcb->reply_data == 0 Inside function _XReply (file xcb_io.c in libX11) reply = xcb_wait_for_reply(c, current->sequence, &error); This call returns 0 when error occurs Before error there are three successful xcb_wait_for_reply calls. I added fprintf in files ModMap.c and xcb_io.c (like this - fprintf (stderr, "Before xcb_wait_for_reply: reply: %p; c: %p; current->sequence: %i; error: %p\n", reply, c, current->sequence, error);) and got: $ xmodmap Before xcb_wait_for_reply: reply: 0; c: 804ff28; current->sequence: 4; error: 80479f0 After xcb_wait_for_reply: reply: 805a738; c: 804ff28; current->sequence: 4; error: 0 Before xcb_wait_for_reply: reply: 0; c: 804ff28; current->sequence: 5; error: 18c1f2e After xcb_wait_for_reply: reply: 805a738; c: 804ff28; current->sequence: 5; error: 0 Before xcb_wait_for_reply: reply: 0; c: 804ff28; current->sequence: 6; error: 98 After xcb_wait_for_reply: reply: 805a738; c: 804ff28; current->sequence: 6; error: 0 Before _XReply: dpy->xcb->reply_data 0 Before xcb_wait_for_reply: reply: 0; c: 804ff28; current->sequence: 7; error: 5a70837 After xcb_wait_for_reply: reply: 0; c: 804ff28; current->sequence: 7; error: 0 After _XReply: dpy->xcb->reply_data 0 Before _XReadPad: dpy->xcb->reply_data 0 Assertion failed: dpy->xcb->reply_data != NULL, file ../../libX11-1.2.99.901/src/xcb_io.c, line 547, function _XRead Abort(coredump) libX11: commit 19cc5e1fa17a285045662820a8b4de2a0f9a194d Date: Fri Sep 18 17:10:04 2009 -0700 xmodmap: commit 4da097462b0b899e1790fd5a5f5e8ec811623c3d Date: Mon May 11 10:16:29 2009 -0700
which version of the server are you running and what's the full command you passed into xmodmap?
(In reply to comment #1) > which version of the server are you running and what's the full command you > passed into xmodmap? xserver from git commit 24716b9254fa7d609792596723a192bb044a7d3f Date: Fri Aug 28 22:52:48 2009 -0400 From Xorg.0.log: X.Org X Server 1.6.99.1 Release Date: (unreleased) X Protocol Version 11, Revision 0 Build Operating System: SunOS 5.11 i86pc Current Operating System: SunOS solaris 5.11 snv_122 i86pc Build Date: 31 August 2009 10:56:48PM 'xmodmap -display' runs without the error. It prints usage and available options. 'xmodmap -display :0.1' :0.1 incorrect display gives message xmodmap: unable to open display ':0.1' 'xmodmap -display :0.0' (:0.0 - correct display) and all other options (and without any options) give the error.
I've just cloned xserver from git and built it. Error the same. 'git log' shows last commit - commit d3a3c904e5e3b5e8bb3c51ca6a563880ff589bf3 Date: Mon Sep 21 09:41:46 2009 +1000
Yevgeniy, are you still seeing this with xserver 1.7.x releases? (Looks like bug 20357 BTW)
Now I am using Xorg 1.7.4 provided with OpenSolaris b132 so my check may be incorrect. But xmodmap (compiled from source) works fine. I checked that xmodmap uses X libraries compiled from source (not provided with OS)
Thanks for the update, let's assume it's been fixed. Please reopen if you see it again.
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.