I bisected the issue to:

f993091e7db81b0420e23c485378cba112278839 is the first bad commit
commit f993091e7db81b0420e23c485378cba112278839
Author: Keith Packard <kei...@keithp.com>
Date:   Thu May 26 10:40:44 2016 -0700

    os: Switch server to poll(2) [v3]
    
    Eliminates all of the fd_set mangling in the server main thread
    
    v2: Listen for POLLOUT while writes are blocked.
    
    v3: Only mark client not ready on EAGAIN return from read
    
    Signed-off-by: Keith Packard <kei...@keithp.com>
    Reviewed-by: Adam Jackson <a...@redhat.com>

---

I'll see if I can dig into it a bit later, but my time is a bit thin.  If 
anyone else has a hunch as to what might be going on to narrow my search, I'd 
appreciate it.  If not, I'll probably start by taking a closer look at this 
particular change to understand what's going wrong.

Thanks,
Jeremy

> On Sep 11, 2016, at 16:54, Jeremy Huddleston Sequoia <jerem...@apple.com> 
> wrote:
> 
> Upon a bit more digging, it looks like the clients are listed in 
> output_pending_clients, but it's not getting delivered.
> 
> This situation reveals another issue with a use-after-free during 
> CloseDownClient() in which a client will get re-added to the 
> output_pending_clients during FlushClient() as part of CloseDownConnection().
> 
> See https://bugs.freedesktop.org/show_bug.cgi?id=97770 for more details on 
> that.
> 
>> On Sep 11, 2016, at 12:24, Jeremy Huddleston Sequoia <jerem...@apple.com> 
>> wrote:
>> 
>> Using current master plus the various patches I submitted to the list last 
>> night, I'm able to launch the server fairly reliably under ASan again, but 
>> some clients are getting wedged.  Most notably, xterm gets stuck waiting for 
>> a reply from XLoadQueryFont().  Looking at the state of the server threads, 
>> it looks fine.  It's processing other requests just fine from other clients.
>> 
>> Has anyone noticed anything odd like this or have some hunch as to where I 
>> might start looking other than to do yet another bisect? =/
>> 
>> Thread 0x344e96           DispatchQueue 1           1000 samples (1-1000)    
>>  priority 31 (base 31)
>> 1000  start + 52 (xterm + 6312) [0x10d3bf8a8]
>>   1000  main + 3752 (xterm + 146228) [0x10d3e1b34]
>>     1000  spawnXTerm + 977 (xterm + 148776) [0x10d3e2528]
>>       1000  VTInit + 22 (xterm + 68248) [0x10d3cea98]
>>         1000  XtRealizeWidget + 135 (libXt.6.dylib + 84572) [0x10d4ffa5c]
>>           1000  RealizeWidget + 871 (libXt.6.dylib + 85805) [0x10d4fff2d]
>>             1000  RealizeWidget + 365 (libXt.6.dylib + 85299) [0x10d4ffd33]
>>               1000  VTRealize + 324 (xterm + 82404) [0x10d3d21e4]
>>                 1000  SetVTFont + 335 (xterm + 121728) [0x10d3dbb80]
>>                   1000  xtermLoadFont + 514 (xterm + 114081) [0x10d3d9da1]
>>                     1000  xtermOpenFont + 86 (xterm + 112342) [0x10d3d96d6]
>>                       1000  XLoadQueryFont + 311 (libX11.6.dylib + 29419) 
>> [0x10d54f2eb]
>>                         1000  _XQueryFont + 163 (libX11.6.dylib + 32127) 
>> [0x10d54fd7f]
>>                           1000  _XReply + 279 (libX11.6.dylib + 143484) 
>> [0x10d56b07c]
>>                             1000  xcb_wait_for_reply + 103 (libxcb.1.dylib + 
>> 8247) [0x10d711037]
>>                               1000  wait_for_reply + 251 (libxcb.1.dylib + 
>> 8521) [0x10d711149]
>>                                 1000  _xcb_conn_wait + 466 (libxcb.1.dylib + 
>> 4166) [0x10d710046]
>>                                   1000  _xcb_in_read + 1051 (libxcb.1.dylib 
>> + 12750) [0x10d7121ce]
>>                                     1000  __select + 10 
>> (libsystem_kernel.dylib + 106318) [0x7fffc5e2df4e]
>>                                      *1000  _sleep_continue + 0 
>> (kernel.development + 7459248) [0xffffff800091d1b0]
>> 
>> 
> 
> _______________________________________________
> xorg-devel@lists.x.org: X.Org development
> Archives: http://lists.x.org/archives/xorg-devel
> Info: https://lists.x.org/mailman/listinfo/xorg-devel

Attachment: smime.p7s
Description: S/MIME cryptographic signature

_______________________________________________
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: https://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to