XLoadQueryFont() not returning with recent xserver master

Jeremy Huddleston Sequoia jeremyhu at apple.com
Sun Sep 11 23:54:30 UTC 2016


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 <jeremyhu at 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]
> 
> 

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 4465 bytes
Desc: not available
URL: <https://lists.x.org/archives/xorg-devel/attachments/20160911/debc9efc/attachment.bin>


More information about the xorg-devel mailing list