Bug 1128889 - Screen corrupt after unlocking in pixman-0.30.0-4
Summary: Screen corrupt after unlocking in pixman-0.30.0-4
Alias: None
Product: Fedora
Classification: Fedora
Component: pixman
Version: 20
Hardware: x86_64
OS: Unspecified
Target Milestone: ---
Assignee: Adam Jackson
QA Contact: Fedora Extras Quality Assurance
Depends On:
TreeView+ depends on / blocked
Reported: 2014-08-11 18:28 UTC by sdh4
Modified: 2014-08-29 12:23 UTC (History)
1 user (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Last Closed: 2014-08-29 12:23:55 UTC
Type: Bug

Attachments (Terms of Use)

Description sdh4 2014-08-11 18:28:01 UTC
Description of problem:
Using XFCE4 on Fedora 20 Total screen corruption occurs when unlocking the screen after the computer has been idle. The symptoms appear to be a regression in pixman-0.30.0-4 compared to pixman-0.30.0-3

The mouse pointer still seems to work (moves within the limited box permitted by xscreensaver) but the display is otherwise corrupt. 

Version-Release number of selected component (if applicable):

This problem popped up with the latest set up updates (8/10/14)

Downgrading to pixman-0.30.0-3 seems to work around the problem. Thus the origin is presumably in the patch that fixed bug #1043743

How reproducible:
Most of the time

Steps to Reproduce:
1. Upgrade to pixman-0.30.0-4
2. Use xfce preferences to set all xscreensaver timeouts to 1 minute (so you don't have to wait long)
3. Let screen lock. Perhaps wait a few minutes after the screen goes blank
4. Try to unlock screen. Display will be corrupted. Perhaps totally black or with some garbage towards the top of the screen.

Actual results:
Screen is corrupted. 

Expected results:
Regular unlocking behavior

Additional info:

Comment 1 sdh4 2014-08-11 22:08:40 UTC
Given how trivial and simple the -3 to -4 patch is I have a hard time believing that it is causing the problem. Is it possible a compiler bug or difference is triggering the problem? 

Here is the patch that __seems__ to be causing the problem, for

diff --git a/pixman/pixman.h b/pixman/pixman.h
index 7ff9fb5..509ba5e 100644
--- a/pixman/pixman.h
+++ b/pixman/pixman.h
@@ -1030,7 +1030,7 @@ struct pixman_triangle
 #define pixman_trapezoid_valid(t)				   \
     ((t)->left.p1.y != (t)->left.p2.y &&			   \
      (t)->right.p1.y != (t)->right.p2.y &&			   \
-     (int) ((t)->bottom - (t)->top) > 0)
+     ((t)->bottom > (t)->top))
 struct pixman_span_fix

I've been using the -3 downgrade all day with no problems. Last night I was hitting the problem constantly with the -4 version. 

I will continue to observe and report back. 

Hopefully Fedora 20 won't live up to its name...

Comment 2 sdh4 2014-08-29 12:23:55 UTC
OK. After one week of testing with the -3 downgrade I did not see the problem at all. With one week of testing with the latest -5 version I have seen it once. So it seems possible (likely?) that is actually a problem in something else. 

For anyone else who runs into it, pressing Ctrl-Alt-F<whatever> to switch to another virtual console and back causes it to rerender correctly. 


Note You need to log in before you can comment on or make changes to this bug.