www.cendio.com
Bug 4539 - Program "xfig" gives strange graphic artifacts in a ThinLinc session
: Program "xfig" gives strange graphic artifacts in a ThinLinc session
Status: CLOSED FIXED
: ThinLinc
VNC
: trunk
: PC Unknown
: P2 Normal
: 4.1.0
Assigned To:
:
:
:
: 4711
  Show dependency treegraph
 
Reported: 2013-02-11 14:22 by
Modified: 2013-06-24 13:24 (History)


Attachments
xfig.png (21.00 KB, image/png)
2013-02-28 11:32, Peter Åstrand
Details
lollipop-u.fig (233 bytes, application/octet-stream)
2013-04-22 09:37, Peter Åstrand
Details


Note

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


Description From cendio 2013-02-11 14:22:39
See issue 14048.

This only seems to happen with xfig, but it happens even with the nightly build
of ThinLinc on Ubuntu 12.04.
------- Comment #1 From cendio 2013-02-28 11:32:15 -------
Created an attachment (id=466) [details]
xfig.png
------- Comment #2 From cendio 2013-02-28 12:38:52 -------
With ThinLinc, the problem happens with both xfig-plain and xfig-Xaw3d. With
the CentOS bundled TigerVNC server, it works ok in both cases.
------- Comment #3 From cendio 2013-02-28 16:20:46 -------
I've determined that this problem is limited to 64-bit versions of Xvnc. Seems
to be a problem in the X server handling of "PolyArc". Haven't found anything
obvious, though. Perhaps it is easier to solve bug 3616 instead.
------- Comment #4 From cendio 2013-03-04 09:43:36 -------
Note: This is a Xserver problem; not a VNC one. The artefacts are visible even
with a "xwd" dump.
------- Comment #5 From cendio 2013-04-16 16:29:47 -------
Problem remains in Xorg 1.14.
------- Comment #6 From cendio 2013-04-22 09:37:07 -------
Created an attachment (id=473) [details]
lollipop-u.fig
------- Comment #7 From cendio 2013-04-22 11:29:30 -------
Also works in Fedora 18's Xvnc.

Oddly enough, it is still broken even if I use Fedora's Xorg source, _and_
Fedora's build environment.

No idea why their version works at this point.
------- Comment #8 From cendio 2013-04-22 12:10:44 -------
There's some difference in which extensions we and RHEL uses:

-Initializing built-in extension VNC
+Initializing built-in extension XINERAMA
+Initializing built-in extension COMPOSITE
+Initializing built-in extension VNC-EXTENSION
+Initializing built-in extension GLX
------- Comment #9 From cendio 2013-05-30 16:52:02 -------
(In reply to comment #8)
> There's some difference in which extensions we and RHEL uses:
> 
> -Initializing built-in extension VNC
> +Initializing built-in extension XINERAMA
> +Initializing built-in extension COMPOSITE
> +Initializing built-in extension VNC-EXTENSION
> +Initializing built-in extension GLX

This is not the problem. After building our new server with:

--disable-xinerama --disable-composite

...the list of extensions are exactly the same, yet the problem occurs in our
server but not in the CentOS one.
------- Comment #10 From cendio 2013-06-18 20:54:47 -------
(In reply to comment #7)
> Also works in Fedora 18's Xvnc.
> 
> Oddly enough, it is still broken even if I use Fedora's Xorg source, _and_
> Fedora's build environment.
> 
> No idea why their version works at this point.

Found the difference. The bug is triggered by our CFLAGS containing -O3. Fedora
uses -O2.
------- Comment #11 From cendio 2013-06-19 10:31:39 -------
Isolated the problem to the mi directory. Building miarc.c with O2 instead of
O3 is required but not sufficient for correct behaviour. Apparently this is a
GCC bug:

https://bugs.freedesktop.org/show_bug.cgi?id=47559
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53083

That last bug is still open. In the GCC bugzilla, there are a lot of similar
bugs.
------- Comment #12 From cendio 2013-06-19 10:50:56 -------
Workaround in 27538.

Added bug 4711 for tracking the actual GCC problem.
------- Comment #13 From cendio 2013-06-24 13:24:57 -------
Problem is reproducible with 4.1.0 build 3977 using lollipop attachment, but
after upgrading to build 3993 it works like a charm.