X Test Suite Redux
Jon TURNEY
jon.turney at dronecode.org.uk
Wed Mar 24 12:12:42 PDT 2010
On 24/03/2010 17:33, Dan Nicholson wrote:
> Applied, thanks.
>
>> Is it just me, or does test XAllowEvents (19/29) currently crash the
>> X server in DeliverGrabbedEvent()? (tested with both 1.7.5 and git
>> master; a 1.6.0 X server I have around seems to survive that test,
>> though)
>
> I haven't checked that test lately, but I've been running the suite on
> a 1.7.x series, and I haven't seen the server crash.
Odd. I probably should have mentioned that 1.7.6-1.fc12 crashes as well, so
it's not XWin-specific. Here's a backtrace:
$ gdb --args /opt/wip/jhbuild/install/bin/X :1
GNU gdb 6.8.0.20080328-cvs (cygwin-special)
Copyright (C) 2008 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "i686-pc-cygwin"...
(gdb) r
Starting program: /opt/wip/jhbuild/install/bin/X :1
[New thread 5888.0xd74]
[New thread 5888.0xc08]
InitConnectionLimits: MaxClients = 255
Welcome to the XWin X Server
Vendor: The X.Org Foundation
Release: 1.7.99.902 (10799902)
Tag: xorg-server-1.7.99.902-25-ge086b99
[...]
Program received signal SIGSEGV, Segmentation fault.
0x0056e4d4 in DeliverGrabbedEvent (event=0x22c434, thisDev=0x11631f8,
deactivateGrab=0) at /opt/wip/jhbuild/git/xorg/xserver/dix/events.c:3977
3977 if ((dev->deviceGrab.sync.state ==
FREEZE_BOTH_NEXT_EVENT) &&
(gdb) list
3972 for (dev = inputInfo.devices; dev; dev = dev->next)
3973 {
3974 if (dev == thisDev)
3975 continue;
3976 FreezeThaw(dev, TRUE);
3977 if ((dev->deviceGrab.sync.state ==
FREEZE_BOTH_NEXT_EVENT) &&
3978 (CLIENT_BITS(grab->resource) ==
3979 CLIENT_BITS(dev->deviceGrab.sync.other->resource)))
3980 dev->deviceGrab.sync.state = FROZEN_NO_EVENT;
3981 else
(gdb) p dev
$1 = (DeviceIntPtr) 0x11634b0
(gdb) p grab
$2 = (GrabPtr) 0x1163234
(gdb) p dev->deviceGrab.sync.other
$3 = (GrabPtr) 0x0
I don't know if this just needs a check that sync.other is non-null before we
try and dereference it, or if that indicates a deeper problem...
More information about the xorg-devel
mailing list