[Xcb] [Bug 71338] New: Application crashes after many hours of drawing

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Thu Nov 7 01:17:13 PST 2013


https://bugs.freedesktop.org/show_bug.cgi?id=71338

          Priority: medium
            Bug ID: 71338
          Assignee: xcb at lists.freedesktop.org
           Summary: Application crashes after many hours of drawing
        QA Contact: xcb at lists.freedesktop.org
          Severity: normal
    Classification: Unclassified
                OS: Linux (All)
          Reporter: alexander.elbs at comsoft.aero
          Hardware: x86 (IA32)
            Status: NEW
           Version: unspecified
         Component: Library
           Product: XCB

We have an application that does a lot of XDrawString and XDrawLine. After
several hours the application is exited by an XIOError.

The XIOError is called in libX11 in the file xcb_io.c, function _XReply.
It didn't get a response from xcb_wait_for_reply.

libxcb 1.5 is fine, libxcb 1.8.1 is not.
Bisecting libxcb points to this commit:

  commit ed37b087519ecb9e74412e4df8f8a217ab6d12a9
  Author: Jamey Sharp <jamey at minilop.net>
  Date:   Sat Oct 9 17:13:45 2010 -0700

    xcb_in: Use 64-bit sequence numbers internally everywhere.

    Widen sequence numbers on entry to those public APIs that still take
    32-bit sequence numbers.

    Signed-off-by: Jamey Sharp <jamey at minilop.net>

Reverting it on top of 1.8.1 helps.

Adding traces to libxcb I found that the last request numbers used for
xcb_wait_for_reply are these: 4294900463 and 4294965487 (two calls in the while
loop of the _XReply function), half a second later: 63215 (then XIOError is
called).
The widen_request is also 63215, I would have expected 63215+2^32.
Therefore it seems that the request is not correctly widened.

The commit above also changed the compares in poll_for_reply from
XCB_SEQUENCE_COMPARE_32 to XCB_SEQUENCE_COMPARE.
Maybe the widening never worked correctly, but it was never observed, because
only the lower 32bits were compared.

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/xcb/attachments/20131107/7d4e9d87/attachment.html>


More information about the Xcb mailing list