Bug 443201

Summary: wacom driver crashes on logout
Product: [Fedora] Fedora Reporter: Rene Rask <rene>
Component: linuxwacomAssignee: Aristeu Rozanski <arozansk>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: low    
Version: rawhideCC: mcepl, xgl-maint
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2008-04-22 17:12:52 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 441567    
Attachments:
Description Flags
Xorg.0.log from the upstream bug
none
Fix as described in the x.org bugzilla none

Description Rene Rask 2008-04-19 08:18:53 UTC
Description of problem:
The wacom driver crashes X on logout.
It also corrupts the X server making it impossible to VT switch.
This prevents me from logging out or switching user.

Version-Release number of selected component (if applicable):
xorg-x11-server-Xorg-1.4.99.901-22.20080415.fc9.i386
linuxwacom-0.7.9.8-5.fc9.i386
xorg-x11-drv-i810-2.2.1-20.fc9.i386
kernel-2.6.25-1.fc9.i686

How reproducible:
Always when using wacom and intel drivers together

Steps to Reproduce:
1. Kill X. It may work the first time.
2. Kill X again and you are stuck with a corrupt screen and no input. (keyboard
or mouse)
This is also a problem when switching to a termnal.

Actual results:
On one tabletpc the system stop respond the everything.
On the other it still accepts network connections.

Expected results:
Killing X should just start GDM again.

Additional info:
This is the x.org commit which causes the behavior:
http://gitweb.freedesktop.org/?p=xorg/xserver.git;a=commitdiff;h=6d22a9615a0e6ab3d00b0bcb22ff001b6ece02ae
Reverting that patch fixes the problem on both my tablet pcs.

The tablet pcs use serial wacoms (builtin serial).
This also happens if I attach a usb wacom and use that instead of the builtin wacom.

This is the bug report which originated the above commit:
http://bugs.freedesktop.org/show_bug.cgi?id=14418

I also put a backtrace of the wacom segfault in comment 8 of the x.org bug report.

The problem doesn't exist on my laptops with nouveau drivers. I guess it could
be because the intel driver is more advanced and it matters if isn't shut down
in a proper fashion.

I also tried compiling the hotplug branch of the linuxwacom driver (from
git.debian.org). That doesn't work properly. It still causes corruption when
killing X but it allows me to keep killing X. Most likely because the wacom
driver segfaults before I kill X.
I don't know how to make a backtrace of that so I'm stuck.

There might be a more updated version of that branch soon (according to a
developer from the linuxwacom mailling list).

Comment 1 Matt Domsch 2008-04-20 03:57:34 UTC
nominating as F9Blocker.

Comment 2 Matěj Cepl 2008-04-20 08:33:08 UTC
Created attachment 303043 [details]
Xorg.0.log from the upstream bug

Comment 3 Matěj Cepl 2008-04-20 09:09:46 UTC
This is the mentioned backtrace from the upstream bug:

(gdb) bt full
#0  xf86WcmDevProc (pWcm=0x9b0dad0, what=2) at ./xf86Wacom.c:682
        local = (LocalDevicePtr) 0x9ba6568
        priv = (WacomDevicePtr) 0x0
#1  0x0021cc8c in xf86WcmUninit (drv=0x99abd40, local=0x9afa350, flags=0) at
./wcmConfig.c:351
        priv = (WacomDevicePtr) 0x9b1e968
#2  0x080d5292 in DeleteInputDeviceRequest (pDev=0x9b0dad0) at xf86Xinput.c:463
        pInfo = (LocalDevicePtr) 0x9afa350
        drv = (InputDriverPtr) 0x99abd40
        idev = (IDevRec *) 0x998fdc8
#3  0x0807e6e3 in CloseDownDevices () at devices.c:621
        dev = (DeviceIntPtr) 0x9b0dad0
        next = (DeviceIntPtr) 0x9b0dc10
#4  0x0806b3f0 in main (argc=8, argv=0xbf96bd84, envp=0x0) at main.c:461
        i = <value optimized out>
        error = 136273580
        xauthfile = <value optimized out>
        alwaysCheckForInput = {0, 1}


Comment 4 Rene Rask 2008-04-22 07:30:41 UTC
Created attachment 303273 [details]
Fix as described in the x.org bugzilla

The upstream xorg bugzilla has comment which describes why this fixes the bug.
This fix has been tested on both my tabletpcs.
I have asked the linuxwacom developers to confirm if this is good enough for
them.

Comment 5 Adam Jackson 2008-04-22 17:12:52 UTC
Built for rawhide and F-9.  Thanks!