Hi, > In this dump, it's the first call to stroke that fails. I'd guess that > most of the cairo calls before this are local and don't interface with > the X server. So, what would be interesting to see is a) increasing the > draw rate so that the clock locks-up more quickly, and then seeing if > the failure always occurs at the same point in draw.cc. > > Do you think you could run this test? > > I think you may only have to remove the test in clock.cxx where it says: > > // Return immediately if there is > // nothing new to render. > if (seconds == m_seconds) > return false; > > We'd let it draw every time it is activated, or if you are interested in > more control you could calculate a more precise time delta. The alarm > is configured for 100ms which would be the upper bound on redraw if you > removed the test above.
I've done this, and indeed it only took a couple of days for buici-clock to hang. Here's the backtrace: #0 pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162 #1 0x00007fe6e76b831e in ?? () from /usr/lib/x86_64-linux-gnu/libxcb.so.1 #2 0x00007fe6e76b9697 in ?? () from /usr/lib/x86_64-linux-gnu/libxcb.so.1 #3 0x00007fe6e76b98bb in xcb_wait_for_reply () from /usr/lib/x86_64-linux-gnu/libxcb.so.1 #4 0x00007fe6e76ba393 in xcb_get_extension_data () from /usr/lib/x86_64-linux-gnu/libxcb.so.1 #5 0x00007fe6e76ba567 in xcb_generate_id () from /usr/lib/x86_64-linux-gnu/libxcb.so.1 #6 0x00007fe6e8945f9f in _XAllocIDs () from /usr/lib/x86_64-linux-gnu/libX11.so.6 #7 0x00007fe6e8948b87 in ?? () from /usr/lib/x86_64-linux-gnu/libX11.so.6 #8 0x00007fe6e62f8dc9 in XRenderCreatePicture () from /usr/lib/x86_64-linux-gnu/libXrender.so.1 #9 0x00007fe6e84863a7 in ?? () from /usr/lib/x86_64-linux-gnu/libcairo.so.2 #10 0x00007fe6e848148d in ?? () from /usr/lib/x86_64-linux-gnu/libcairo.so.2 #11 0x00007fe6e846b4d3 in ?? () from /usr/lib/x86_64-linux-gnu/libcairo.so.2 #12 0x00007fe6e846c6d9 in ?? () from /usr/lib/x86_64-linux-gnu/libcairo.so.2 #13 0x00007fe6e841b1fe in ?? () from /usr/lib/x86_64-linux-gnu/libcairo.so.2 #14 0x00007fe6e8484b83 in ?? () from /usr/lib/x86_64-linux-gnu/libcairo.so.2 #15 0x00007fe6e845a2fe in ?? () from /usr/lib/x86_64-linux-gnu/libcairo.so.2 #16 0x00007fe6e8422925 in ?? () from /usr/lib/x86_64-linux-gnu/libcairo.so.2 ---Type <return> to continue, or q <return> to quit--- #17 0x00007fe6e841ccc4 in ?? () from /usr/lib/x86_64-linux-gnu/libcairo.so.2 #18 0x00007fe6e8416145 in cairo_stroke () from /usr/lib/x86_64-linux-gnu/libcairo.so.2 #19 0x0000000000407bae in draw_hands (display=0x15968b0, visual=0x15a14f0, pixmap=8388619, dx=99, dy=99, seconds=2072) at draw.cc:172 #20 0x0000000000404eb0 in WTopLevel::render (this=0x15af240) at clock.cxx:541 #21 0x000000000040638b in signal_alarm (pv=0x15af240) at clock.cxx:965 #22 0x00000000004070f7 in LSignal::handler (signal=14) at signal.cxx:215 #23 <signal handler called> #24 0x00007fe6e799cdf8 in *__GI___poll (fds=0x7fff8cf15fd0, nfds=1, timeout=<optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:83 #25 0x00007fe6e76b81c2 in ?? () from /usr/lib/x86_64-linux-gnu/libxcb.so.1 #26 0x00007fe6e76b993f in xcb_wait_for_event () from /usr/lib/x86_64-linux-gnu/libxcb.so.1 #27 0x00007fe6e8945d88 in _XReadEvents () from /usr/lib/x86_64-linux-gnu/libX11.so.6 #28 0x00007fe6e89350a8 in XNextEvent () from /usr/lib/x86_64-linux-gnu/libX11.so.6 #29 0x00000000004090f4 in LDisplay::next_event (this=0x7fff8cf161b0, pEvent=0x7fff8cf160c0) at ldisplay.h:153 #30 0x0000000000408587 in LDisplay::dispatch_next_event (this=0x7fff8cf161b0) at ldisplay.cxx:62 #31 0x00000000004062ac in do_clock () at clock.cxx:946 ---Type <return> to continue, or q <return> to quit--- #32 0x00000000004036b5 in main (argc=3, argv=0x7fff8cf163f8) at main.cxx:140 HTH, Matthew -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org