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

Bug #780961 reported by Selene ToyKeeper
78
This bug affects 13 people
Affects Status Importance Assigned to Milestone
xorg-server (Ubuntu)
Invalid
High
Unassigned
Natty
Invalid
Undecided
Unassigned
Oneiric
Invalid
Undecided
Unassigned

Bug Description

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).

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

Revision history for this message
Selene ToyKeeper (toykeeper) wrote :
Revision history for this message
Selene ToyKeeper (toykeeper) wrote :

FWIW, it crashed again about 10 minutes after I filed this. My session lasted about 30 minutes, even with SMP disabled, so I'm not so sure SMP matters. I may have just been lucky when my session lasted for nearly 2 days before.

This has been triggered by changing desktops (ctrl+arrow switches to a desktop in that direction), and by moving a window with the keyboard (hyper+arrow to move the current window in that direction until it hits something). I don't recall any other specific actions which immediately preceded the crash.

bugbot (bugbot)
affects: xorg (Ubuntu) → xorg-server (Ubuntu)
Revision history for this message
Selene ToyKeeper (toykeeper) wrote :

Woot, a couple more crashes now. I don't know if it matters, but it seems that every crash today happened immediately after pressing Ctrl-Left or Hyper-Left... not right, up, or down, even though I do those just as often.

I just found Bug 727594, and I suspect this may be a dupe of that. I'm going to try the fix released there and report back with results (which could take a few days).

Revision history for this message
Selene ToyKeeper (toykeeper) wrote :

... or apparently not a dupe. I have the updated package installed already (and have all along). And I see "no error state collected" in /sys/kernel/debug/dri/0/i915_error_state.

I'm still getting segfaults a few times per day though. :( The only theory I've got is that sawfish may be sending X11 requests in a different order sometimes, and may trigger a completely different Xorg bug. I really have no clue though.

Revision history for this message
Selene ToyKeeper (toykeeper) wrote :

After a few more days of use, it seems as if this issue does not occur if I use only the mouse for switching desktops and moving windows. It also doesn't seem to happen if I wait a second between each keyboard-based action instead of doing multiple actions in quick succession. So, I've been consciously making sure to go slowly in order to avoid crashing.

I only have a few days of data though, so I could simply be lucky.

Anyway, the types of actions which seem to trigger it are if I quickly move a window up and then to the left (H-Up, H-Left), or if I switch desktops more than once quickly (such as Ctrl-Down, Ctrl-Left). I suspect that some X11 call sequences may end up overlapping when executed too quickly, and sawfish isn't preventing the overlap.

Revision history for this message
Selene ToyKeeper (toykeeper) wrote :

Hmm, waiting a second between each window management keypress isn't sufficient to avoid this issue. I got a crash with just one desktop switch, invoked from the keyboard. I'm now trying to avoid *all* keyboard-based window management, to see what happens.

I'm very tempted to force-install maverick's xorg packages over natty's, so I won't keep losing my running apps every day or two. It's a bit disruptive when I normally have at least 15 desktops and 100 windows open. Reverting to maverick wouldn't help with debugging though...

Revision history for this message
Willem (withaar) wrote :

I have the same problem on an ASUS U35JC-A1 with the intel i915 driver. I attached the Xorg log.

Revision history for this message
Selene ToyKeeper (toykeeper) wrote :

Willem, that Xorg traceback looks totally different than mine... I doubt it's the same issue.

Revision history for this message
Selene ToyKeeper (toykeeper) wrote :

So far so good on the mouse-only window management. It seems that as long as I don't use the keyboard to move windows or change desktops, Xorg doesn't segfault. It's pretty inconvenient though, since normally I barely touch the mouse at all.

summary: - Natty Xorg crashes on Thinkpad X201 (i915 driver) during screen updates
+ Natty Xorg crashes on Thinkpad X201 (i915 driver) when using keyboard-
+ based window management
Bryce Harrington (bryce)
description: updated
Bryce Harrington (bryce)
Changed in xorg-server (Ubuntu):
status: New → Confirmed
importance: Undecided → High
assignee: nobody → Bryce Harrington (bryce)
Revision history for this message
Malras (malras) wrote : Re: Natty Xorg crashes on Thinkpad X201 (i915 driver) when using keyboard-based window management

Hi, this bug drives me crazy as well. Although I am running fedora 15 but not ubuntu (with a similar kernel though 2.6.38.7-30.fc15.x86_64). It crashes randomly just as Selene discribes. I am working on a Thinkpad X201s with dual monitor setup.

Attached is the Xorg log file.

I hope someone could fix this issue. I am about to downgrade to an old fedora version where this bug never happened. I also noticed that switching desktops somewhat increases the frequency of the crash (so I am only working on the external monitor right now). However, it also occurred to me twice, when I had apparently touched nothing at all.

Revision history for this message
Laurent (syrius-no-log) wrote :

hi there,

same probleme here, same backtrace.
It does it since i upgraded to natty.
it does it with both nvidia and nouveau drivers.
when i was using natty my workaround was to downgrade X and nvidia to maverick's versions.
I've now upgraded to oneiric, so i'm stuck.

btw, i'm also a sawfish user, and i happen when i run a

Revision history for this message
Laurent (syrius-no-log) wrote :

btw, i'm also a sawfish user, and i happen when i launch a new rxvt with a keyboard binding (super-w here)

Revision history for this message
Laurent (syrius-no-log) wrote :

[DOWNGRADE] xserver-common 2:1.10.2.902-1ubuntu1 -> 2:1.10.2.902-1
[DOWNGRADE] xserver-xorg 1:7.6+7ubuntu1 -> 1:7.6+7
[DOWNGRADE] xserver-xorg-core 2:1.10.2.902-1ubuntu1 -> 2:1.10.2.902-1
[UPGRADE] xserver-xorg-input-evdev 1:2.6.0-1ubuntu13 -> 1:2.6.0-2+b1
[UPGRADE] xserver-xorg-input-mouse 1:1.7.0-4 -> 1:1.7.1-1

IOW, yesterday i decided to install debian/sid xserver packages on my oneiric ! :)
and it hasn't crashed so far.

if it doesn't crash today, i'll try with the sid xserver-xorg-input* packages only...

Revision history for this message
Selene ToyKeeper (toykeeper) wrote :

I've been trying to avoid this, but as long as I had a crash today, I decided to get more data. I can consistently reproduce the crash by starting X, starting 5 urxvt windows, then rapidly moving windows around with H-arrow keys. It takes maybe 15 seconds to trigger the bug in most cases.

But first, I attached gdb. I'll attach the full log momentarily, but here is the traceback it found:

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}

Revision history for this message
Selene ToyKeeper (toykeeper) wrote :
Revision history for this message
Bryce Harrington (bryce) wrote :

Hi Selene,

I've studied this a bit more and come up with a plan.

1. I notice in your Dependencies.txt that it lists you as having -evdev u12 installed, but there is an -evdev u12.1 available with a fix to a bug not dissimilar to this one (LP #774978). The backtrace in that case is different, but it was a very common bug with very similar symptoms, so perhaps yours is some variant of it.

Possibly you already natty-updates enabled and have that fixed version installed now , but please doublecheck and if not pull it in and test it.

  apt-cache policy xserver-xorg-input-synaptics

2. If #1 doesn't do it, comment #13's findings might be interesting to explore. One of the main differences between us and debian are the Xi2 multitouch patches. I've prepared a set of packages for you to test which have these patches disabled. Please install this whole PPA and try reproducing the crash:

  https://launchpad.net/~bryce/+archive/melon

3. The backtrace in this case is not telling us exactly what is going on. It's like finding your car in the lake - the lake didn't cause the crash, it's just what ruined all your upholstery. So, to try and get a bit better details, I've prepared a debug version of xserver. Disable and uninstall the melon PPA from #2, and install this one instead:

  https://launchpad.net/~bryce/+archive/x-debug

Then, reproduce the crash and collect another backtrace (or collect several if you notice the backtrace varies from crash to crash). Then uninstall the PPA (ppa-purge can be useful here).

4. Finally, if none of the other options work, please install the xorg-edgers PPA and verify the crash still occurs there. If it does, I can forward the bug upstream. Again, ppa-purge can be used to restore your system back to non-xorg-edgers when you're done.

Revision history for this message
Selene ToyKeeper (toykeeper) wrote :

I'm digging into this today. So far, I can say that #1 didn't change any behavior that I could see (same crash occurs), and #2 disabled my input devices entirely. So I'll continue down the list and let you know what happens.

(BTW, in #2, the synaptics input packages don't seem to have built; only its source package files are in the PPA)

Revision history for this message
Selene ToyKeeper (toykeeper) wrote :
Download full text (3.9 KiB)

Using the debug packages you provided in #3, I get a different traceback. It's consistent across crashes, except for a few values.

Program received signal SIGUSR1, User defined signal 1.
0x00007f3a9ac43123 in select () from /lib/x86_64-linux-gnu/libc.so.6
#0 0x00007f3a9ac43123 in select () from /lib/x86_64-linux-gnu/libc.so.6
No symbol table info available.
#1 0x000000000045d07b in WaitForSomething (pClientsReady=0x4223ef0) at ../../os/WaitFor.c:232
        i = <value optimized out>
        waittime = {tv_sec = 113, tv_usec = 785619}
        wt = 0x7fff3c80b140
        timeout = <value optimized out>
        clientsReadable = {fds_bits = {0 <repeats 16 times>}}
        clientsWritable = {fds_bits = {37909264, 4358308, 16777220, 140734208454804, 0, 67767824, 0, 32, 69320416, 4527564, 70041344, 4583109, 140734208454960, 32, 0, 0}}
        selecterr = <value optimized out>
        nready = 0
        devicesReadable = {fds_bits = {16777220, 140734208454888, 70041344, 4763888, 70041344, 16777220, 1073741825, 70314624, 0, 0, 16, 0, 48, 140734208454800, 140734208454720, 66656480}}
        now = <value optimized out>
        someReady = <value optimized out>
#2 0x0000000000434f42 in Dispatch () at ../../dix/dispatch.c:367
        clientReady = 0x4223ef0
        result = <value optimized out>
        client = <value optimized out>
        nready = <value optimized out>
        icheck = 0x7f1430
        start_tick = <value optimized out>
#3 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}

Program received signal SIGSEGV, Segmentation fault.
0x00000000004455b5 in PlayReleasedEvents () at ../../dix/events.c:1188
 in ../../dix/events.c

Here's a diff from another run:

-0x00007f9a453a2123 in select () from /lib/x86_64-linux-gnu/libc.so.6
+0x00007f3a9ac43123 in select () from /lib/x86_64-linux-gnu/libc.so.6

 Program received signal SIGUSR1, User defined signal 1.
-0x00007f9a453a2123 in select () from /lib/x86_64-linux-gnu/libc.so.6
-#0 0x00007f9a453a2123 in select () from /lib/x86_64-linux-gnu/libc.so.6
+0x00007f3a9ac43123 in select () from /lib/x86_64-linux-gnu/libc.so.6
+#0 0x00007f3a9ac43123 in select () from /lib/x86_64-linux-gnu/libc.so.6
 No symbol table info available.
-#1 0x000000000045d07b in WaitForSomething (pClientsReady=0x2999ef0) at ../../os/WaitFor.c:232
+#1 0x000000000045d07b in WaitForSomething (pClientsReady=0x4223ef0) at ../../os/WaitFor.c:232
         i = <value optimized out>
- waittime = {tv_sec = 113, tv_usec = 244163}
- wt = 0x7fffd55c06e0
+ waittime = {tv_sec = 113, tv_usec = 785619}
+ wt = 0x7fff3c80b140
         timeout = <value optimized out>
         clientsReadable = {fds_bits = {0 <repeats 16 times>}}
- clientsWritable = {fds_bits = {12178192, 4358308, 16777220, 140736772965940, 0, 42036752, 0, 32, 44737920, 4527564, 44300576, 4583109, 140736772966096, 32, 0, 0}}
+ clientsWritable = {fds_bits = {37909264, 4358308, 16777220, 140734208454804, 0, 67767824, 0, 32, 69320416, 4527564, 70041344, 4583109, 140734208454960, 32, 0, 0}}
         ...

Read more...

Revision history for this message
Selene ToyKeeper (toykeeper) wrote :

... and similar results after upgrading, dist-upgrading, and installing xorg-edgers:

Program received signal SIGUSR1, User defined signal 1.
0x00007f36cb5f8123 in select () from /lib/x86_64-linux-gnu/libc.so.6
#0 0x00007f36cb5f8123 in select () from /lib/x86_64-linux-gnu/libc.so.6
No symbol table info available.
#1 0x00000000004666ab in WaitForSomething (pClientsReady=0x319d7a0) at ../../os/WaitFor.c:232
        i = <value optimized out>
        waittime = {tv_sec = 91, tv_usec = 650170}
        wt = 0x7fffbe4b4910
        timeout = <value optimized out>
        clientsReadable = {fds_bits = {0 <repeats 16 times>}}
        clientsWritable = {fds_bits = {20566320, 4402564, 173, 140736385992804, 0, 50440512, 0, 32, 51983824, 4850828, 50669488, 4609749, 140736385992960, 32, 0, 0}}
        selecterr = <value optimized out>
        nready = 0
        devicesReadable = {fds_bits = {173, 140736385992888, 50669488, 4972288, 50669488, 173, 1073741825, 49412976, 0, 0, 16, 0, 48, 140736385992800, 140736385992720, 49337280}}
        now = <value optimized out>
        someReady = <value optimized out>
#2 0x00000000004398a2 in Dispatch () at ../../dix/dispatch.c:367
        clientReady = 0x319d7a0
        result = <value optimized out>
        client = <value optimized out>
        nready = <value optimized out>
        icheck = 0x7f3dd0
        start_tick = <value optimized out>
#3 0x0000000000421b3e in main (argc=9, argv=<value optimized out>, envp=<value optimized out>) at ../../dix/main.c:287
        i = <value optimized out>
        alwaysCheckForInput = {0, 1}

Program received signal SIGSEGV, Segmentation fault.
0x0000000000452a55 in PlayReleasedEvents () at ../../dix/events.c:1195
 in ../../dix/events.c

Revision history for this message
Selene ToyKeeper (toykeeper) wrote :

FWIW, after upgrading to oneiric, this segfault still occurs. However, if I use xorg packages from debian/testing, the problem disappears. (am using xserver-xorg 1:7.6+9, xserver-xorg-core 2:1.11.1.902-1, xserver-xorg-input-evdev 1:2.6.0-2+b2, which are slightly newer than what oneiric has but more importantly don't have Ubuntu's add-on patches)

Bryce Harrington (bryce)
description: updated
Changed in xorg-server (Ubuntu):
status: Confirmed → Triaged
Revision history for this message
Bryce Harrington (bryce) wrote :

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.

Revision history for this message
Bryce Harrington (bryce) wrote :

Note that this bug and the two dupes have different ways of reproducing the bug, but all three are running Sawfish.

summary: - Natty Xorg crashes on Thinkpad X201 (i915 driver) when using keyboard-
- based window management
+ Xorg crash in PlayReleasedEvents with Sawfish when using keyboard-based
+ window management
Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in xorg-server (Ubuntu Natty):
status: New → Confirmed
Changed in xorg-server (Ubuntu Oneiric):
status: New → Confirmed
Revision history for this message
Paul Holcomb (noptys) wrote :

Some more data, which may or may not be useful:

 I am unable to reproduce this bug using Selene's method (rapidly forcing window redraws) and both my machines having the problem are using the nvidia xorg server.

The only way I've been able to trigger this is to start xterms (and xterms only) (#898214 ) using a sawfish keyboard shortcut that uses run-application.jl (http://sawfish.wikia.com/wiki/Run-application).

I cannot reproduce at will. It doesn't seem to be directly related to the number or xterms I launch or the frequency. I've had the crash happen a minute after X starts and also not until 10 days later.

 iswitch-window (http://sawfish.wikia.com/wiki/Iswitch-window) is the only other lisp code other than key bindings present in both machines that are crashing.

Revision history for this message
Chase Douglas (chasedouglas) wrote :

Please attach the list of input devices you are using when hitting this bug. Please run:

$ xinput list --long

Then attach the output to this bug. I am interested in seeing whether you have multitouch devices or not.

Thanks!

Changed in xorg-server (Ubuntu Precise):
assignee: Bryce Harrington (bryce) → Chase Douglas (chasedouglas)
Revision history for this message
Paul Holcomb (noptys) wrote :

Oneiric xinput

Revision history for this message
Paul Holcomb (noptys) wrote :

Natty xinput

Revision history for this message
Chase Douglas (chasedouglas) wrote :

Doesn't look like there are any multitouch devices. That's good because it narrows the paths through which things could be propagating.

I have uploaded a debug server to ppa:chasedouglas/mercury. Please add the repository and update to it when it is done building. You can see the status here: https://launchpad.net/~chasedouglas/+archive/mercury/+packages. Then test it out and report any backtraces here. Please be sure to copy the entire backtrace, I think some backtraces in previous comments were cut off.

If you hit a crash with the same stack trace as before, look for a core dump in /etc/X11/core or /var/crash. If you find one, please upload it. If you don't find one, try this in a VT console or over SSH (warning, make sure you are logged out first!):

sudo /etc/init.d/gdm stop
ulimit -c unlimited
startx

Thanks!

Revision history for this message
Bryce Harrington (bryce) wrote : Re: [Ubuntu-x-swat] [Bug 780961] Re: Xorg crash in PlayReleasedEvents with Sawfish when using keyboard-based window management

Build appears to have errored:

../../dix/events.c: In function 'EnqueueEvent':
../../dix/events.c:1100:9: error: used struct type value where scalar is required

On Thu, Dec 01, 2011 at 01:31:22AM -0000, Chase Douglas wrote:
> Doesn't look like there are any multitouch devices. That's good because
> it narrows the paths through which things could be propagating.
>
> I have uploaded a debug server to ppa:chasedouglas/mercury. Please add
> the repository and update to it when it is done building. You can see
> the status here:
> https://launchpad.net/~chasedouglas/+archive/mercury/+packages. Then
> test it out and report any backtraces here. Please be sure to copy the
> entire backtrace, I think some backtraces in previous comments were cut
> off.
>
> If you hit a crash with the same stack trace as before, look for a core
> dump in /etc/X11/core or /var/crash. If you find one, please upload it.
> If you don't find one, try this in a VT console or over SSH (warning,
> make sure you are logged out first!):
>
> sudo /etc/init.d/gdm stop
> ulimit -c unlimited
> startx
>
> Thanks!
>
> --
> 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
>
> _______________________________________________
> Mailing list: https://launchpad.net/~ubuntu-x-swat
> Post to : <email address hidden>
> Unsubscribe : https://launchpad.net/~ubuntu-x-swat
> More help : https://help.launchpad.net/ListHelp

Revision history for this message
Elliot Kendall (elliotkendall) wrote :

You may already have what you need, but here's my xinput info as well, from natty x86_64

Revision history for this message
Paul Holcomb (noptys) wrote :

 $> grep xdebug /var/log/Xorg.0.log
[2600727.643] xorg-server 2:1.10.1-1ubuntu2~xdebug~3 (For technical support please see http://www.ubuntu.com/support)

Ok, I've got your PPA build running right now, and gdb attached to it.

So far, no luck in getting it to crash yet (which is expected)

Revision history for this message
Chase Douglas (chasedouglas) wrote :

Peter Hutterer and I looked over this code as we were working on the XI multitouch work. In a change I made to the syncEvents queue list management, I forgot to update the previous item's "next" pointer when removing an item. This could very well be the cause of the bug.

I have uploaded a new package to my testing ppa (~xdebug~4). Please test it out to see if it resolves the issue.

Thanks!

Revision history for this message
Laurent (syrius-no-log) wrote :

on oneiric, my workaround is still to use debian packages.
Using squeeze-backports for xserver-xorg-input-mouse xserver-xorg-input-evdev xserver-xorg-core xserver-xorg xserver-common

Revision history for this message
Chase Douglas (chasedouglas) wrote :

I haven't heard any feedback from the packages in my PPA. Is it working? Is it too early to tell?

Revision history for this message
Elliot Kendall (elliotkendall) wrote :

I haven't had any crashes since I switched to your packages, but I was away from this machine most of last week, and it's not unusual for me not to see any crashes for several days. In my case it's never been an easily problem to reproduce.

Revision history for this message
Paul Holcomb (noptys) wrote :

No crashes in xdebug4 yet, but just like Elliot, the time until X crashes is highly variable.

Revision history for this message
Selene ToyKeeper (toykeeper) wrote :

I don't suppose you could build an oneiric version too?

Revision history for this message
Paul Holcomb (noptys) wrote :

I built some oneiric packages using the 2 patches from xdebug4. Files are here:
http://www.cpoint.net/paul/xorg/

I just rebuilt these after cleaning up the changelog and version numbers, but I've been running the same code for several days now with no crashes.

Revision history for this message
Paul Holcomb (noptys) wrote :

Also added to ppa: https://launchpad.net/~pholcomb/+archive/ppa but as of last check wasn't finished building

Revision history for this message
Paul Holcomb (noptys) wrote :

FYI: No further crashes on either oneiric or natty for me using the above versions (oneiric:test2, natty:xdebug4)

Revision history for this message
Elliot Kendall (elliotkendall) wrote :

Nor for me. I'd been getting fewer crashes over time, but I've had none at all since installing the patched version. I'm pretty confident they fix the problem for me.

Revision history for this message
Laurent (syrius-no-log) wrote :

confirmed, xdebug4 fixes this issues.
some of my sawfish binding were not working before and the xserver was crashing, everything is ok with xdebug4.

tags: added: rls-mgr-p-tracking
Revision history for this message
Chase Douglas (chasedouglas) wrote :

The bad code does not exist in Precise. It has been replaced by better code :).

no longer affects: xorg-server (Ubuntu Precise)
Changed in xorg-server (Ubuntu):
assignee: Chase Douglas (chasedouglas) → nobody
status: Triaged → Invalid
Revision history for this message
dino99 (9d9) wrote :
Changed in xorg-server (Ubuntu Oneiric):
status: Confirmed → Invalid
Changed in xorg-server (Ubuntu Natty):
status: Confirmed → Invalid
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.