<html>
  <head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <div class="moz-cite-prefix">On 08/08/2016 03:01 AM, Michael Titke
      wrote:<br>
    </div>
    <blockquote cite="mid:57A85885.2040900@o2online.de" type="cite">
      <div class="moz-cite-prefix">On 05/08/2016 20:17, Matt Lauria
        wrote:<br>
      </div>
      <blockquote
        cite="mid:00e401d1ef45$9f202180$dd606480$@interactivebrokers.com"
        type="cite">
        <meta name="Generator" content="Microsoft Word 15 (filtered
          medium)">
        <style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
pre
        {mso-style-priority:99;
        mso-style-link:"HTML Preformatted Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";
        color:black;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
span.HTMLPreformattedChar
        {mso-style-name:"HTML Preformatted Char";
        mso-style-priority:99;
        mso-style-link:"HTML Preformatted";
        font-family:"Courier New";
        color:black;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri","sans-serif";}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
        <div class="WordSection1">
          <p class="MsoNormal"><span style="font-family:"Courier
              New"">Can someone direct me where to get help
              tracking down a bug in X?<o:p></o:p></span></p>
          <p class="MsoNormal"><span style="font-family:"Courier
              New""><o:p> </o:p></span></p>
          <p class="MsoNormal"><span style="font-family:"Courier
              New"">I’ve built a GUI (python3.4 using tkinter
              running gnome on RHEL 6.8) which crashes daily with a:<o:p></o:p></span></p>
          <p class="MsoNormal"><span style="font-family:"Courier
              New""><o:p> </o:p></span></p>
          <pre>X Error of failed request:  BadIDChoice (invalid resource ID chosen for this connection)<o:p></o:p></pre>
          <pre>  Major opcode of failed request:  139 (RENDER)<o:p></o:p></pre>
          <pre>  Minor opcode of failed request:  4 (RenderCreatePicture)<o:p></o:p></pre>
          <pre>  Resource id in failed request:  0x4181254<o:p></o:p></pre>
          <pre>  Serial number of failed request:  33776134<o:p></o:p></pre>
          <pre>  Current serial number in output stream:  33776143<o:p></o:p></pre>
          <p class="MsoNormal"><span style="font-family:"Courier
              New""><o:p> </o:p></span></p>
          <p class="MsoNormal"><span style="font-family:"Courier
              New"">I’ve installed symbols/debuginfo and using gdb
              tried inspecting some of the objects.<o:p></o:p></span></p>
          <p class="MsoNormal"><span style="font-family:"Courier
              New""><o:p> </o:p></span></p>
          <p class="MsoNormal"><span style="font-family:"Courier
              New"">This seems similar to the bug at <a
                moz-do-not-send="true"
                href="https://bugzilla.mozilla.org/show_bug.cgi?id=458092">https://bugzilla.mozilla.org/show_bug.cgi?id=458092</a>
              but when I looked at xid.last/xid.max I didn’t see the
              same issue.<o:p></o:p></span></p>
          <p class="MsoNormal"><span style="font-family:"Courier
              New""><o:p> </o:p></span></p>
          <br>
        </div>
      </blockquote>
      <blockquote type="cite">Likely not -- the minor number corresponds
        to RenderCreatePicture, not FreePicture.  Might have to dig into
        the X code to see what generates BadID; owen was suggesting that
        it might be due due to IDs getting out of sync somehow:<br>
        <br>
        13:03 < otaylor> vlad_: Trying to create two resources
        with the ID of the <br>
                         second less than the ID of the first would
        cause that<br>
        <br>
        <br>
        But I have no idea how we'd get into that situation, unless the
        IDs wrapped around?</blockquote>
      Address the X powers to be: I hope the above inlined comment is
      just a bad guess and not the reality: it's very xlib centric to
      check for bigger than on the RID bits and an actual binary tree of
      resource IDs might jump around as hell (because it might produce
      bit reversed RIDs initially) without any possibility to reuse an
      already used ID.<br>
      The core protocol standards are more terse on how to interpret RID
      bits and I hope one can still rely on that. Even XC-MISC would
      provide a free list which ...<br>
      BadIDChoice for no good reason is no good choice then ...<br>
    </blockquote>
    The code for that is here:<br>
    <a class="moz-txt-link-freetext" href="https://cgit.freedesktop.org/xorg/xserver/tree/dix/resource.c#n1180">https://cgit.freedesktop.org/xorg/xserver/tree/dix/resource.c#n1180</a><br>
    <br>
    <meta http-equiv="content-type" content="text/html; charset=utf-8">
    <script type="text/javascript">
<!--

-->
</script><font face="monospace">
      Bool<br>
      LegalNewID(XID id, ClientPtr client)<br>
      {<br>
          <font color="#2e8b57"><b>void</b></font> *val;<br>
          <font color="#2e8b57"><b>int</b></font> rc;<br>
      <br>
      <font color="#a020f0">#ifdef PANORAMIX</font><br>
          XID minid, maxid;<br>
      <br>
          <font color="#a52a2a"><b>if</b></font> (!noPanoramiXExtension)
      {<br>
              minid = client->clientAsMask | (client->index ?<br>
                                              SERVER_BIT :
      SERVER_MINID);<br>
              maxid = (clientTable[client->index].fakeID |
      RESOURCE_ID_MASK) + <font color="#ff00ff">1</font>;<br>
              <font color="#a52a2a"><b>if</b></font> ((id >= minid)
      && (id <= maxid))<br>
                  <font color="#a52a2a"><b>return</b></font> <font
        color="#ff00ff">TRUE</font>;<br>
          }<br>
      <font color="#a020f0">#endif</font>                          <font
        color="#0000ff">/*</font><font color="#0000ff"> PANORAMIX </font><font
        color="#0000ff">*/</font><br>
          <font color="#a52a2a"><b>if</b></font> (client->clientAsMask
      == (id & ~RESOURCE_ID_MASK)) {<br>
              rc = dixLookupResourceByClass(&val, id, RC_ANY,
      serverClient,<br>
                                            DixGetAttrAccess);<br>
              <font color="#a52a2a"><b>return</b></font> rc == BadValue;<br>
          }<br>
          <font color="#a52a2a"><b>return</b></font> <font
        color="#ff00ff">FALSE</font>;<br>
      }<br>
    </font>
    <br>
    So the possibilities for BadIDChoice from the server here (aside
    from some Xinerama weirdness) are 1) XID from the wrong client's
    range, or 2) XID already in use. This definitely smells like a
    client-side issue.
    <title>~/hdd/git/x/xserver/dix/resource.c.html</title>
    <meta name="Generator" content="Vim/7.4">
    <meta name="plugin-version" content="vim7.4_v2">
    <meta name="syntax" content="c">
    <meta name="settings"
      content="no_pre,no_foldcolumn,expand_tabs,prevent_copy=">
    <meta name="colorscheme" content="default">
    <!-- vim: set foldmethod=manual : --><br>
    <br>
    <blockquote cite="mid:57A85885.2040900@o2online.de" type="cite">
      Regards,<br>
      Michael<br>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
    </blockquote>
    <br>
  </body>
</html>