Bug 371151 - After the upgrade the x server dies when moving mouse
Summary: After the upgrade the x server dies when moving mouse
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 5
Classification: Red Hat
Component: xorg-x11-drv-evdev
Version: 5.1
Hardware: i386
OS: Linux
medium
medium
Target Milestone: ---
: ---
Assignee: Peter Hutterer
QA Contact: desktop-bugs@redhat.com
URL:
Whiteboard:
Depends On:
Blocks: 531112
TreeView+ depends on / blocked
 
Reported: 2007-11-08 13:41 UTC by Klaus Ethgen
Modified: 2018-10-27 16:04 UTC (History)
7 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2010-03-30 08:26:07 UTC
Target Upstream Version:
Embargoed:


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


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2010:0246 0 normal SHIPPED_LIVE xorg-x11-drv-evdev bug fix update 2010-03-29 12:44:16 UTC

Description Klaus Ethgen 2007-11-08 13:41:49 UTC
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 21:39:58 UTC
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 09:26:36 UTC
> 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-24 00:44:36 UTC
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 09:07:43 UTC
Created attachment 292765 [details]
xorg.conf, was sonst!?

Comment 5 Klaus Ethgen 2008-01-24 09:08:08 UTC
Created attachment 292766 [details]
log

Comment 6 Klaus Ethgen 2008-01-24 09:15:19 UTC
Created attachment 292769 [details]
log

Comment 7 Klaus Ethgen 2008-01-24 09:30:35 UTC
> 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 11:26:50 UTC
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 11:27:27 UTC
Created attachment 292784 [details]
xorg.coinf

Comment 10 Klaus Ethgen 2008-01-24 11:27:54 UTC
Created attachment 292785 [details]
log

Comment 11 Klaus Ethgen 2008-01-24 11:28:16 UTC
Created attachment 292786 [details]
log

Comment 12 Olivier Fourdan 2009-10-02 14:38:21 UTC
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 06:27:19 UTC
MODIFIED

xorg-x11-drv-evdev-1.0.0.5-4 is available in brew.

Comment 23 Tomas Pelka 2010-02-02 15:43:16 UTC
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 08:26:07 UTC
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.