Issue about client application getting stuck calling X primitives

Carli, Maurizio MCarli at QubicaAMF.com
Mon Feb 12 07:42:38 UTC 2018


Good morning everyone, this is the first time I write on this mailing list cause we're having hard time to figure out an issue with the xorg windowing system; I hope this is the right place to ask for help, if it's not I'm sorry; I'd ask in that case where to submit this request. It happens that our application sometime get stuck calling an X primitive. The premise is that the same identical code has been running on a different platform for years (Ubuntu 14.04 with an NVidia video card), while on our newest architecture (Ubuntu 16.04 with an Intel video card) the trouble occurs a couple of time in a day; the application goes in hang in the context of a call to the xcb library while the cpu usage of server X (the Xorg application) raise up to 99-100 % !!!. This is the stack trace of the application getting stuck:

Thread 1 (Thread 0xf3a5a840 (LWP 30325)):
#0  0xf772ebe9 in __kernel_vsyscall ()
#1  0xf6b8fe7f in poll () from /lib/i386-linux-gnu/libc.so.6
#2  0xf69a141d in ?? () from /usr/lib/i386-linux-gnu/libxcb.so.1
#3  0xf69a31fb in ?? () from /usr/lib/i386-linux-gnu/libxcb.so.1
#4  0xf69a3359 in xcb_wait_for_reply () from /usr/lib/i386-linux-gnu/libxcb.so.1
#5  0xf75a0092 in _XReply () from /usr/lib/i386-linux-gnu/libX11.so.6
#6  0xf759b9af in XSync () from /usr/lib/i386-linux-gnu/libX11.so.6
#7  0xf75399d4 in ?? () from /usr/lib/i386-linux-gnu/mesa/libGL.so.1
#8  0xf750edc7 in glXSwapBuffers () from /usr/lib/i386-linux-gnu/mesa/libGL.so.1
#9  0x0843b096 in MxScreen::EndUpdate(bool, bool, bool) ()
#10 0x08118853 in CGraphics::EndUpdate(bool, bool) ()
#11 0x082015ae in VdbClient::Update(InfoPacketList&, VdbServer*) ()
#12 0x0820b232 in VdbServer::updateClients() ()
#13 0x0822ac10 in VdbServer::Update() ()
#14 0x0808ecd5 in safeVdbServerUpdate(VdbServer&) ()
#15 0x08090df6 in MxMain() ()
#16 0x08083d65 in main ()

This is instead the x server backtrace when the trouble occurs:

[New LWP 1138]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
0x00005628cfce0d43 in ?? ()
Thread 2 (Thread 0x7f533733f700 (LWP 1138)):
pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f5337613569 in ?? () from /usr/lib/xorg/modules/drivers/intel_drv.so
#2  0x00007f533b18b6ba in start_thread (arg=0x7f533733f700) at pthread_create.c:333
#3  0x00007f533b4a83dd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 1 (Thread 0x7f533d649a00 (LWP 1137)):
#0  0x00005628cfce0d43 in ?? ()
#1  0x00005628cfce0e7b in GetXIDRange ()
#2  0x00005628cfce0f37 in FakeClientID ()
#3  0x00005628cfdebbf0 in DRI2CreateDrawable2 ()
#4  0x00005628cfdedfb2 in ?? ()
#5  0x00005628cfcbbd9f in ?? ()
#6  0x00005628cfcbfe13 in ?? ()
#7  0x00007f533b3c1830 in __libc_start_main (main=0x5628cfcaa030, argc=9, argv=0x7fff448e80b8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fff448e80a8) at ../csu/libc-start.c:291

The client application has more threads but just one deals with X windows system.
Currently we're trying to install x server version 1.19 instead of the 'original' 1.18.04 Ubuntu 16.04 ship with (configuring some ppa repo)

Any idea about what could be the reasons of this issue? Thank's in advance

Maurizio

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.x.org/archives/xorg/attachments/20180212/76ee2b97/attachment.html>


More information about the xorg mailing list