[Bug 1929790] tigervnc debdiff (hirsute)

bugproxy 1929790 at bugs.launchpad.net
Mon Sep 20 19:08:14 UTC 2021


Default Comment by Bridge

** Attachment added: "tigervnc debdiff (hirsute)"
   https://bugs.launchpad.net/bugs/1929790/+attachment/5526555/+files/debdiff_lp1929790_tigervnc_hirsute.patch

-- 
You received this bug notification because you are a member of Ubuntu
Sponsors Team, which is subscribed to the bug report.
https://bugs.launchpad.net/bugs/1929790

Title:
  Request to backport fix for endianness issue in TigerVNC vncviewer

Status in Ubuntu on IBM z Systems:
  In Progress
Status in tigervnc package in Ubuntu:
  In Progress
Status in tigervnc source package in Hirsute:
  In Progress
Status in tigervnc source package in Impish:
  In Progress

Bug description:
  SRU Justification:
  ==================

  [Impact]

   * TigerVNC 1.11.0 contains a (pixel order) regression that causes
     vncviewer to display incorrect colors when vncviewer and X11 server
     use different endianness
     (e.g. when using X11 forwarding via SSH between an amd64 desktop
      and a Linux on s390x).

   * The regression was originally reported in github issue
     https://github.com/TigerVNC/tigervnc/issues/1073
     and fixed in github pull request
     https://github.com/TigerVNC/tigervnc/pull/1084

   * The issue got fixed by a respin of the
     ARGB runtime XImage byteorder selection.

  [Test Plan]

   * Setup two systems with different endianness, ideally:
     a (little endian) Ubuntu (Desktop) system (amd64) and
     a (big endian) Ubuntu (Server) system (s390x)

   * Install tigervnc-standalone-server and tigervnc-xorg-extension on the s390x
     and tigervnc-vieweron the amd64 system (incl. all dependencies).

   * now start the server with: vncserver

   * run the client: xtigervncviewer <server-IP>:1

   * detailed instructions how to reproduce the bug

   * The issue results in the display of wrong colors, 'similar' to:
     https://github.com/TigerVNC/tigervnc/issues/738

   * Another (regression) test will be using both,
     tigervnc server and client, on amd64 only.

  [Where problems could occur]

   * An onerousness patch would maybe not solve the endian problem
     and wrong colors (maybe different) still exist,

   * or in worst case it may have an impact on system combinations
     that use the same endianness.

   * The latter one is very unlikely, since there is only line 126
     that enters to code that handles the endianness.

   * And the fix here is a respin of the original runtime ARGB
     selection pull request, hence one that worked already before.

   * And the changes are very limited and only cover 3 lines
     of a single if/else statement in vncviewer/Surface_X11.cxx

  [Other Info]

   * The reported issue is a regression that got (upstream) introduced
  into 1.10.

   * It is fixed be code that is known to work and that was tested on different
     platforms.

   * The patch is upstream accepted with v1.11.90 since Aug 28, 2020,

   * hence it's highly like no longer needed once Debian/Ubuntu pick up
     the next upstream version, since it's fixed with > 1.10.

   * Patched tigervnc versions are available for impish and hirsute via the PPA:
     https://launchpad.net/~fheimes/+archive/ubuntu/lp1929790

   * And the issue was in detail discussed upstream at:
     https://github.com/TigerVNC/tigervnc/issues/1073
     https://github.com/TigerVNC/tigervnc/pull/1084

  __________

  ---Problem Description---
  TigerVNC 1.11.0 contains a regression that causes vncviewer to display
  incorrect colors when vncviewer and X11 server use different endianness (e.g.,
  when using X11 forwarding via SSH between an x86-64 desktop and a Linux system
  on s390x). The regression was originally reported in github issue
  https://github.com/TigerVNC/tigervnc/issues/1073 and fixed in github pull
  request https://github.com/TigerVNC/tigervnc/pull/1084

  The regression caused vncviewer to always use the system byte order for pixel
  values instead of the byte order required by the X11 display. With the fix,
  vncviewer queries the X11 display for the required byte order.

  As of now, the fix has not made it into a release yet. Please consider
  backporting the fix (upstream commit 7ab92639848). I confirmed that this commit
  cleanly applies on top of release 1.11.0 and fixes the regression.

  ---uname output---
  Linux s390x

  Machine Type = x15

  ---Debugger---
  A debugger is not configured

  ---Steps to Reproduce---
   See also https://github.com/TigerVNC/tigervnc/issues/1252

  - From a Linux x86 system, connect to a Linux system on s390x via SSH with X forwarding
  - Start a Xvnc session on that Linux system

  tigervncserver :0 -geometry 800x600 -depth 32

  - Start vncviewer on the same Linux system

  xtigervncviewer :0

  - On vncviewer's window on your origin X session, observe incorrect colors.
  - Optionally, start X11 programs such as xlogo, xclock, or xeyes to make the problem obvious
  - Optionally, connect to the vnc session directly (i.e., with a vnc client on the origin system) to compare

  Userspace tool common name: vncviewer

  The userspace tool has the following bit modes: 64-bit

  Userspace rpm: tigervnc-viewer

  Userspace tool obtained from project website:  na

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu-z-systems/+bug/1929790/+subscriptions




More information about the Ubuntu-sponsors mailing list