<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>