<html>
    <head>
      <base href="https://bugs.freedesktop.org/" />
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_REOPENED "
   title="REOPENED - Atom D525 pineview segfault in gen3_emit_composite_primitive_constant_identity_mask_no_offset"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=91083#c6">Comment # 6</a>
              on <a class="bz_bug_link 
          bz_status_REOPENED "
   title="REOPENED - Atom D525 pineview segfault in gen3_emit_composite_primitive_constant_identity_mask_no_offset"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=91083">bug 91083</a>
              from <span class="vcard"><a class="email" href="mailto:prlw1@cam.ac.uk" title="Patrick Welche <prlw1@cam.ac.uk>"> <span class="fn">Patrick Welche</span></a>
</span></b>
        <pre>I reverted the NetBSD fix, and ran for ages before finally getting a problem.
Thing is, I'm not sure if it is the problem. The symptom is the same, in the
sense that X restarts in the middle of a session, and I'm left at a xdm login
screen. This time, however, no /Xorg.core, so I can't check the backtrace.

Thereafter, I applied essentially your patch:

@@ -1976,6 +1976,11 @@ sna_glyphs(CARD8 op,
                goto fallback;
        }

+       if (sigtrap_get()) {
+               DBG(("<a class="bz_bug_link 
          bz_status_REOPENED "
   title="REOPENED - Atom D525 pineview segfault in gen3_emit_composite_primitive_constant_identity_mask_no_offset"
   href="show_bug.cgi?id=91083">Bug 91083</a>: caught trap\n"));
+               goto fallback;
+       }
+
        priv = sna_pixmap(pixmap);
        if (priv == NULL) {
                DBG(("%s: fallback -- destination unattached\n",
__FUNCTION__));
@@ -1998,14 +2003,18 @@ sna_glyphs(CARD8 op,
                        if (glyphs0_to_dst(sna, op,
                                           src, dst,
                                           src_x, src_y,
-                                          nlist, list, glyphs))
-                               return;
+                                          nlist, list, glyphs)) {
+                               DBG(("<a class="bz_bug_link 
          bz_status_REOPENED "
   title="REOPENED - Atom D525 pineview segfault in gen3_emit_composite_primitive_constant_identity_mask_no_offset"
   href="show_bug.cgi?id=91083">Bug 91083</a>: glyphs0_to_dst goto out\n"));
+                               goto out;
+                       }
                } else {
                        if (glyphs_to_dst(sna, op,
                                          src, dst,
                                          src_x, src_y,
-                                         nlist, list, glyphs))
-                               return;
+                                         nlist, list, glyphs)) {
+                               DBG(("<a class="bz_bug_link 
          bz_status_REOPENED "
   title="REOPENED - Atom D525 pineview segfault in gen3_emit_composite_primitive_constant_identity_mask_no_offset"
   href="show_bug.cgi?id=91083">Bug 91083</a>: glyphs_to_dst goto out\n"));
+                               goto out;
+                       }
                }
        }

@@ -2018,16 +2027,24 @@ sna_glyphs(CARD8 op,
                if (glyphs_via_mask(sna, op,
                                    src, dst, mask,
                                    src_x, src_y,
-                                   nlist, list, glyphs))
-                       return;
+                                   nlist, list, glyphs)) {
+                       DBG(("<a class="bz_bug_link 
          bz_status_REOPENED "
   title="REOPENED - Atom D525 pineview segfault in gen3_emit_composite_primitive_constant_identity_mask_no_offset"
   href="show_bug.cgi?id=91083">Bug 91083</a>: glyphs_via_mask goto out\n"));
+                       goto out;
+               }
        } else {
                if (glyphs_slow(sna, op,
                                src, dst,
                                src_x, src_y,
-                               nlist, list, glyphs))
-                       return;
+                               nlist, list, glyphs)) {
+                       DBG(("<a class="bz_bug_link 
          bz_status_REOPENED "
   title="REOPENED - Atom D525 pineview segfault in gen3_emit_composite_primitive_constant_identity_mask_no_offset"
   href="show_bug.cgi?id=91083">Bug 91083</a>: glyphs_slow goto out\n"));
+                       goto out;
+               }
        }

+out:
+       sigtrap_put();
+       return;
+
 fallback:
        glyphs_fallback(op, src, dst, mask, src_x, src_y, nlist, list, glyphs);
 }



After a short run, again X got restarted. No sign of DBG print outs, but I
didn't start X with any particular logverbosity, so maybe shouldn't expect any.

Thoughts?</pre>
        </div>
      </p>
      <hr>
      <span>You are receiving this mail because:</span>
      
      <ul>
          <li>You are the QA Contact for the bug.</li>
      </ul>
    </body>
</html>