Bug 4539 - Program "xfig" gives strange graphic artifacts in a ThinLinc session
Summary: Program "xfig" gives strange graphic artifacts in a ThinLinc session
Status: CLOSED FIXED
Alias: None
Product: ThinLinc
Classification: Unclassified
Component: VNC (show other bugs)
Version: trunk
Hardware: PC Unknown
: P2 Normal
Target Milestone: 4.1.0
Assignee: Peter Åstrand
URL:
Keywords: hean01_tester
Depends on:
Blocks: 4711
  Show dependency treegraph
 
Reported: 2013-02-11 14:22 CET by Aaron Sowry
Modified: 2013-06-24 13:24 CEST (History)
0 users

See Also:
Acceptance Criteria:


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

Description Aaron Sowry cendio 2013-02-11 14:22:39 CET
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 Peter Åstrand cendio 2013-02-28 11:32:15 CET
Created attachment 466 [details]
xfig.png
Comment 2 Peter Åstrand cendio 2013-02-28 12:38:52 CET
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 Peter Åstrand cendio 2013-02-28 16:20:46 CET
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 Peter Åstrand cendio 2013-03-04 09:43:36 CET
Note: This is a Xserver problem; not a VNC one. The artefacts are visible even with a "xwd" dump.
Comment 5 Pierre Ossman cendio 2013-04-16 16:29:47 CEST
Problem remains in Xorg 1.14.
Comment 6 Peter Åstrand cendio 2013-04-22 09:37:07 CEST
Created attachment 473 [details]
lollipop-u.fig
Comment 7 Pierre Ossman cendio 2013-04-22 11:29:30 CEST
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 Peter Åstrand cendio 2013-04-22 12:10:44 CEST
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 Peter Åstrand cendio 2013-05-30 16:52:02 CEST
(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 Peter Åstrand cendio 2013-06-18 20:54:47 CEST
(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 Peter Åstrand cendio 2013-06-19 10:31:39 CEST
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 Peter Åstrand cendio 2013-06-19 10:50:56 CEST
Workaround in 27538.

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

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