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

Reply via email to