Current xserver head segfault

Lukas Hejtmanek xhejtman at ics.muni.cz
Sat Jun 21 11:41:30 PDT 2008


On Fri, Jun 20, 2008 at 02:17:28AM +0200, Pierre Willenbrock wrote:
> I think i ran into this, too. I found that the assumption about the size  
> of curKeySyms.map changes over time, causing invalid writes into glibc  
> malloc datastructures. I couldn't find the code that does the invalid  
> writes, though. Fixing maxSymsPerKey to 8 makes this go away for me.  
> Attached is a patch that contains some debug messages and the  
> aforementioned fix(which obviously needs to be removed to see the real  
> values in the log). I hope this helps someone to find the problem.

What about this:

==18289== Invalid write of size 1
==18289==    at 0x4C27C24: memmove (mc_replace_strmem.c:517)
==18289==    by 0x447352: SetKeySymsMap (string3.h:59)
==18289==    by 0x538176: CopyKeyClass (exevents.c:197)
==18289==    by 0x53901F: DeepCopyDeviceClasses (exevents.c:547)
==18289==    by 0x539A72: ChangeMasterDeviceClasses (exevents.c:756)
==18289==    by 0x539B59: UpdateDeviceState (exevents.c:801)
==18289==    by 0x53A664: ProcessOtherEvent (exevents.c:1002)
==18289==    by 0x57E255: ProcessKeyboardEvent (xkbPrKeyEv.c:209)
==18289==    by 0x4D2E2B: mieqProcessInputEvents (mieq.c:370)
==18289==    by 0x47DFC8: ProcessInputEvents (xf86Events.c:239)
==18289==    by 0x44ED20: Dispatch (dispatch.c:368)
==18289==    by 0x4343AC: main (main.c:415)
==18289==  Address 0x1a08d158 is 0 bytes after a block of size 5,952 alloc'd
==18289==    at 0x4C266E1: realloc (vg_replace_malloc.c:429)
==18289==    by 0x4F796A: Xrealloc (utils.c:1387)
==18289==    by 0x566243: XkbUpdateCoreDescription (xkbUtils.c:459)
==18289==    by 0x578197: XkbInitDevice (xkbInit.c:553)
==18289==    by 0x4478CF: InitKeyClassDeviceStruct (devices.c:1135)
==18289==    by 0x447960: InitKeyboardDeviceStruct (devices.c:1437)
==18289==    by 0x5788FD: XkbInitKeyboardDeviceStruct (xkbInit.c:695)
==18289==    by 0x448CFF: CoreKeyboardProc (devices.c:452)
==18289==    by 0x44841D: ActivateDevice (devices.c:369)
==18289==    by 0x448539: InitAndStartDevices (devices.c:556)
==18289==    by 0x434369: main (main.c:395)
==18289== 

-- 
Lukáš Hejtmánek



More information about the xorg mailing list