Xubuntu 12.10 + Xorg server 1.13 = Window decoration missing

Bug #1043575 reported by Paulo Narciso
26
This bug affects 4 people
Affects Status Importance Assigned to Milestone
X.Org X server
Fix Released
Medium
Xfwm4
Unknown
Unknown
xorg-server (Debian)
Fix Released
Unknown
xorg-server (Ubuntu)
Incomplete
Low
Unassigned

Bug Description

I'm running Xubuntu 12.10 with the latest updates and certain themes that use 1pix window border, like Greybird won't show title bar and window borders.

This problem exists at least with Nvidia drivers, Vmware and Virtual Box. And it doesn't exist in a fresh Ubuntu 12.04 with xorg server 1.11 using the same drivers.

Other people found the same issues, so I think it's a general thing. https://bbs.archlinux.org/viewtopic.php?pid=1152840

Tags: xubuntu
Revision history for this message
In , Bugzilla-5-kyoo (bugzilla-5-kyoo) wrote :

Created attachment 66246
screenshot of the issue

With xorg-server 1.12.3.901 and xorg-server-common 1.12.3.901, there is no issue. However, if I update both packages to 1.12.4, xfwm4 fails to show parts of themes 1 pixel wide. In the attached screenshot, the image for part of the border that should show the window title is 1 pixel wide. A 2 pixel wide image does not do this. XFCE bug report: https://bugzilla.xfce.org/show_bug.cgi?id=9246 concludes it's an xorg problem.

Distribution: Arch Linux (rolling release)
Architecture: x86

Revision history for this message
In , Evangelos Foutras (foutrelis) wrote :

I did a 'git bisect' between 1.12.3.901 and 1.12.4 and the following commit seems to have caused this behavior:

---------
http://cgit.freedesktop.org/xorg/xserver/commit/?h=server-1.12-branch&id=3e62f48e

"fb: reorder Bresenham error correction to avoid overshoot."
---------

For what is worth, the issue is present with Catalyst 12.6 Legacy on my desktop machine, but not on my netbook which uses the xf86-video-intel 2.20.5 driver.

Also happens with the NVIDIA driver but not with Nouveau. [1]

[1] https://bbs.archlinux.org/viewtopic.php?pid=1152857#p1152857

Revision history for this message
Paulo Narciso (p-narciso) wrote :
bugbot (bugbot)
tags: added: xubuntu
Changed in xorg-server:
importance: Unknown → Medium
status: Unknown → Confirmed
Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in xorg-server (Ubuntu):
status: New → Confirmed
Revision history for this message
Porx Grinder (marx-grinder) wrote :

My window borders dissapeared... Deleted everything in the home/cache folder... Everything went back to normal...

Changed in xorg-server (Debian):
status: Unknown → Fix Released
Revision history for this message
Andrew Chadwick (achadwick) wrote :

I can confirm this happens with Virtualbox guest drivers on (guest) Xubuntu 12.10, running on a host with Virtualbox 4.1.2, Xubuntu 11.10 with Nvidia graphics hardware (on which the Xfce glitch mentioned does not present... :-))

Deleting everything in $HOME/.cache *does not* fix this specific problem.

Debian testing (Wheezy)'s version, 2:1.12.4-1, is unaffected by this on Intel graphics hardware *and* on a VirtualBox instance with identical guest graphics and host machine to the affected Xubuntu release. In the latter case, the fact that it works is almost certainly wholly due to Debian's revert of the upstream change introducing this regression as a fix for debbugs #688908.

In short:

 Unaffected: Xubuntu 11.10 + xorg 2:1.10.4-1ubuntu4.3 + xfwm4 4.8.2-0ubuntu1 + nvidia-current 280.13-0ubuntu6.2
 Affected: Xubuntu 12.10 + xorg 2:1.13.0-0ubuntu6 + xfwm4 4.10.0-2ubuntu1 + virtualbox-guest-x11 4.1.18-dfsg-1ubuntu1
 Unaffected: Debian wheezy (testing current) + xorg 2:1.12.4-1 + xfwm4 4.8.3-2 + xserver-xorg-video-intel (2:2.19.0-6)
 Unaffected: Debian wheezy (testing current) + xorg 2:1.12.4-1 + xfwm4 4.8.3-2 + virtualbox-guest-x11 4.1.18-dfsg-1.1

Hopefully the Debian solution will be forwardported into Xubuntu at some point, or upstream will address it and we'll get the fix that way.

Revision history for this message
In , Thomas-lange2 (thomas-lange2) wrote :

This bug is also occurring in version 1.13.0.

Revision history for this message
In , 1-joker-k (1-joker-k) wrote :

I'm now using 1.13.0 having the same issue.

Reverting the patch from comment #1 fixes the issue for me.

Revision history for this message
Ivan Frederiks (idfred) wrote :

Same issue with ubuntu 12.04 + xserver lts quantal

Revision history for this message
Ivan Frederiks (idfred) wrote :

Sorry, I meant Xubuntu.

Revision history for this message
In , Cleanrock (cleanrock) wrote :

Issue still in 1.13.2.901.

Revision history for this message
In , Tfa7 (tfa7) wrote :

Still in 1.14.0, spoils similar icewm themes as well.

Revision history for this message
In , Jayson Rowe (jayson.rowe) wrote :

Still in 1.14.1 - any word on resolution?

Revision history for this message
penalvch (penalvch) wrote :

Paulo Narcisco, this bug was reported a while ago and there hasn't been any activity in it recently. We were wondering if this is still an issue? If so, could you please test for this with the latest development release of Ubuntu? ISO images are available from http://cdimage.ubuntu.com/daily-live/current/ .

If it remains an issue, could you please run the following command in the development release from a Terminal (Applications->Accessories->Terminal), as it will automatically gather and attach updated debug information to this report:

apport-collect -p xorg-server REPLACE-WITH-BUG-NUMBER

Please note, given that the information from the prior release is already available, doing this on a release prior to the development one would not be helpful.

Thank you for your understanding.

Helpful bug reporting tips:
https://wiki.ubuntu.com/ReportingBugs

Changed in xorg-server (Ubuntu):
importance: Undecided → Low
status: Confirmed → Incomplete
Revision history for this message
In , Nolan+freedesktop (nolan+freedesktop) wrote :

I'm still on 1.12.4 but I'm experiencing this problem as well. Has this been fixed in any newer version? If so, which? I'd like XFWM's Default theme to work on my latest Gentoo build.

Revision history for this message
In , Bugzilla-5-kyoo (bugzilla-5-kyoo) wrote :

This is still present in 1.15.0.

Revision history for this message
In , Crazycasta (crazycasta) wrote :

As has been identified this is a problem with http://cgit.freedesktop.org/xorg/xserver/commit/?id=863d528a9f76d0e8f122aebf19f8564a4c67a938 . Specifically the reordering created seriously messes up the algorithm in certain cases (causing offsets of the starting point for instance). I examined what could possibly cause this error in the first place and the only way I can see this drawing to an off-screen location is if, on the last pass through the X_AXIS while look the !mask if is triggered, pushing the dst out of the range (presumably the last point drawn was the lower right corner, or some other pixel that one to the right of would be a segfault pixel). Then the e>=0 if is triggered which causes another write to this invalid location. However, bits will be 0 at this point because it was just set to 0, therefore the write can be masked by an if (bits) which will always fail in this off-screen condition and therefore save us from a write to an invalid location. There is no similar condition that can cause a write to an invalid location when the axis is Y_AXIS because the only write is at the very top of the loop. Therefore, the sum total of the following patch is to revert 863d528a9f76d0e8f122aebf19f8564a4c67a938 and add the if around the second write in the X_AXIS while statement.

Revision history for this message
In , Crazycasta (crazycasta) wrote :

Created attachment 101029
Patch to maintain no segfault in fbBresSolid while fixing the algorithmic problems created in 863d528a9f76d0e8f122aebf19f8564a4c67a938

Revision history for this message
In , Daniel-boca (daniel-boca) wrote :

The problem is still there in RHEL 6.6 beta, xorg-x11-server-Xorg-1.15.0-16.el6.x86_64.

In the end, is this more a Nvidia driver problem ? I can confirm that I see this issue only using Nvidia driver, not Nouveau nor Intel.

I've managed to fix it using the patch provided.

Revision history for this message
In , Crazycasta (crazycasta) wrote :

No, this is **NOT** an nVidia (or any driver) problem (emphasis because the common misconception seems to be that it is an nVidia/ATI/AMD proprietary driver issue, even I shared this misconception before looking at the code). It is a problem with the implementation of the Bresenham (bres for short) line drawing algorithm. I am not sure how the other drivers get around this problem. My assumption (and if I recall correct I may have even tested this) is that they do not call the code in question at all. I'm guessing that they implement the line draw on the graphics chip or something and therefore override this problematic code.

Revision history for this message
In , Thomas-lange2 (thomas-lange2) wrote :

This issue is still not fixed with version 1.16.1.
Could someone please review and commit Alex' patch? Thank you.

Revision history for this message
In , Alan Coopersmith (alan-coopersmith) wrote :

Patches to the xserver are only pushed by the xserver maintainer, Keith Packard.
He reviews & pushes patches mailed to the xorg-devel mailing list, not those in
bugzilla.

http://wiki.x.org/wiki/Development/Documentation/SubmittingPatches/

Revision history for this message
In , Crazycasta (crazycasta) wrote :

The patch has been accepted as 1b94fd77792310c80b0a2bcf4bf6d4e4c4c23bca. I believe this fixes the problem (it does for me), but will of course defer to the poster if they're still around. Please test to confirm it fixes your specific problem if you can.

Revision history for this message
In , Thomas-lange2 (thomas-lange2) wrote :

Will this be backported to older branches?
1.16 for example?

Revision history for this message
In , Crazycasta (crazycasta) wrote :

Not sure what's to be done for that. The patch should work as is against 1.16. I've already asked on the list, but maybe someone here knows, am I just supposed to make another patch like the other one and make this one against the server-1.16-branch instead of against the master?

Revision history for this message
In , Bugzilla-5-kyoo (bugzilla-5-kyoo) wrote :

I'm still getting emails. I switched from xfwm4 about a year ago. After re-installing it, I'm not able to reproduce the problem, with or without the patch. If it looks fixed to those working on it, that sounds good to me.

Revision history for this message
In , Bugzilla-5-kyoo (bugzilla-5-kyoo) wrote :

Excuse me, I believe I used a patched version of xorg-server to try to reproduce the problem -.- Nonetheless, what I said before holds true since I no longer use xfwm4.

Revision history for this message
In , Jakubmadej-pl (jakubmadej-pl) wrote :

Today I noticed I don't have side borders thus I can't resize window dragging it's border as I usually could. Is it the same issue?

xorg-server 1.16.2-1
nvidia-304xx 304.123-9
xfwm4 4.10.1-1

Revision history for this message
In , Jakubmadej-pl (jakubmadej-pl) wrote :

I forgot to add screenshot (link found on arch forum): http://imgur.com/a/eXgb5

Revision history for this message
In , Cvillelk (cvillelk) wrote :

Yes, same issue.

Until a solution is found dragging from the corner or changing to a theme with 2px+ side borders is the only alternative.

Revision history for this message
In , Jakubmadej-pl (jakubmadej-pl) wrote :

True, I tried some other window decorations and got the same result as on screenshot attached to this bug.

Revision history for this message
In , Cvillelk (cvillelk) wrote :

It looks like (per Alex Oranges previous comment) the fix for this issue is already submitted and commited to the master branch of xserver

See "2014-10-27 fb: Fix Bresenham algorithms for commonly used small segments."

http://cgit.freedesktop.org/xorg/xserver/log/

It was not applied to the 1.16 branch (nor am I sure how to request it be offically applied).

I'll try and research more into that workflow when I can. Until then you can either manually patch and build the package or wait until the patch is applied by maintainers.

Revision history for this message
In , Michel Dänzer (michel-daenzer) wrote :

(In reply to cvillelk from comment #24)
> It looks like (per Alex Oranges previous comment) the fix for this issue is
> already submitted and commited to the master branch of xserver
>
> See "2014-10-27 fb: Fix Bresenham algorithms for commonly used small
> segments."

Resolving this report accordingly.

> It was not applied to the 1.16 branch (nor am I sure how to request it be
> offically applied).

Adding Julien Cristau (1.16 branch maintainer) to CC. If this isn't enough, please nominate the fix to him via e-mail and Cc: the xorg-devel mailing list.

Changed in xorg-server:
status: Confirmed → Fix Released
Revision history for this message
In , Julien Cristau (jcristau) wrote :

(In reply to Michel Dänzer from comment #25)
> (In reply to cvillelk from comment #24)
> > It was not applied to the 1.16 branch (nor am I sure how to request it be
> > offically applied).
>
> Adding Julien Cristau (1.16 branch maintainer) to CC. If this isn't enough,
> please nominate the fix to him via e-mail and Cc: the xorg-devel mailing
> list.

To git.freedesktop.org:/git/xorg/xserver
   4393c7f..a471a15 server-1.16-branch -> server-1.16-branch

Revision history for this message
In , Jakubmadej-pl (jakubmadej-pl) wrote :

I just updated to xorg-server (xorg-server-common, xorg-server-xwayland) to 1.16.2.901-1 on my arch installation and issue is gone.

Revision history for this message
In , Sndirsch-suse (sndirsch-suse) wrote :

*** Bug 75720 has been marked as a duplicate of this bug. ***

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Bug attachments

Remote bug watches

Bug watches keep track of this bug in other bug trackers.