[PATCH] prevent X crash on pressing multimedia buttons, again

Michal Suchanek hramrach at gmail.com
Mon May 28 03:03:28 PDT 2012


On 26 May 2012 00:05, Julien Cristau <jcristau at debian.org> wrote:
> On Thu, May 24, 2012 at 10:45:59 +0200, Michal Suchanek wrote:
>
>> On 24 May 2012 04:42, Peter Hutterer <peter.hutterer at who-t.net> wrote:
>>
>> > what is the trigger for this again? Is this the warp pointer case?
>> >
>>
>> Attaching console output.
>>
> No you didn't?
>
Here it is ;-)

Thanks

Michal
-------------- next part --------------
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".

X.Org X Server 1.12.1
Release Date: 2012-04-13
X Protocol Version 11, Revision 0
Build Operating System: Linux 3.2.0-2-amd64 x86_64 Debian
Current Operating System: Linux OptiPlex960 3.2.0-2-amd64 #1 SMP Mon Apr 30 05:20:23 UTC 2012 x86_64
Kernel command line: BOOT_IMAGE=/boot/vmlinuz-3.2.0-2-amd64 root=UUID=3b8f6a64-5899-462a-aec0-6ddefd878ecf ro fbcon=rotate:3 quiet
Build Date: 07 May 2012  12:15:23AM
xorg-server 2:1.12.1-2 (Cyril Brulebois <kibi at debian.org>) 
Current version of pixman: 0.24.4
	Before reporting problems, check http://wiki.x.org
	to make sure that you have the latest version.
Markers: (--) probed, (**) from config file, (==) default setting,
	(++) from command line, (!!) notice, (II) informational,
	(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) Log file: "/var/log/Xorg.1.log", Time: Wed May 23 10:26:04 2012
(==) Using config directory: "/etc/X11/xorg.conf.d"
(==) Using system config directory "/usr/share/X11/xorg.conf.d"
(II) [KMS] Kernel modesetting enabled.
[tcsetpgrp failed in terminal_inferior: Operation not permitted]
The XKEYBOARD keymap compiler (xkbcomp) reports:
> Warning:          Multiple definitions of the FOUR_LEVEL_KEYPAD key type
>                   Earlier definition ignored
Errors from xkbcomp are not fatal to the X server
BUG: triggered 'if (!dev->valuator || dev->valuator->numAxes < 2)'
BUG: ../../dix/getevents.c:845 in scale_to_desktop()

Backtrace:
0: /usr/bin/Xorg (xorg_backtrace+0x34) [0x5555556dcce4]
1: /usr/bin/Xorg (0x555555554000+0x6652c) [0x5555555ba52c]
2: /usr/bin/Xorg (0x555555554000+0x67105) [0x5555555bb105]
3: /usr/bin/Xorg (GetPointerEvents+0xe4) [0x5555555bc4a4]
4: /usr/bin/Xorg (QueuePointerEvents+0x1d) [0x5555555bc92d]
5: /usr/bin/Xorg (xf86PostButtonEvent+0xdd) [0x5555555f33fd]
6: /usr/lib/xorg/modules/input/evdev_drv.so (0x7ffff020d000+0x5689) [0x7ffff0212689]
7: /usr/bin/Xorg (0x555555554000+0x8ed67) [0x5555555e2d67]
8: /usr/bin/Xorg (0x555555554000+0xb465e) [0x55555560865e]
9: /lib/x86_64-linux-gnu/libpthread.so.0 (0x7ffff7328000+0xf030) [0x7ffff7337030]
10: /lib/x86_64-linux-gnu/libc.so.6 (__select+0x13) [0x7ffff61054b3]
11: /usr/bin/Xorg (WaitForSomething+0x19b) [0x5555556da09b]
12: /usr/bin/Xorg (0x555555554000+0x527f2) [0x5555555a67f2]
13: /usr/bin/Xorg (0x555555554000+0x41a2a) [0x555555595a2a]
14: /lib/x86_64-linux-gnu/libc.so.6 (__libc_start_main+0xfd) [0x7ffff6051ead]
15: /usr/bin/Xorg (0x555555554000+0x41d1d) [0x555555595d1d]

BUG: triggered 'if (!dev->valuator || dev->valuator->numAxes < 2)'
BUG: ../../dix/getevents.c:845 in scale_to_desktop()

Backtrace:
0: /usr/bin/Xorg (xorg_backtrace+0x34) [0x5555556dcce4]
1: /usr/bin/Xorg (0x555555554000+0x6652c) [0x5555555ba52c]
2: /usr/bin/Xorg (0x555555554000+0x67105) [0x5555555bb105]
3: /usr/bin/Xorg (GetPointerEvents+0xe4) [0x5555555bc4a4]
4: /usr/bin/Xorg (QueuePointerEvents+0x1d) [0x5555555bc92d]
5: /usr/bin/Xorg (xf86PostButtonEvent+0xdd) [0x5555555f33fd]
6: /usr/lib/xorg/modules/input/evdev_drv.so (0x7ffff020d000+0x5689) [0x7ffff0212689]
7: /usr/bin/Xorg (0x555555554000+0x8ed67) [0x5555555e2d67]
8: /usr/bin/Xorg (0x555555554000+0xb465e) [0x55555560865e]
9: /lib/x86_64-linux-gnu/libpthread.so.0 (0x7ffff7328000+0xf030) [0x7ffff7337030]
10: /lib/x86_64-linux-gnu/libc.so.6 (__select+0x13) [0x7ffff61054b3]
11: /usr/bin/Xorg (WaitForSomething+0x19b) [0x5555556da09b]
12: /usr/bin/Xorg (0x555555554000+0x527f2) [0x5555555a67f2]
13: /usr/bin/Xorg (0x555555554000+0x41a2a) [0x555555595a2a]
14: /lib/x86_64-linux-gnu/libc.so.6 (__libc_start_main+0xfd) [0x7ffff6051ead]
15: /usr/bin/Xorg (0x555555554000+0x41d1d) [0x555555595d1d]

BUG: triggered 'if (!dev->valuator || dev->valuator->numAxes < 2)'
BUG: ../../dix/getevents.c:845 in scale_to_desktop()

Backtrace:
0: /usr/bin/Xorg (xorg_backtrace+0x34) [0x5555556dcce4]
1: /usr/bin/Xorg (0x555555554000+0x6652c) [0x5555555ba52c]
2: /usr/bin/Xorg (0x555555554000+0x67105) [0x5555555bb105]
3: /usr/bin/Xorg (GetPointerEvents+0xe4) [0x5555555bc4a4]
4: /usr/bin/Xorg (QueuePointerEvents+0x1d) [0x5555555bc92d]
5: /usr/bin/Xorg (xf86PostButtonEvent+0xdd) [0x5555555f33fd]
6: /usr/lib/xorg/modules/input/evdev_drv.so (0x7ffff020d000+0x5689) [0x7ffff0212689]
7: /usr/bin/Xorg (0x555555554000+0x8ed67) [0x5555555e2d67]
8: /usr/bin/Xorg (0x555555554000+0xb465e) [0x55555560865e]
9: /lib/x86_64-linux-gnu/libpthread.so.0 (0x7ffff7328000+0xf030) [0x7ffff7337030]
10: /lib/x86_64-linux-gnu/libc.so.6 (__select+0x13) [0x7ffff61054b3]
11: /usr/bin/Xorg (WaitForSomething+0x19b) [0x5555556da09b]
12: /usr/bin/Xorg (0x555555554000+0x527f2) [0x5555555a67f2]
13: /usr/bin/Xorg (0x555555554000+0x41a2a) [0x555555595a2a]
14: /lib/x86_64-linux-gnu/libc.so.6 (__libc_start_main+0xfd) [0x7ffff6051ead]
15: /usr/bin/Xorg (0x555555554000+0x41d1d) [0x555555595d1d]

BUG: triggered 'if (!dev->valuator || dev->valuator->numAxes < 2)'
BUG: ../../dix/getevents.c:845 in scale_to_desktop()

Backtrace:
0: /usr/bin/Xorg (xorg_backtrace+0x34) [0x5555556dcce4]
1: /usr/bin/Xorg (0x555555554000+0x6652c) [0x5555555ba52c]
2: /usr/bin/Xorg (0x555555554000+0x67105) [0x5555555bb105]
3: /usr/bin/Xorg (GetPointerEvents+0xe4) [0x5555555bc4a4]
4: /usr/bin/Xorg (QueuePointerEvents+0x1d) [0x5555555bc92d]
5: /usr/bin/Xorg (xf86PostButtonEvent+0xdd) [0x5555555f33fd]
6: /usr/lib/xorg/modules/input/evdev_drv.so (0x7ffff020d000+0x5689) [0x7ffff0212689]
7: /usr/bin/Xorg (0x555555554000+0x8ed67) [0x5555555e2d67]
8: /usr/bin/Xorg (0x555555554000+0xb465e) [0x55555560865e]
9: /lib/x86_64-linux-gnu/libpthread.so.0 (0x7ffff7328000+0xf030) [0x7ffff7337030]
10: /lib/x86_64-linux-gnu/libc.so.6 (__select+0x13) [0x7ffff61054b3]
11: /usr/bin/Xorg (WaitForSomething+0x19b) [0x5555556da09b]
12: /usr/bin/Xorg (0x555555554000+0x527f2) [0x5555555a67f2]
13: /usr/bin/Xorg (0x555555554000+0x41a2a) [0x555555595a2a]
14: /lib/x86_64-linux-gnu/libc.so.6 (__libc_start_main+0xfd) [0x7ffff6051ead]
15: /usr/bin/Xorg (0x555555554000+0x41d1d) [0x555555595d1d]

[dix] motion events from device 9 without valuators

Program received signal SIGSEGV, Segmentation fault.
0x00005555555bc4ee in GetPointerEvents (events=0x5555562d9ef0, pDev=0x555555c0d410, type=<optimized out>, buttons=<optimized out>, flags=<optimized out>, mask_in=<optimized out>) at ../../dix/getevents.c:1577
1577	../../dix/getevents.c: No such file or directory.
#0  0x00005555555bc4ee in GetPointerEvents (events=0x5555562d9ef0, pDev=0x555555c0d410, type=<optimized out>, buttons=<optimized out>, flags=<optimized out>, mask_in=<optimized out>) at ../../dix/getevents.c:1577
        ms = 36127562
        num_events = 0
        nev_tmp = <optimized out>
        mask = {last_bit = 1 '\001', mask = "\003\000\000\000", valuators = {882, 322, 0 <repeats 34 times>}}
        scroll = {last_bit = -1 '\377', mask = "\000\000\000\000", valuators = {0 <repeats 36 times>}}
        i = 0
        realtype = 6
#1  0x00005555556c74b6 in miPointerMove (pDev=0x555555c0d410, pScreen=<optimized out>, x=882, y=322) at ../../mi/mipointer.c:694
        i = <optimized out>
        nevents = <optimized out>
        valuators = {882, 322}
        mask = {last_bit = 1 '\001', mask = "\003\000\000\000", valuators = {882, 322, 0 <repeats 34 times>}}
#2  0x00005555556c7932 in miPointerWarpCursor (pDev=0x555555c0d410, pScreen=0x555555990ed0, x=<optimized out>, y=322) at ../../mi/mipointer.c:371
        pPointer = 0x555555ad7bb0
        changedScreen = 0 '\000'
        pScreenPriv = 0x5555559a4b50
#3  0x00005555555defe1 in xf86WarpCursor (pDev=0x555555c0d410, pScreen=0x555555990ed0, x=882, y=322) at ../../../../hw/xfree86/common/xf86Cursor.c:475
        sigstate = 0
#4  0x00005555556c7e8c in miPointerSetCursorPosition (pDev=0x555555c0d410, pScreen=0x555555990ed0, x=882, y=322, generateEvent=1) at ../../mi/mipointer.c:277
        pScreenPriv = 0x5555559a4b50
        pPointer = <optimized out>
#5  0x0000555555667173 in AnimCurSetCursorPosition (pDev=<optimized out>, pScreen=0x555555990ed0, x=<optimized out>, y=<optimized out>, generateEvent=<optimized out>) at ../../render/animcur.c:246
        as = 0x5555559bff60
        ret = <optimized out>
#6  0x00005555555b3352 in ProcWarpPointer (client=<optimized out>) at ../../dix/events.c:3527
        dest = 0x5555559decd0
        x = 882
        y = 322
        rc = <optimized out>
        newScreen = 0x555555990ed0
        dev = 0x555555c0d410
        tmp = <optimized out>
        pSprite = 0x555555b0c380
        stuff = 0x55555631e4c8
#7  0x00005555555a6aa1 in Dispatch () at ../../dix/dispatch.c:428
        clientReady = 0x555555bfece0
        result = <optimized out>
        client = 0x555555c8f950
        nready = 0
        icheck = 0x5555559594f0
        start_tick = 20
#8  0x0000555555595a2a in main (argc=2, argv=<optimized out>, envp=<optimized out>) at ../../dix/main.c:288
        i = <optimized out>
        alwaysCheckForInput = {0, 1}

Backtrace:
0: /usr/bin/Xorg (xorg_backtrace+0x34) [0x5555556dcce4]
1: /usr/bin/Xorg (0x555555554000+0x18c8b9) [0x5555556e08b9]
2: /lib/x86_64-linux-gnu/libpthread.so.0 (0x7ffff7328000+0xf030) [0x7ffff7337030]
3: /usr/bin/Xorg (GetPointerEvents+0x12e) [0x5555555bc4ee]
4: /usr/bin/Xorg (0x555555554000+0x1734b6) [0x5555556c74b6]
5: /usr/bin/Xorg (miPointerWarpCursor+0xe2) [0x5555556c7932]
6: /usr/bin/Xorg (0x555555554000+0x8afe1) [0x5555555defe1]
7: /usr/bin/Xorg (0x555555554000+0x173e8c) [0x5555556c7e8c]
8: /usr/bin/Xorg (0x555555554000+0x113173) [0x555555667173]
9: /usr/bin/Xorg (ProcWarpPointer+0x412) [0x5555555b3352]
10: /usr/bin/Xorg (0x555555554000+0x52aa1) [0x5555555a6aa1]
11: /usr/bin/Xorg (0x555555554000+0x41a2a) [0x555555595a2a]
12: /lib/x86_64-linux-gnu/libc.so.6 (__libc_start_main+0xfd) [0x7ffff6051ead]
13: /usr/bin/Xorg (0x555555554000+0x41d1d) [0x555555595d1d]

Segmentation fault at address 0x28

Fatal server error:
Caught signal 11 (Segmentation fault). Server aborting


Please consult the The X.Org Foundation support 
	 at http://wiki.x.org
 for help. 
Please also check the log file at "/var/log/Xorg.1.log" for additional information.

Server terminated with error (1). Closing log file.

Program received signal SIGABRT, Aborted.
0x00007ffff6065475 in *__GI_raise (sig=<optimized out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
64	../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory.


More information about the xorg-devel mailing list