← Back to team overview

ubuntu-x-swat team mailing list archive

[Bug 780961] Re: Natty Xorg crashes on Thinkpad X201 (i915 driver) when using keyboard-based window management

 

The (Ubuntu patched) code in question is:

static void
PlayReleasedEvents(void)
{
    QdEventPtr prev, qe = syncEvents.pending;
    DeviceIntPtr dev;
    DeviceIntPtr pDev;

    prev = NULL;
    while (qe)
    {
        if (!qe->device->deviceGrab.sync.frozen)   <== line 1188
        {
            if (syncEvents.pending == qe)
                syncEvents.pending = qe->next;
            pDev = qe->device;
            if (syncEvents.pendtail == qe)
                syncEvents.pendtail = prev;
            if (qe->event->any.type == ET_Motion)
                CheckVirtualMotion(pDev, qe, NullWindow);
            syncEvents.time.months = qe->months;
            syncEvents.time.milliseconds = qe->event->any.time;


Line 1188 is actually unchanged by the Xi2 patches, however much of the surrounding code has changed.  I'm gathering that qe->device must be undefined at this point.  I'm unsure whether simply checking qe->device as NULL is the right solution.

** Description changed:

  Binary package hint: xorg
  
  Ever since upgrading to natty a couple days ago, I've been having
  problems with Xorg crashing.  I got a traceback (already attached,
  gdmlog1), which suggested something related to pthreads, so I tried
  disabling hyperthreading and all but one core in BIOS.  This reduced the
  frequency of crashing from about once per 10 minutes to once per 2 days.
  I don't know if it's specific to the intel driver, or if it is a more
  general issue.
  
  As far as steps for reproducing the issue...  I'm not exactly sure.  This is a description of a typical session:
  1. Log in via gdm.  I'm using sawfish, with a custom Xsession.
  2. Start a few programs.  I ran xchat, chrome, midori, a few instances of dillo, and a few instances if urxvt (client/server mode, not independent instances).
  3. Trigger a few window redraws, by changing desktops or moving windows around.  I triggered these actions via key shortcuts, generally a few times in a fraction of a second.
  
  Result:  Once in a while, step 3 will cause an Xorg crash.  The
  frequency increases quite a bit with SMP enabled (2 cores + HT, so 4
  logical CPUs).
  
- Backtrace:
- [164690.319] 0: /usr/bin/X (xorg_backtrace+0x26) [0x4a2626]
- [164690.319] 1: /usr/bin/X (0x400000+0x6219a) [0x46219a]
- [164690.319] 2: /lib/x86_64-linux-gnu/libpthread.so.0 (0x7f99ff2fe000+0xfc60) [0x7f99ff30dc60]
- [164690.319] 3: /usr/bin/X (0x400000+0x3d7e5) [0x43d7e5]
- [164690.319] 4: /usr/bin/X (ProcAllowEvents+0x14b) [0x43df1b]
- [164690.319] 5: /usr/bin/X (0x400000+0x2e2a9) [0x42e2a9]
- [164690.319] 6: /usr/bin/X (0x400000+0x21a7e) [0x421a7e]
- [164690.319] 7: /lib/x86_64-linux-gnu/libc.so.6 (__libc_start_main+0xff) [0x7f99fe247eff]
- [164690.319] 8: /usr/bin/X (0x400000+0x21629) [0x421629]
- [164690.319] Segmentation fault at address 0x291
- [164690.319] 
- Caught signal 11 (Segmentation fault). Server aborting
+ 0x000000000043d7e5 in PlayReleasedEvents () at ../../dix/events.c:1188
+  in ../../dix/events.c
+ #0 0x000000000043d7e5 in PlayReleasedEvents () at ../../dix/events.c:1188
+         prev = <value optimized out>
+         qe = 0x30d15f0
+         dev = <value optimized out>
+         pDev = <value optimized out>
+ #1 ComputeFreezes () at ../../dix/events.c:1385
+         replayDev = <value optimized out>
+         w = <value optimized out>
+         grab = <value optimized out>
+         dev = <value optimized out>
+ #2 0x000000000043df1b in ProcAllowEvents (client=0x2f913e0)
+     at ../../dix/events.c:1846
+         time = {months = 0, milliseconds = 1161414}
+         mouse = 0x2cf4dc0
+         keybd = <value optimized out>
+         stuff = 0x304b590
+ #3 0x000000000042e2a9 in Dispatch () at ../../dix/dispatch.c:431
+         clientReady = 0x2e77e40
+         result = <value optimized out>
+         client = 0x2f913e0
+         nready = 0
+         icheck = 0x7f1410
+         start_tick = 120
+ #4 0x0000000000421a7e in main (argc=6, argv=<value optimized out>,
+     envp=<value optimized out>) at ../../dix/main.c:287
+         i = <value optimized out>
+         alwaysCheckForInput = {0, 1}
  
  ProblemType: Bug
  DistroRelease: Ubuntu 11.04
  Package: xorg 1:7.6+4ubuntu3
  ProcVersionSignature: Ubuntu 2.6.38-8.42-generic 2.6.38.2
  Uname: Linux 2.6.38-8-generic x86_64
  Architecture: amd64
  CompizPlugins: No value set for `/apps/compiz-1/general/screen0/options/active_plugins'
  CompositorRunning: None
  DRM.card0.DP.1:
   status: disconnected
   enabled: disabled
   dpms: Off
   modes:
   edid-base64:
  DRM.card0.HDMI.A.1:
   status: disconnected
   enabled: disabled
   dpms: Off
   modes:
   edid-base64:
  DRM.card0.LVDS.1:
   status: connected
   enabled: enabled
   dpms: On
   modes: 1280x800 1280x800
   edid-base64: AP///////wAwrhFAAAAAAAATAQOAGhB46lzVk1xejiccUFQAAAABAQEBAQEBAQEBAQEBAQEB7hoAgFAgEDAQMBMABaMQAAAZ0BcAxlAgGTAwIDYABaMQAAAZAAAADwCBCjyBCjIWCQBMo0FUAAAA/gBMVE4xMjFBVDA3TDAyADg=
  DRM.card0.VGA.1:
   status: disconnected
   enabled: disabled
   dpms: Off
   modes:
   edid-base64:
  Date: Wed May 11 01:51:39 2011
  DistUpgraded: Log time: 2011-05-08 22:00:44.661710
  DistroCodename: natty
  DistroVariant: ubuntu
  EcryptfsInUse: Yes
  GraphicsCard:
   Intel Corporation Core Processor Integrated Graphics Controller [8086:0046] (rev 02) (prog-if 00 [VGA controller])
     Subsystem: Lenovo Device [17aa:215a]
  InstallationMedia: Ubuntu 10.10 "Maverick Meerkat" - Release amd64 (20101007)
  MachineType: LENOVO 3249CTO
  ProcEnviron:
   LANGUAGE=en_US:en
   PATH=(custom, user)
   LANG=C
   SHELL=/bin/zsh
  ProcKernelCmdLine: BOOT_IMAGE=/vmlinuz-2.6.38-8-generic root=UUID=067abbb3-2b82-460b-8e84-083cc85dfa86 ro quiet splash vt.handoff=7
  Renderer: Unknown
  SourcePackage: xorg
  UpgradeStatus: Upgraded to natty on 2011-05-09 (1 days ago)
  dmi.bios.date: 12/17/2010
  dmi.bios.vendor: LENOVO
  dmi.bios.version: 6QET62WW (1.32 )
  dmi.board.name: 3249CTO
  dmi.board.vendor: LENOVO
  dmi.board.version: Not Available
  dmi.chassis.asset.tag: No Asset Information
  dmi.chassis.type: 10
  dmi.chassis.vendor: LENOVO
  dmi.chassis.version: Not Available
  dmi.modalias: dmi:bvnLENOVO:bvr6QET62WW(1.32):bd12/17/2010:svnLENOVO:pn3249CTO:pvrThinkPadX201:rvnLENOVO:rn3249CTO:rvrNotAvailable:cvnLENOVO:ct10:cvrNotAvailable:
  dmi.product.name: 3249CTO
  dmi.product.version: ThinkPad X201
  dmi.sys.vendor: LENOVO
  version.compiz: compiz 1:0.9.4+bzr20110415-0ubuntu2
  version.ia32-libs: ia32-libs 20090808ubuntu13
  version.libdrm2: libdrm2 2.4.23-1ubuntu6
  version.libgl1-mesa-dri: libgl1-mesa-dri 7.10.2-0ubuntu2
  version.libgl1-mesa-dri-experimental: libgl1-mesa-dri-experimental N/A
  version.libgl1-mesa-glx: libgl1-mesa-glx 7.10.2-0ubuntu2
  version.xserver-xorg: xserver-xorg 1:7.6+4ubuntu3
  version.xserver-xorg-video-ati: xserver-xorg-video-ati 1:6.14.0-0ubuntu4
  version.xserver-xorg-video-intel: xserver-xorg-video-intel 2:2.14.0-4ubuntu7.1
  version.xserver-xorg-video-nouveau: xserver-xorg-video-nouveau 1:0.0.16+git20110107+b795ca6e-0ubuntu7

** Changed in: xorg-server (Ubuntu)
       Status: Confirmed => Triaged

** Also affects: xorg-server (Ubuntu Natty)
   Importance: Undecided
       Status: New

** Also affects: xorg-server (Ubuntu Oneiric)
   Importance: Undecided
       Status: New

** Also affects: xorg-server (Ubuntu Precise)
   Importance: High
     Assignee: Bryce Harrington (bryce)
       Status: Triaged

-- 
You received this bug notification because you are a member of Ubuntu-X,
which is subscribed to xorg-server in Ubuntu.
https://bugs.launchpad.net/bugs/780961

Title:
  Xorg crash in PlayReleasedEvents with Sawfish when using keyboard-
  based window management

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/xorg-server/+bug/780961/+subscriptions


References