** Description changed: SRU Justification ================= [Impact] - On i386 machines, plugging a headset with buttons in will crash an existing X session or prevent an X session from starting. + On i386 machines, plugging a Logitech headset with buttons in will crash an existing X session or prevent an X session from starting. - [Stable Fix] - The crash is due to an ABI mismatch between xserver-xorg-input-evdev and xorg-server. A rebuild of the evdev input module fixes the issue. + The crash is due to a stack buffer overrun write that corrupts the + stack. This occurs because the buffer is not allocated with enough room + to hold records for all input device valuators when multitouch valuators + are present. [Development Fix] Rebuild will be pocket copied from Precise [Test Case] - Plug in a headset and see if X crashes. + Plug in the headset and see if X crashes. Alternatively, use utouch-evemu to create a virtual headset using the attached Logitech_Wireless_Headset.prop file: + + $ sudo utouch-evemu device Logitech_Wireless_Headset.prop [Regression Potential] - Practically zero. + The fix touches code that affects how input device axes are labelled. These labels are used primarily for the GIMP and a few other drawing tools when using a tablet drawing device. It is possible that a regression could occur, causing the axes to not be labeled correctly. Original bug report =================== On Precise, when I plug in the USB dongle that comes with a Logitech H800 headset, xorg segfaults. The following trace is captured in Xorg.log (see attachment XorgOldLog.txt) 45.488] (II) config/udev: Adding input device Logitech Logitech Wireless Headset (/dev/input/event7) [ 45.488] (**) Logitech Logitech Wireless Headset: Applying InputClass "evdev keyboard catchall" [ 45.488] (II) Using input driver 'evdev' for 'Logitech Logitech Wireless Headset' [ 45.488] (II) Loading /usr/lib/xorg/modules/input/evdev_drv.so [ 45.488] (**) Logitech Logitech Wireless Headset: always reports core events [ 45.488] (**) evdev: Logitech Logitech Wireless Headset: Device: "/dev/input/event7" [ 45.488] (--) evdev: Logitech Logitech Wireless Headset: Vendor 0x46d Product 0xa29 [ 45.488] (--) evdev: Logitech Logitech Wireless Headset: Found absolute axes [ 45.488] (--) evdev: Logitech Logitech Wireless Headset: Found absolute multitouch axes [ 45.488] (--) evdev: Logitech Logitech Wireless Headset: Found keys [ 45.488] (II) evdev: Logitech Logitech Wireless Headset: Configuring as mouse [ 45.488] (II) evdev: Logitech Logitech Wireless Headset: Configuring as keyboard [ 45.488] (**) Option "config_info" "udev:/sys/devices/pci0000:00/0000:00:1d.0/usb5/5-2/5-2:1.3/input/input7/event7" [ 45.488] (II) XINPUT: Adding extended input device "Logitech Logitech Wireless Headset" (type: KEYBOARD, id 9) [ 45.488] (**) Option "xkb_rules" "evdev" [ 45.488] (**) Option "xkb_model" "pc105" [ 45.488] (**) Option "xkb_layout" "fr" [ 45.488] (**) Option "xkb_variant" "oss" [ 45.489] (II) evdev: Logitech Logitech Wireless Headset: initialized for absolute axes. [ 45.489] Backtrace: [ 45.489] 0: /usr/bin/X (xorg_backtrace+0x37) [0x983037] [ 45.489] 1: /usr/bin/X (0x7fb000+0x18bdba) [0x986dba] [ 45.489] 2: /lib/i386-linux-gnu/libpthread.so.0 (0x11b000+0xef30) [0x129f30] [ 45.489] 3: /lib/i386-linux-gnu/libc.so.6 (0x4fe000+0x1324ba) [0x6304ba] [ 45.489] 4: /usr/bin/X (XIChangeDeviceProperty+0x16c) [0x91b50c] [ 45.489] 5: /usr/lib/xorg/modules/input/evdev_drv.so (0x2b2000+0x634e) [0x2b834e] [ 45.489] 6: /usr/lib/xorg/modules/input/evdev_drv.so (0x2b2000+0x6595) [0x2b8595] [ 45.489] 7: /usr/bin/X (ActivateDevice+0x66) [0x8272d6] [ 45.489] 8: /usr/bin/X (0x7fb000+0x8cad5) [0x887ad5] [ 45.489] 9: /usr/bin/X (0x7fb000+0x9b012) [0x896012] [ 45.489] 10: /usr/bin/X (0x7fb000+0x9b883) [0x896883] [ 45.489] 11: /usr/bin/X (config_init+0x14) [0x8958e4] [ 45.489] 12: /usr/bin/X (InitInput+0xba) [0x875daa] [ 45.490] 13: /usr/bin/X (0x7fb000+0x2523e) [0x82023e] [ 45.490] 14: /lib/i386-linux-gnu/libc.so.6 (__libc_start_main+0xf3) [0x5174d3] [ 45.490] 15: /usr/bin/X (0x7fb000+0x255d9) [0x8205d9] [ 45.490] Segmentation fault at address 0x120 [ 45.490] Caught signal 11 (Segmentation fault). Server aborting ProblemType: Bug DistroRelease: Ubuntu 12.04 Package: xorg 1:7.6+12ubuntu1 ProcVersionSignature: Ubuntu 3.2.0-21.34-generic 3.2.13 Uname: Linux 3.2.0-21-generic i686 .tmp.unity.support.test.0: ApportVersion: 2.0-0ubuntu4 Architecture: i386 CompizPlugins: [core,composite,opengl,compiztoolbox,decor,vpswitch,snap,mousepoll,resize,place,move,wall,grid,regex,imgpng,session,gnomecompat,animation,fade,unitymtgrabhandles,workarounds,scale,expo,ezoom,unityshell] CompositorRunning: compiz Date: Wed Apr 4 13:09:19 2012 DistUpgraded: 2009-11-14 19:02:58,254 DEBUG enabling apt cron job DistroCodename: precise DistroVariant: ubuntu EcryptfsInUse: Yes ExtraDebuggingInterest: Yes, whatever it takes to get this fixed in Ubuntu MachineType: ASUSTeK Computer Inc. U3SG ProcEnviron: TERM=xterm PATH=(custom, user) LANG=en_US.utf8 SHELL=/bin/bash ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-3.2.0-21-generic root=UUID=75f23f17-3ace-4485-af57-a7318eb6c2ff ro quiet splash vt.handoff=7 SourcePackage: xorg UpgradeStatus: Upgraded to precise on 2009-11-14 (871 days ago) dmi.bios.date: 01/28/2008 dmi.bios.vendor: American Megatrends Inc. dmi.bios.version: 305 dmi.board.asset.tag: ATN12345678901234567 dmi.board.name: U3SG dmi.board.vendor: ASUSTeK Computer Inc. dmi.board.version: 1.0 dmi.chassis.asset.tag: ATN12345678901234567 dmi.chassis.type: 10 dmi.chassis.vendor: ASUSTeK Computer Inc. dmi.chassis.version: 1.0 dmi.modalias: dmi:bvnAmericanMegatrendsInc.:bvr305:bd01/28/2008:svnASUSTeKComputerInc.:pnU3SG:pvr1.0:rvnASUSTeKComputerInc.:rnU3SG:rvr1.0:cvnASUSTeKComputerInc.:ct10:cvr1.0: dmi.product.name: U3SG dmi.product.version: 1.0 dmi.sys.vendor: ASUSTeK Computer Inc. version.compiz: compiz 1:0.9.7.4-0ubuntu1 version.libdrm2: libdrm2 2.4.32-1ubuntu1 version.libgl1-mesa-dri: libgl1-mesa-dri 8.0.2-0ubuntu3 version.libgl1-mesa-dri-experimental: libgl1-mesa-dri-experimental N/A version.libgl1-mesa-glx: libgl1-mesa-glx 8.0.2-0ubuntu3 version.xserver-xorg-core: xserver-xorg-core 2:1.11.4-0ubuntu9 version.xserver-xorg-input-evdev: xserver-xorg-input-evdev 1:2.7.0-0ubuntu1 version.xserver-xorg-video-ati: xserver-xorg-video-ati 1:6.14.99~git20111219.aacbd629-0ubuntu2 version.xserver-xorg-video-intel: xserver-xorg-video-intel 2:2.17.0-1ubuntu4 version.xserver-xorg-video-nouveau: xserver-xorg-video-nouveau 1:0.0.16+git20111201+b5534a1-1build2
** Description changed: SRU Justification ================= [Impact] On i386 machines, plugging a Logitech headset with buttons in will crash an existing X session or prevent an X session from starting. The crash is due to a stack buffer overrun write that corrupts the stack. This occurs because the buffer is not allocated with enough room to hold records for all input device valuators when multitouch valuators are present. - - [Development Fix] - Rebuild will be pocket copied from Precise [Test Case] Plug in the headset and see if X crashes. Alternatively, use utouch-evemu to create a virtual headset using the attached Logitech_Wireless_Headset.prop file: $ sudo utouch-evemu device Logitech_Wireless_Headset.prop [Regression Potential] The fix touches code that affects how input device axes are labelled. These labels are used primarily for the GIMP and a few other drawing tools when using a tablet drawing device. It is possible that a regression could occur, causing the axes to not be labeled correctly. Original bug report =================== On Precise, when I plug in the USB dongle that comes with a Logitech H800 headset, xorg segfaults. The following trace is captured in Xorg.log (see attachment XorgOldLog.txt) 45.488] (II) config/udev: Adding input device Logitech Logitech Wireless Headset (/dev/input/event7) [ 45.488] (**) Logitech Logitech Wireless Headset: Applying InputClass "evdev keyboard catchall" [ 45.488] (II) Using input driver 'evdev' for 'Logitech Logitech Wireless Headset' [ 45.488] (II) Loading /usr/lib/xorg/modules/input/evdev_drv.so [ 45.488] (**) Logitech Logitech Wireless Headset: always reports core events [ 45.488] (**) evdev: Logitech Logitech Wireless Headset: Device: "/dev/input/event7" [ 45.488] (--) evdev: Logitech Logitech Wireless Headset: Vendor 0x46d Product 0xa29 [ 45.488] (--) evdev: Logitech Logitech Wireless Headset: Found absolute axes [ 45.488] (--) evdev: Logitech Logitech Wireless Headset: Found absolute multitouch axes [ 45.488] (--) evdev: Logitech Logitech Wireless Headset: Found keys [ 45.488] (II) evdev: Logitech Logitech Wireless Headset: Configuring as mouse [ 45.488] (II) evdev: Logitech Logitech Wireless Headset: Configuring as keyboard [ 45.488] (**) Option "config_info" "udev:/sys/devices/pci0000:00/0000:00:1d.0/usb5/5-2/5-2:1.3/input/input7/event7" [ 45.488] (II) XINPUT: Adding extended input device "Logitech Logitech Wireless Headset" (type: KEYBOARD, id 9) [ 45.488] (**) Option "xkb_rules" "evdev" [ 45.488] (**) Option "xkb_model" "pc105" [ 45.488] (**) Option "xkb_layout" "fr" [ 45.488] (**) Option "xkb_variant" "oss" [ 45.489] (II) evdev: Logitech Logitech Wireless Headset: initialized for absolute axes. [ 45.489] Backtrace: [ 45.489] 0: /usr/bin/X (xorg_backtrace+0x37) [0x983037] [ 45.489] 1: /usr/bin/X (0x7fb000+0x18bdba) [0x986dba] [ 45.489] 2: /lib/i386-linux-gnu/libpthread.so.0 (0x11b000+0xef30) [0x129f30] [ 45.489] 3: /lib/i386-linux-gnu/libc.so.6 (0x4fe000+0x1324ba) [0x6304ba] [ 45.489] 4: /usr/bin/X (XIChangeDeviceProperty+0x16c) [0x91b50c] [ 45.489] 5: /usr/lib/xorg/modules/input/evdev_drv.so (0x2b2000+0x634e) [0x2b834e] [ 45.489] 6: /usr/lib/xorg/modules/input/evdev_drv.so (0x2b2000+0x6595) [0x2b8595] [ 45.489] 7: /usr/bin/X (ActivateDevice+0x66) [0x8272d6] [ 45.489] 8: /usr/bin/X (0x7fb000+0x8cad5) [0x887ad5] [ 45.489] 9: /usr/bin/X (0x7fb000+0x9b012) [0x896012] [ 45.489] 10: /usr/bin/X (0x7fb000+0x9b883) [0x896883] [ 45.489] 11: /usr/bin/X (config_init+0x14) [0x8958e4] [ 45.489] 12: /usr/bin/X (InitInput+0xba) [0x875daa] [ 45.490] 13: /usr/bin/X (0x7fb000+0x2523e) [0x82023e] [ 45.490] 14: /lib/i386-linux-gnu/libc.so.6 (__libc_start_main+0xf3) [0x5174d3] [ 45.490] 15: /usr/bin/X (0x7fb000+0x255d9) [0x8205d9] [ 45.490] Segmentation fault at address 0x120 [ 45.490] Caught signal 11 (Segmentation fault). Server aborting ProblemType: Bug DistroRelease: Ubuntu 12.04 Package: xorg 1:7.6+12ubuntu1 ProcVersionSignature: Ubuntu 3.2.0-21.34-generic 3.2.13 Uname: Linux 3.2.0-21-generic i686 .tmp.unity.support.test.0: ApportVersion: 2.0-0ubuntu4 Architecture: i386 CompizPlugins: [core,composite,opengl,compiztoolbox,decor,vpswitch,snap,mousepoll,resize,place,move,wall,grid,regex,imgpng,session,gnomecompat,animation,fade,unitymtgrabhandles,workarounds,scale,expo,ezoom,unityshell] CompositorRunning: compiz Date: Wed Apr 4 13:09:19 2012 DistUpgraded: 2009-11-14 19:02:58,254 DEBUG enabling apt cron job DistroCodename: precise DistroVariant: ubuntu EcryptfsInUse: Yes ExtraDebuggingInterest: Yes, whatever it takes to get this fixed in Ubuntu MachineType: ASUSTeK Computer Inc. U3SG ProcEnviron: TERM=xterm PATH=(custom, user) LANG=en_US.utf8 SHELL=/bin/bash ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-3.2.0-21-generic root=UUID=75f23f17-3ace-4485-af57-a7318eb6c2ff ro quiet splash vt.handoff=7 SourcePackage: xorg UpgradeStatus: Upgraded to precise on 2009-11-14 (871 days ago) dmi.bios.date: 01/28/2008 dmi.bios.vendor: American Megatrends Inc. dmi.bios.version: 305 dmi.board.asset.tag: ATN12345678901234567 dmi.board.name: U3SG dmi.board.vendor: ASUSTeK Computer Inc. dmi.board.version: 1.0 dmi.chassis.asset.tag: ATN12345678901234567 dmi.chassis.type: 10 dmi.chassis.vendor: ASUSTeK Computer Inc. dmi.chassis.version: 1.0 dmi.modalias: dmi:bvnAmericanMegatrendsInc.:bvr305:bd01/28/2008:svnASUSTeKComputerInc.:pnU3SG:pvr1.0:rvnASUSTeKComputerInc.:rnU3SG:rvr1.0:cvnASUSTeKComputerInc.:ct10:cvr1.0: dmi.product.name: U3SG dmi.product.version: 1.0 dmi.sys.vendor: ASUSTeK Computer Inc. version.compiz: compiz 1:0.9.7.4-0ubuntu1 version.libdrm2: libdrm2 2.4.32-1ubuntu1 version.libgl1-mesa-dri: libgl1-mesa-dri 8.0.2-0ubuntu3 version.libgl1-mesa-dri-experimental: libgl1-mesa-dri-experimental N/A version.libgl1-mesa-glx: libgl1-mesa-glx 8.0.2-0ubuntu3 version.xserver-xorg-core: xserver-xorg-core 2:1.11.4-0ubuntu9 version.xserver-xorg-input-evdev: xserver-xorg-input-evdev 1:2.7.0-0ubuntu1 version.xserver-xorg-video-ati: xserver-xorg-video-ati 1:6.14.99~git20111219.aacbd629-0ubuntu2 version.xserver-xorg-video-intel: xserver-xorg-video-intel 2:2.17.0-1ubuntu4 version.xserver-xorg-video-nouveau: xserver-xorg-video-nouveau 1:0.0.16+git20111201+b5534a1-1build2 ** Changed in: xserver-xorg-input-evdev (Ubuntu Precise) Status: In Progress => Fix Committed -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/973297 Title: Xorg recognizes Logitech Headset USB dongle as input device then segfaults in XIChangeDeviceProperty To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-input-evdev/+bug/973297/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs