Bug 371151 - After the upgrade the x server dies when moving mouse
After the upgrade the x server dies when moving mouse
Status: CLOSED ERRATA
Product: Red Hat Enterprise Linux 5
Classification: Red Hat
Component: xorg-x11-drv-evdev (Show other bugs)
5.1
i386 Linux
medium Severity medium
: ---
: ---
Assigned To: Peter Hutterer
desktop-bugs@redhat.com
: Patch
Depends On:
Blocks: 531112
  Show dependency treegraph
 
Reported: 2007-11-08 08:41 EST by Klaus Ethgen
Modified: 2010-10-22 16:08 EDT (History)
7 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2010-03-30 04:26:07 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
xorg.conf, was sonst!? (2.57 KB, text/plain)
2008-01-24 04:07 EST, Klaus Ethgen
no flags Details
log (24.77 KB, text/plain)
2008-01-24 04:08 EST, Klaus Ethgen
no flags Details
log (25.80 KB, text/plain)
2008-01-24 04:15 EST, Klaus Ethgen
no flags Details
xorg.coinf (2.56 KB, text/plain)
2008-01-24 06:27 EST, Klaus Ethgen
no flags Details
log (13.33 KB, text/plain)
2008-01-24 06:27 EST, Klaus Ethgen
no flags Details
log (61.65 KB, text/plain)
2008-01-24 06:28 EST, Klaus Ethgen
no flags Details
Proposed patch (905 bytes, patch)
2009-10-02 10:38 EDT, Olivier Fourdan
no flags Details | Diff

  None (edit)
Description Klaus Ethgen 2007-11-08 08:41:49 EST
Description of problem:
After the upgrade to RHEL 5.1 the x server will crash when moving the mouse.

Version-Release number of selected component (if applicable):
1.0.0.5-3.el5

How reproducible:
Use a mouse which can be used with evdev and use the following settings:
Section "InputDevice"
    Identifier     "Mouse0"
    Driver         "evdev"
    Option         "Device" "/dev/input/event0"
    Option         "Name" "Logitech Click! Plus"
    Option         "Buttons" "10"
EndSection # Inputdevice Driver evdev

Actual results (when moving the mouse):
...
Backtrace:
0: /usr/bin/Xorg(xf86SigHandler+0x81) [0x80bc231]
1: [0x533420]
2: /usr/lib/xorg/modules/input/evdev_drv.so [0x4ded5b]
3: /usr/bin/Xorg(xf86PostMotionEvent+0x3f2) [0x80e6c12]
4: /usr/lib/xorg/modules/input/evdev_drv.so [0x4df60c]
5: /usr/bin/Xorg [0x80bc3aa]
6: /usr/bin/Xorg [0x80b5fb1]
7: [0x533420]
8: [0x533402]
9: /lib/libc.so.6(__select+0x2d) [0x38201d]
10: /usr/bin/Xorg(WaitForSomething+0x19e) [0x81a085e]
11: /usr/bin/Xorg(Dispatch+0x8d) [0x8087fbd]
12: /usr/bin/Xorg(main+0x485) [0x806fa55]
13: /lib/libc.so.6(__libc_start_main+0xdc) [0x2d0dec]
14: /usr/bin/Xorg(FontFileCompleteXLFD+0x1e5) [0x806ed91]

Fatal server error:
Caught signal 8.  Server aborting

Expected results:
The mouse pointer move the same then the mouse.
Comment 1 Matěj Cepl 2008-01-06 16:39:58 EST
Thanks for the bug report.  We have reviewed the information you have provided
above, and there is some additional information we require that will be helpful
in our diagnosis of this issue.

Please attach your X server config file (/etc/X11/xorg.conf) and X server log
file (/var/log/Xorg.*.log) to the bug report as individual uncompressed file
attachments using the bugzilla file attachment link below.

Could you please also try to run without any /etc/X11/xorg.conf whatsoever and
let X11 autodetect your display and video card? Attach to this bug
/var/log/Xorg.0.log from this attempt as well, please.

We will review this issue again once you've had a chance to attach this information.

Thanks in advance.
Comment 2 Klaus Ethgen 2008-01-07 04:26:36 EST
> Please attach your X server config file (/etc/X11/xorg.conf) and X server log
> file (/var/log/Xorg.*.log) to the bug report as individual uncompressed file
> attachments using the bugzilla file attachment link below.

I have to recreate it. As you might believe it is impossible to work with the
existing configuration so I hand crafted the file to not using evdev

I will do the files in the next days.

> Could you please also try to run without any /etc/X11/xorg.conf whatsoever and
> let X11 autodetect your display and video card? Attach to this bug
> /var/log/Xorg.0.log from this attempt as well, please.

That doesn't work as RedHat is not detecting nvidia correctly (The proprietary
driver) and also it is not able to configure a mouse with more than 3 Buttons
properly (My mouse has 10 buttons). The RedHat configuration program do never
use evdev driver. Moreover it is not able to handle multi display setup. So the
autocreated xorg.conf is useless at all.
Comment 3 Matěj Cepl 2008-01-23 19:44:36 EST
Could we get even your current working /var/log/Xorg.0.log? But when answering
comment 1, please, be sure to have your computer clean of all proprietary nVidia
programs (see info on http://fedoraproject.org/wiki/Xorg/3rdPartyVideoDrivers
for information how to do it). We are sorry but we are not able to support
binary-only drivers.
Comment 4 Klaus Ethgen 2008-01-24 04:07:43 EST
Created attachment 292765 [details]
xorg.conf, was sonst!?
Comment 5 Klaus Ethgen 2008-01-24 04:08:08 EST
Created attachment 292766 [details]
log
Comment 6 Klaus Ethgen 2008-01-24 04:15:19 EST
Created attachment 292769 [details]
log
Comment 7 Klaus Ethgen 2008-01-24 04:30:35 EST
> Please attach your X server config file (/etc/X11/xorg.conf) and X server log
> file (/var/log/Xorg.*.log) to the bug report as individual uncompressed file
> attachments using the bugzilla file attachment link below.

You should find it anywhere on the bugtracker. (Well, bugzilla is as least the
worst tool to track bugs I found ever.)

> Could you please also try to run without any /etc/X11/xorg.conf whatsoever and
> let X11 autodetect your display and video card? Attach to this bug
> /var/log/Xorg.0.log from this attempt as well, please.

comming soon. But this would not help as the autodetection never ever use evdev
for mouse input. But if you have a mouse with more than 5 buttons (3 + weel),
evdev is the best to use. And as the bug is in the evdev driver of xorg it is
just time waste to try this. But I will if you really think you need that.

> Could we get even your current working /var/log/Xorg.0.log?

You should find it too.

> But when answering comment 1, please, be sure to have your computer clean of
> all proprietary nVidia programs (see info on
> http://fedoraproject.org/wiki/Xorg/3rdPartyVideoDrivers for information how to
> do it). We are sorry but we are not able to support binary-only drivers.

Well, the bug is NOT IN THE 3RD PARTY DRIVER!!! ALL WORKED WELL BEFORE THE
UPDATE!

You can see in the log that the bug is in the evdev module of the xorg system
NOT in nVidia driver.

It is a pain in the ass to run X without this driver.

I am very annoyed about the answer that you don't support 3rd party drivers even
if the 3rd party driver is not the source for the bug but needed to use RHEL at
all for desktop. The only alternative would be to switch to a other linux
distribution. The only reason using RHEL is to have the support if any of the
packages from redhat do not work. I do ever do my very best to track down bugs
to the responsible subsystem (And believe me, there are many!). A politic to
ever request some independent informations and to defer a work on the solution
is no way to make your customer happy! (This do not only match this bug.)
Comment 8 Klaus Ethgen 2008-01-24 06:26:50 EST
I made the requested information.

With x-driver nv nothing works at all. If I use no xorg.conf X is started with 
vesa driver but as expected the evdev is not used for the mouse so the error is 
not reproducable.
Comment 9 Klaus Ethgen 2008-01-24 06:27:27 EST
Created attachment 292784 [details]
xorg.coinf
Comment 10 Klaus Ethgen 2008-01-24 06:27:54 EST
Created attachment 292785 [details]
log
Comment 11 Klaus Ethgen 2008-01-24 06:28:16 EST
Created attachment 292786 [details]
log
Comment 12 Olivier Fourdan 2009-10-02 10:38:21 EDT
Created attachment 363490 [details]
Proposed patch

I experience this problem with a Logitech RX 250 mouse too.

Downgrading to xorg-x11-drv-evdev-1.0.0.5-2.el5 makes the crash go away so this is a regression introduced by the fix for bug #184993, ie the patch "absolute-coords-2758.patch".

Intrumenting the code, I found that the crash occurs in EvdevConvert() which was changed by this patch.

The new code new reads:

  static Bool
  EvdevConvert(InputInfoPtr pInfo, int first, int num, int v0, int v1, int v2,
               int v3, int v4, int v5, int *x, int *y)
  {
      EvdevPtr pEvdev = pInfo->private;
      int screenWidth = screenInfo.screens[pEvdev->screen]->width;
      int screenHeight = screenInfo.screens[pEvdev->screen]->height;
  
      if (first != 0 || num != 2)
          return FALSE;
  
      *x = (v0 - pEvdev->min_x) * screenWidth / (pEvdev->max_x - pEvdev->min_x);
      *y = (v1 - pEvdev->min_y) * screenHeight / (pEvdev->max_y - pEvdev->min_y);
  
      return TRUE;
  }

The problem is that pEvdev->max_x == pEvdev->min_x == 0, hence a division by zero.

So the proposed patch just avoids this and the crash does not occur anymore.
Comment 20 Peter Hutterer 2009-11-17 01:27:19 EST
MODIFIED

xorg-x11-drv-evdev-1.0.0.5-4 is available in brew.
Comment 23 Tomas Pelka 2010-02-02 10:43:16 EST
Verified on fresh installed RHEL5.5-Client-20100117.0 and RHEL5.5-Server-20100129.0 by me and Olivier Fourdan (thanks Olivier) using RX250/RX1500/ROEM Logitech mouses.

We may put it in VERIFIED.

version: 1.0.0.5-5.el5
Comment 26 errata-xmlrpc 2010-03-30 04:26:07 EDT
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHBA-2010-0246.html

Note You need to log in before you can comment on or make changes to this bug.