<div dir="ltr"><br><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
* I think we should have xcb expose 64-bit sequence numbers in its API.<br>
<br>
  This can be probably done in a backward compatible way by introducing new functions.<br>
  The old functions can then be wrappers around the new functions.<br>
  This needs to be looked at in more detail however.<br>
<br>
  That way, we'll need less workaround-style code in xcb-io.c<br>
  and the remaining patch will be simpler.<br>
  Therefore more likely to be correct, and easier to understand.<br></blockquote><div><br></div><div>If xcb's design allows you to expose 64-bit seq nb, then it could be a viable solution<br><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
* We still have the unimplemented case<br>
     throw_thread_fail_assert("Sequence number wrapped "<br>
  in xcb_io.c line 81.<br></blockquote><div><br>Wouldn't that part of become obsolete? <br><br> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
  This can probably also be resolved if we expose 64-bit sequence numbers in the XCB-API.<br></blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
I'll need to look into more details of all of this.<br>
<br>
So far, does anyone have any comments to my comments?<br>
<br>
Chris<br>
<br>
P.S:<br>
I also have a mission-critical software that must not crash under any circumstances.<br>
<br>
I still use old non-XCB libX11 from X11R6.9 with some modifications<br>
in the most mission-critical component of my application.<br>
So this component will not be affected.<br>
<br>
But some not-so-mission-critical components may be affected.<br>
And that's not nice either.<br>
<br>
So this has rather high priority for me.<br>
I'll probably make a new patch which fixes those issues, by making<br>
xcb expose 64-bit sequence numbers.<br>
This may take some time however because this is a very critical piece of code,<br>
so I have to think it through very carefully.<br>
<br>
Until this is fixed with an official version, I suggest that you either<br>
* statically link versions of libX11 and libxcb which work reliably with your application to your application,<br>
* or that you ship shared libs which you redirect to by setting LD_LIBRARY_PATH accordingly in the<br>
  startup-scripts of your application.<br></blockquote><div><br>The LD_LIBRARY_PATH trick would probably work in my case (the first option I'm not sure: the program is dynamically linked to a 3rd party library which links dynamically to libX11).<br></div><div> <br><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
<br>
P.P.S.:<br>
The 16-bit sequence-number issue which I have mentioned before is a different issue.<br>
I have to look into that in more depth, too.<span class=""><br></span></blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span class="">
<br>
On 11/04/14 14:24, Jan Smout wrote:<br>
> Hi Christian,<br>
><br>
> thank you for having a look. The original patch is from Jonas Petersen. You will find all necessary information in the links below:<br>
>    orginal:<a href="https://freedesktop.org/patch/16753/" target="_blank">https://freedesktop.org/patch/16753/</a><br>
>    latest:  <a href="https://freedesktop.org/patch/33513/" target="_blank">https://freedesktop.org/patch/33513/</a><br>
><br>
> I got involved just because I happen to have a critical application which is not allowed to crash, let alone after less than 24 hrs:<br>
> <a href="http://lists.x.org/archives/xorg-devel/2014-August/043661.html" target="_blank">http://lists.x.org/archives/xorg-devel/2014-August/043661.html</a><br>
><br>
><br>
> other references:<br>
> <a href="https://bugs.freedesktop.org/show_bug.cgi?id=71338" target="_blank">https://bugs.freedesktop.org/show_bug.cgi?id=71338</a><br>
> <a href="http://lists.x.org/archives/xorg-devel/2013-October/038370.html" target="_blank">http://lists.x.org/archives/xorg-devel/2013-October/038370.html</a><br>
> <a href="https://freedesktop.org/patch/15500/" target="_blank">https://freedesktop.org/patch/15500/</a><br>
><br>
> best regards,<br>
> Jan<br>
><br>
</span><span class="">> On 4 November 2014 13:55, Christian Linhart <<a href="mailto:chris@demorecorder.com">chris@demorecorder.com</a> <mailto:<a href="mailto:chris@demorecorder.com">chris@demorecorder.com</a>>> wrote:<br>
><br>
>     Hi Jan,<br>
><br>
>     Can you please repost your patch together with a description of the problem and your approach to fix it.<br>
><br>
>     I was not subscribed to that list back when you have posted it, and so may some others, who may be able to move this thing forward. You may also post a link to the specific mails/threads in the mailinglist-archives if that'll help with understanding your patch.<br>
><br>
>     I'll look at that then.<br>
><br>
>     I have some other issues with sequence numbers, and I think we need to solve that on a design level.<br>
>     The essential thing is that the protocol transports only 16-bit sequence numbers, but server and client work with at least 32-bit, sometimes 64-bit sequence numbers. What I've seen so far in the code looks like heuristics which may fail in some cases. Maybe I am missing something. In any case, I want to see your problem analysis and your proposed fix before I propose something.<br>
><br>
>     Chris<br>
><br>
><br>
>     On 11/04/14 13:14, Jan Smout wrote:<br>
>><br>
>>     I already forked it for myself a couple of months ago. As long as I control the packages which get installed on the machines I have no real issue... except for an uncomfortable feeling that if things like this don't get fixed, what other dragons might be hiding deep down in the xlib library?<br>
>>     Now, when somebody would want to run the application on their own install, that's where the shit hits the fan. I'll be forced to tell them to downgrade their xlib to 1.3.3 and file a complaint on this list :-)<br>
>><br>
>><br>
</span><span class="">>>     On 4 November 2014 10:49, Alexander E. Patrakov <<a href="mailto:patrakov@gmail.com">patrakov@gmail.com</a> <mailto:<a href="mailto:patrakov@gmail.com">patrakov@gmail.com</a>>> wrote:<br>
>><br>
>>         Just fork it. I am sure that such antisocial step is the only way forward, because I also have a patch that was not looked at for too long, and then rejected because it breaks keystone correction (which was broken in a different way before the patch).<br>
>><br>
>><br>
>>         04.11.2014 13:23, Jan Smout wrote:<br>
>>>         and again... reminder...<br>
>>><br>
</span><span class="">>>>         On 28 October 2014 12:51, Jan Smout <<a href="mailto:smout.jan@gmail.com">smout.jan@gmail.com</a> <mailto:<a href="mailto:smout.jan@gmail.com">smout.jan@gmail.com</a>>> wrote:<br>
>>><br>
>>>             reminder...<br>
>>><br>
</span><span class="">>>>             On 21 October 2014 12:49, Jan Smout <<a href="mailto:smout.jan@gmail.com">smout.jan@gmail.com</a> <mailto:<a href="mailto:smout.jan@gmail.com">smout.jan@gmail.com</a>>> wrote:<br>
>>><br>
>>><br>
>>>                 Keith, we are approaching the one year anniversary of this bug already. Maybe it is time to finish the patch and leave the issue behind?<br>
>>><br>
>>><br>
>>>                 fyi, I have been running my application with the first version of Jonas's patch for 65 days straight now without a glitch (it used to crash in less than 20 hours).<br>
>>><br>
>>>                 I also intend to restart this long duration test once the final patch will be released<br>
>>><br>
>>><br>
</span>>>>                 On 27 September 2014 05:23, Keith Packard <<a href="mailto:keithp@keithp.com">keithp@keithp.com</a> <mailto:<a href="mailto:keithp@keithp.com">keithp@keithp.com</a>>> wrote:<br>
>>><br>
>>>                     Matt Turner <<a href="mailto:mattst88@gmail.com">mattst88@gmail.com</a> <mailto:<a href="mailto:mattst88@gmail.com">mattst88@gmail.com</a>>> writes:<br>
<span class="">>>><br>
>>>                     > On Fri, Sep 26, 2014 at 3:40 AM, Jan Smout <<a href="mailto:smout.jan@gmail.com">smout.jan@gmail.com</a> <mailto:<a href="mailto:smout.jan@gmail.com">smout.jan@gmail.com</a>>> wrote:<br>
>>>                     >> Keith Packard doesn't seem very responsive (as in 'completely ignoring the<br>
>>>                     >> subject')<br>
>>>                     ><br>
>>>                     > Perhaps you should try Ccing him? (now Cc'd)<br>
>>><br>
>>>                     The problem is that reviewing this patch is *really hard*. The last<br>
>>>                     time, I think I spent a solid couple of days thinking about this and<br>
>>>                     making sure I'd caught all of the cases. I'm still not sure it's right,<br>
>>>                     but I guess it's probably better than what we have?<br>
>>><br>
>>>                     --<br>
</span>>>>                     <a href="mailto:keith.packard@intel.com">keith.packard@intel.com</a> <mailto:<a href="mailto:keith.packard@intel.com">keith.packard@intel.com</a>><br>
<span class="">>>><br>
>>><br>
>>></span></blockquote></div><br></div></div>