I think it might be prudent to enable it only with a 'vglrun +xcb' switch or something like that. I just predict that this is not the last we've heard of issues like this.
> On Nov 24, 2014, at 9:26 AM, Nathan Kidd <nathan...@spicycrypto.ca> wrote: > >> On 23/11/14 02:45 PM, DRC wrote: >> Never mind. I put it in a debugger and figured out exactly what was >> happening. XNextEvent() is being called by glib, within the body of >> QEventDispatcherGlib::processEvents(). XNextEvent() locks the display, >> then calls xcb_wait_for_event(), which was previously querying the atom >> on the same display connection and causing the deadlock. > > > On my system it really is XPending -> xcb_intern_atom that locks[1], > which merely gives weight to your notion of "be cautious about xcb". > > -Nathan > > [1] > #2 0x00007ffff5bd4480 in __GI___pthread_mutex_lock (mutex=0x6b8be0) at > ../nptl/pthread_mutex_lock.c:79 > #3 0x00007ffff4ad5b7a in _XInternalLockDisplay (dpy=0x6d0a00, wskip=0) > at ../../src/locking.c:480 > #4 0x00007ffff4ae7018 in return_socket (closure=0x6d0a00) at > ../../src/xcb_io.c:52 > #5 0x00007ffff02f6ef7 in get_socket_back (c=c@entry=0x6d1c50) at > ../../src/xcb_out.c:96 > #6 0x00007ffff02f74df in xcb_send_request (c=0x6d1c50, > flags=flags@entry=1, vector=vector@entry=0x7fffffffdfb0, > req=req@entry=0x7ffff03043a0 <xcb_req>) at ../../src/xcb_out.c:242 > #7 0x00007ffff02fbe4c in xcb_intern_atom (c=<optimized out>, > only_if_exists=<optimized out>, > name_len=<optimized out>, name=<optimized out>) at xproto.c:3338 > #8 0x00007ffff78cf386 in _xcb_intern_atom.constprop.54 () > from libopentextglfaker.so.1 > #9 0x00007ffff78cf469 in handleXCBEvent () > from libopentextglfaker.so.1 > #10 0x00007ffff78e13a3 in xcb_poll_for_event () > from libopentextglfaker.so.1 > #11 0x00007ffff4ae6bb8 in poll_for_event (dpy=dpy@entry=0x6d0a00) at > ../../src/xcb_io.c:257 > #12 0x00007ffff4ae6cfc in poll_for_response (dpy=dpy@entry=0x6d0a00) at > ../../src/xcb_io.c:289 > #13 0x00007ffff4ae6fcd in _XEventsQueued (dpy=dpy@entry=0x6d0a00, > mode=mode@entry=2) at ../../src/xcb_io.c:363 > #14 0x00007ffff4ad912d in XPending (dpy=0x6d0a00) at ../../src/Pending.c:55 > #15 0x00007fffe86c8626 in ?? () from > /usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0 > #16 0x00007ffff438868d in g_main_context_prepare () from > /lib/x86_64-linux-gnu/libglib-2.0.so.0 > #17 0x00007ffff4388f03 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 > #18 0x00007ffff43890ec in g_main_context_iteration () from > /lib/x86_64-linux-gnu/libglib-2.0.so.0 > #19 0x00007ffff63e898c in > QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) > () > from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 > #20 0x00007ffff639a96b in > QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () > from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 > #21 0x00007ffff63a10e1 in QCoreApplication::exec() () from > /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 > #22 0x00000000004051a1 in main () > > > ------------------------------------------------------------------------------ > Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server > from Actuate! Instantly Supercharge Your Business Reports and Dashboards > with Interactivity, Sharing, Native Excel Exports, App Integration & more > Get technology previously reserved for billion-dollar corporations, FREE > http://pubads.g.doubleclick.net/gampad/clk?id=157005751&iu=/4140/ostg.clktrk > _______________________________________________ > VirtualGL-Devel mailing list > VirtualGL-Devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/virtualgl-devel ------------------------------------------------------------------------------ Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server from Actuate! Instantly Supercharge Your Business Reports and Dashboards with Interactivity, Sharing, Native Excel Exports, App Integration & more Get technology previously reserved for billion-dollar corporations, FREE http://pubads.g.doubleclick.net/gampad/clk?id=157005751&iu=/4140/ostg.clktrk _______________________________________________ VirtualGL-Devel mailing list VirtualGL-Devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/virtualgl-devel