Xorg crashes when executing setxkbmap

Bug #198611 reported by Daniel Hahler
2
Affects Status Importance Assigned to Milestone
X.Org X server
Fix Released
Unknown
xorg-server (Debian)
Fix Released
Unknown
xorg-server (Ubuntu)
In Progress
Undecided
Timo Aaltonen

Bug Description

Executing the following statement crashes Xorg on Kubuntu Hardy (KDE4), ending the kdm session and bringing me back to the login screen:
setxkbmap -model microsoftprousb -layout de -variant deadacute

Backtrace of Xorg, unfortunately with wrong encoding (putty was misconfigured). If this is important I can provide a better one:
#0 0xb7cd839c in free () from /lib/tls/i686/cmov/libc.so.6
No symbol table info available.
#1 0x081b8881 in Xfree (ptr=0x1180002) at ../../os/utils.c:1466
No locals.
#2 0x0818e7d2 in XkbCopyKeymap (src=0x826a758, dst=0x8259e60, sendNotifies=1) at ../../xkb/xkbUtils.c:1728
 i = 2
 j = 2
 k = <value optimized out>
 tmp = <value optimized out>
 scolor = (XkbColorPtr) 0x86bcba0
 dcolor = (XkbColorPtr) 0x825ccc0
 sdoodad = <value optimized out>
 ddoodad = <value optimized out>
 stype = (XkbKeyTypePtr) 0x83aadc0
 dtype = (XkbKeyTypePtr) 0x825a650
 soutline = <value optimized out>
 doutline = <value optimized out>
 sprop = <value optimized out>
 dprop = <value optimized out>
 srow = <value optimized out>
 drow = (XkbRowPtr) 0x825d868
 ssection = <value optimized out>
 dsection = (XkbSectionPtr) 0x825d508
 sshape = <value optimized out>
 dshape = <value optimized out>
 pDev = <value optimized out>
 tmpDev = <value optimized out>
 mn = {type = 129 '\201', xkbType = 136 '\210', sequenceNumber = 2075, time = 138987368, deviceID = 132 '\204',
  ptrBtnActions = 175 '�', changed = 2077, minKeyCode = 168 '�', maxKeyCode = 129 '\201', firstType = 135 '\207',
  nTypes = 191 '�', firstKeySym = 99 'c', nKeySyms = 95 '_', firstKeyAct = 25 '\031', nKeyActs = 8 '\b',
  firstKeyBehavior = 104 'h', nKeyBehaviors = 199 '�', firstKeyExplicit = 72 'H', nKeyExplicit = 8 '\b',
  firstModMapKey = 1 '\001', nModMapKeys = 0 '\0', firstVModMapKey = 2 '\002', nVModMapKeys = 3 '\003', virtualMods = 1,
  pad1 = 0}
 nkn = {type = 96 '`', xkbType = 199 '�', sequenceNumber = 2120, time = 32, deviceID = 0 '\0', oldDeviceID = 0 '\0',
  minKeyCode = 0 '\0', maxKeyCode = 128 '\200', oldMinKeyCode = 88 'X', oldMaxKeyCode = 167 '�', requestMajor = 38 '&',
  requestMinor = 8 '\b', changed = 44932, detail = 29 '\035', pad1 = 8 '\b', pad2 = 138987368, pad3 = 136648032,
  pad4 = 3213328776}
#3 0x08184efa in ProcXkbGetKbdByName (client=0x8440018) at ../../xkb/xkb.c:5402
 nkn = {type = 0 '\0', xkbType = 0 '\0', sequenceNumber = 0, time = 209, deviceID = 3 '\003',
  oldDeviceID = 21 '\025', minKeyCode = 0 '\0', maxKeyCode = 0 '\0', oldMinKeyCode = 8 '\b', oldMaxKeyCode = 118 'v',
  requestMajor = 0 '\0', requestMinor = 0 '\0', changed = 0, detail = 0 '\0', pad1 = 0 '\0', pad2 = 2112, pad3 = 7687,
  pad4 = 1073741824}
 i = <value optimized out>
 nG = <value optimized out>
 nTG = 1
 dev = (DeviceIntPtr) 0x8251560
 tmpd = (DeviceIntPtr) 0x8251f78
 finfo = {type = 22, defined = 127, xkb = 0x8373fa8}
 rep = {type = 1 '\001', deviceID = 0 '\0', sequenceNumber = 9, length = 3074, minKeyCode = 8 '\b',
  maxKeyCode = 255 '�', loaded = 1 '\001', newKeyboard = 0 '\0', found = 127, reported = 255, pad1 = 0, pad2 = 0, pad3 = 0,
  pad4 = 0}
 mrep = {type = 1 '\001', deviceID = 0 '\0', sequenceNumber = 9, length = 1340, pad1 = 32769, minKeyCode = 8 '\b',
  maxKeyCode = 255 '�', present = 255, firstType = 0 '\0', nTypes = 24 '\030', totalTypes = 24 '\030',
  firstKeySym = 8 '\b', totalSyms = 314, nKeySyms = 248 '�', firstKeyAct = 8 '\b', totalActs = 79, nKeyActs = 248 '�',
  firstKeyBehavior = 8 '\b', nKeyBehaviors = 248 '�', totalKeyBehaviors = 0 '\0', firstKeyExplicit = 8 '\b',
  nKeyExplicit = 248 '�', totalKeyExplicit = 69 'E', firstModMapKey = 8 '\b', nModMapKeys = 248 '�',
  totalModMapKeys = 13 '\r', firstVModMapKey = 1 '\001', nVModMapKeys = 1 '\001', totalVModMapKeys = 0 '\0', pad2 = 0 '\0',
  virtualMods = 65535}
 crep = {type = 1 '\001', deviceID = 0 '\0', sequenceNumber = 9, length = 492, groups = 15 '\017', pad1 = 0 '\0',
  firstSI = 0, nSI = 122, nTotalSI = 122, pad2 = 17105152, pad3 = 256, pad4 = 33882624, pad5 = 3085697280}
 irep = {type = 1 '\001', deviceID = 0 '\0', sequenceNumber = 9, length = 96, which = 4294967295,
  realIndicators = 7, nIndicators = 1 '\001', pad1 = 129 '\201', pad2 = 259, pad3 = 4, pad4 = 33784321, pad5 = 3213295620}
 nrep = {type = 1 '\001', deviceID = 0 '\0', sequenceNumber = 9, length = 501, which = 8191, minKeyCode = 8 '\b',
  maxKeyCode = 255 '�', nTypes = 24 '\030', groupNames = 1 '\001', virtualMods = 8191, firstKey = 8 '\b', nKeys = 248 '�',
  indicators = 63, nRadioGroups = 0 '\0', nKeyAliases = 57 '9', nKTLevels = 83, pad3 = 3213295616}
 grep = {type = 1 '\001', deviceID = 0 '\0', sequenceNumber = 9, length = 605, name = 490, found = 1 '\001',
  pad = 0 '\0', widthMM = 5500, heightMM = 1900, nProperties = 1, nColors = 4, nShapes = 27, nSections = 7, nDoodads = 4,
  nKeyAliases = 2, baseColorNdx = 1 '\001', labelColorNdx = 0 '\0'}
 names = {keymap = 0x0, keycodes = 0x86bc838 "xfree86+aliases(qwertz)", types = 0x86be2e8 "complete",
  compat = 0x8421b90 "complete", symbols = 0x845f780 "pc+de(deadacute)+inet(microsoftprousb)+ctrl(nocaps)",
  geometry = 0x84e87a8 "microsoft(natural)"}
 xkb = (XkbDescPtr) 0x826a758
 str = <value optimized out>
 mapFile = "server-0", '\0' <repeats 4087 times>
 fwant = 127
 fneed = 31
 status = 0
 geom_changed = 1
 sli = <value optimized out>
#4 0x0818c94a in ProcXkbDispatch (client=0x0) at ../../xkb/xkb.c:6178
No locals.
#5 0x0815068e in XaceCatchExtProc (client=0x8440018) at ../../Xext/xace.c:299
 major = 151
 ext = <value optimized out>
#6 0x0808d8df in Dispatch () at ../../dix/dispatch.c:502
 result = <value optimized out>
 client = (ClientPtr) 0x8440018
 nready = 0
 start_tick = 360
#7 0x0807471b in main (argc=8, argv=0xbf879904, envp=0x0) at ../../dix/main.c:452
 pScreen = <value optimized out>
 i = 1
 error = 136163204
 xauthfile = <value optimized out>
 alwaysCheckForInput = {0, 1}
The program is running. Quit anyway (and detach it)? (y or n) Detaching from program: /usr/bin/Xorg, process 28761

Revision history for this message
Timo Aaltonen (tjaalton) wrote :

Seems that upstream has a fix for this. I'll add it to our package.

Changed in xorg-server:
assignee: nobody → tjaalton
status: New → In Progress
Changed in xorg-server:
status: Unknown → Confirmed
Changed in xorg-server:
status: Confirmed → Fix Released
Changed in xorg-server:
status: Unknown → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.