[PATCH xserver] dix: Remove clients from input and output ready queues after closing

Michel Dänzer michel at daenzer.net
Fri May 12 01:59:04 UTC 2017


On 11/05/17 11:18 PM, Keith Packard wrote:
> Michel Dänzer <michel at daenzer.net> writes:
> 
>> I'm afraid that doesn't explain the ClientReady-after-CloseDownClient
>> case in https://bugs.freedesktop.org/attachment.cgi?id=131278 though, so
>> there might still be another (possibly pre-existing) bug.
> 
> Agreed. I wonder if that might not be just flushing the set of
> closed epoll data while there are still epoll entries for them. How
> about this?

Makes sense. Nick, can you try doing what you were doing to reproduce
the crashes with this applied, and check that valgrind doesn't report
anything like:

==9640== Invalid write of size 8
==9640==    at 0x159755: __xorg_list_add (list.h:135)
==9640==    by 0x159755: xorg_list_append (list.h:177)
==9640==    by 0x159755: mark_client_ready (dispatch.c:265)
==9640==    by 0x2A6007: ClientReady (connection.c:712)
==9640==    by 0x2AA0C0: ospoll_wait (ospoll.c:412)
==9640==    by 0x2A3413: WaitForSomething (WaitFor.c:226)
==9640==    by 0x15FCC1: Dispatch (dispatch.c:421)
==9640==    by 0x163D76: dix_main (main.c:276)
==9640==    by 0x6ABF1C0: (below main) (libc-start.c:289)
==9640==  Address 0x82ece30 is 16 bytes inside a block of size 360 free'd
==9640==    at 0x4C2C03B: free (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==9640==    by 0x15F333: CloseDownClient (dispatch.c:3484)
==9640==    by 0x2AA0C0: ospoll_wait (ospoll.c:412)
==9640==    by 0x2A3413: WaitForSomething (WaitFor.c:226)
==9640==    by 0x15FCC1: Dispatch (dispatch.c:421)
==9640==    by 0x163D76: dix_main (main.c:276)
==9640==    by 0x6ABF1C0: (below main) (libc-start.c:289)
[...]


-- 
Earthling Michel Dänzer               |               http://www.amd.com
Libre software enthusiast             |             Mesa and X developer

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 224 bytes
Desc: OpenPGP digital signature
URL: <https://lists.x.org/archives/xorg-devel/attachments/20170512/b1b3b85d/attachment.sig>


More information about the xorg-devel mailing list